diff --git a/docs/provider-list.md b/docs/provider-list.md
index 1b60b8d55..34e7fe222 100644
--- a/docs/provider-list.md
+++ b/docs/provider-list.md
@@ -74,16 +74,38 @@ Maintainers of contributed providers:
We have received requests for the following providers. If you would like to contribute
code to support this provider, please re-open the issue. We'd be glad to help in any way.
-
- - AXFR/DDNS (#259)
- - Azure (#42)
- - ClouDNS (#114)
- - Dyn (#61)
- - Gandi (DNS works. Request is to add Registrar support) (#87)
- - Gandi LIVEDNS) (#266)
- - GoDaddy (#145)
- - Hurricane Electric (dns.he.net) (#118)
- - INWX (#254)
- - NameSilo (#220)
- - OVH (#143)
+
+
+### In progress providers
+
+These requests have *open* issues, which indicates somebody is actively working on it. Feel free to follow the issue, or pitch in if you think you can help.
+
+
+
+### Providers with open PRs
+
+These providers have an open pr with (potentially) working code. They may be ready to merge, or may have blockers. See issue and pr for details.
+
+
+
+
\ No newline at end of file
diff --git a/providers/route53/route53Provider.go b/providers/route53/route53Provider.go
index 1a2b91bdf..470740fd8 100644
--- a/providers/route53/route53Provider.go
+++ b/providers/route53/route53Provider.go
@@ -13,7 +13,6 @@ import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/session"
- "github.com/aws/aws-sdk-go/private/waiter"
r53 "github.com/aws/aws-sdk-go/service/route53"
r53d "github.com/aws/aws-sdk-go/service/route53domains"
"github.com/pkg/errors"
@@ -297,12 +296,8 @@ func (r *route53Provider) GetRegistrarCorrections(dc *models.DomainConfig) ([]*m
{
Msg: fmt.Sprintf("Update nameservers %s -> %s", actual, expected),
F: func() error {
- operationId, err := r.updateRegistrarNameservers(dc.Name, expectedSet)
- if err != nil {
- return err
- }
-
- return r.waitUntilNameserversUpdate(operationId)
+ _, err := r.updateRegistrarNameservers(dc.Name, expectedSet)
+ return err
},
},
}, nil
@@ -391,31 +386,3 @@ func (r *route53Provider) EnsureDomainExists(domain string) error {
return err
}
-
-func (r *route53Provider) waitUntilNameserversUpdate(operationId *string) error {
- fmt.Print("Waiting for registrar update to complete...")
-
- waiterCfg := waiter.Config{
- Operation: "GetOperationDetail",
- Delay: 30,
- MaxAttempts: 10,
- Acceptors: []waiter.WaitAcceptor{
- {
- State: "success",
- Matcher: "path",
- Argument: "Status",
- Expected: "SUCCESSFUL",
- },
- },
- }
-
- w := waiter.Waiter{
- Client: r.registrar,
- Input: &r53d.GetOperationDetailInput{
- OperationId: operationId,
- },
- Config: waiterCfg,
- }
-
- return w.Wait()
-}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/copy.go b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/copy.go
index 8429470b9..1a3d106d5 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/copy.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/copy.go
@@ -3,6 +3,7 @@ package awsutil
import (
"io"
"reflect"
+ "time"
)
// Copy deeply copies a src structure to dst. Useful for copying request and
@@ -49,7 +50,14 @@ func rcopy(dst, src reflect.Value, root bool) {
} else {
e := src.Type().Elem()
if dst.CanSet() && !src.IsNil() {
- dst.Set(reflect.New(e))
+ if _, ok := src.Interface().(*time.Time); !ok {
+ dst.Set(reflect.New(e))
+ } else {
+ tempValue := reflect.New(e)
+ tempValue.Elem().Set(src.Elem())
+ // Sets time.Time's unexported values
+ dst.Set(tempValue)
+ }
}
if src.Elem().IsValid() {
// Keep the current root state since the depth hasn't changed
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/path_value.go b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/path_value.go
index 4d2a01e8c..11c52c389 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/path_value.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/path_value.go
@@ -106,8 +106,8 @@ func rValuesAtPath(v interface{}, path string, createPath, caseSensitive, nilTer
if indexStar || index != nil {
nextvals = []reflect.Value{}
- for _, value := range values {
- value := reflect.Indirect(value)
+ for _, valItem := range values {
+ value := reflect.Indirect(valItem)
if value.Kind() != reflect.Slice {
continue
}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/prettify.go b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/prettify.go
index fc38172fe..710eb432f 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/prettify.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/prettify.go
@@ -61,6 +61,12 @@ func prettify(v reflect.Value, indent int, buf *bytes.Buffer) {
buf.WriteString("\n" + strings.Repeat(" ", indent) + "}")
case reflect.Slice:
+ strtype := v.Type().String()
+ if strtype == "[]uint8" {
+ fmt.Fprintf(buf, " len %d", v.Len())
+ break
+ }
+
nl, id, id2 := "", "", ""
if v.Len() > 3 {
nl, id, id2 = "\n", strings.Repeat(" ", indent), strings.Repeat(" ", indent+2)
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/client/client.go b/vendor/github.com/aws/aws-sdk-go/aws/client/client.go
index c8d0564d8..788fe6e27 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/client/client.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/client/client.go
@@ -2,8 +2,6 @@ package client
import (
"fmt"
- "io/ioutil"
- "net/http/httputil"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/client/metadata"
@@ -12,9 +10,11 @@ import (
// A Config provides configuration to a service client instance.
type Config struct {
- Config *aws.Config
- Handlers request.Handlers
- Endpoint, SigningRegion string
+ Config *aws.Config
+ Handlers request.Handlers
+ Endpoint string
+ SigningRegion string
+ SigningName string
}
// ConfigProvider provides a generic way for a service client to receive
@@ -23,6 +23,13 @@ type ConfigProvider interface {
ClientConfig(serviceName string, cfgs ...*aws.Config) Config
}
+// ConfigNoResolveEndpointProvider same as ConfigProvider except it will not
+// resolve the endpoint automatically. The service client's endpoint must be
+// provided via the aws.Config.Endpoint field.
+type ConfigNoResolveEndpointProvider interface {
+ ClientConfigNoResolveEndpoint(cfgs ...*aws.Config) Config
+}
+
// A Client implements the base client request and response handling
// used by all service clients.
type Client struct {
@@ -38,7 +45,7 @@ func New(cfg aws.Config, info metadata.ClientInfo, handlers request.Handlers, op
svc := &Client{
Config: cfg,
ClientInfo: info,
- Handlers: handlers,
+ Handlers: handlers.Copy(),
}
switch retryer, ok := cfg.Retryer.(request.Retryer); {
@@ -78,43 +85,6 @@ func (c *Client) AddDebugHandlers() {
return
}
- c.Handlers.Send.PushFront(logRequest)
- c.Handlers.Send.PushBack(logResponse)
-}
-
-const logReqMsg = `DEBUG: Request %s/%s Details:
----[ REQUEST POST-SIGN ]-----------------------------
-%s
------------------------------------------------------`
-
-func logRequest(r *request.Request) {
- logBody := r.Config.LogLevel.Matches(aws.LogDebugWithHTTPBody)
- dumpedBody, _ := httputil.DumpRequestOut(r.HTTPRequest, logBody)
-
- if logBody {
- // Reset the request body because dumpRequest will re-wrap the r.HTTPRequest's
- // Body as a NoOpCloser and will not be reset after read by the HTTP
- // client reader.
- r.Body.Seek(r.BodyStart, 0)
- r.HTTPRequest.Body = ioutil.NopCloser(r.Body)
- }
-
- r.Config.Logger.Log(fmt.Sprintf(logReqMsg, r.ClientInfo.ServiceName, r.Operation.Name, string(dumpedBody)))
-}
-
-const logRespMsg = `DEBUG: Response %s/%s Details:
----[ RESPONSE ]--------------------------------------
-%s
------------------------------------------------------`
-
-func logResponse(r *request.Request) {
- var msg = "no response data"
- if r.HTTPResponse != nil {
- logBody := r.Config.LogLevel.Matches(aws.LogDebugWithHTTPBody)
- dumpedBody, _ := httputil.DumpResponse(r.HTTPResponse, logBody)
- msg = string(dumpedBody)
- } else if r.Error != nil {
- msg = r.Error.Error()
- }
- r.Config.Logger.Log(fmt.Sprintf(logRespMsg, r.ClientInfo.ServiceName, r.Operation.Name, msg))
+ c.Handlers.Send.PushFrontNamed(request.NamedHandler{Name: "awssdk.client.LogRequest", Fn: logRequest})
+ c.Handlers.Send.PushBackNamed(request.NamedHandler{Name: "awssdk.client.LogResponse", Fn: logResponse})
}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go b/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go
index 43a3676b7..c31cb395b 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go
@@ -2,6 +2,7 @@ package client
import (
"math/rand"
+ "strconv"
"sync"
"time"
@@ -15,11 +16,11 @@ import (
// the MaxRetries method:
//
// type retryer struct {
-// service.DefaultRetryer
+// client.DefaultRetryer
// }
//
// // This implementation always has 100 max retries
-// func (d retryer) MaxRetries() uint { return 100 }
+// func (d retryer) MaxRetries() int { return 100 }
type DefaultRetryer struct {
NumMaxRetries int
}
@@ -38,6 +39,10 @@ func (d DefaultRetryer) RetryRules(r *request.Request) time.Duration {
minTime := 30
throttle := d.shouldThrottle(r)
if throttle {
+ if delay, ok := getRetryDelay(r); ok {
+ return delay
+ }
+
minTime = 500
}
@@ -54,6 +59,12 @@ func (d DefaultRetryer) RetryRules(r *request.Request) time.Duration {
// ShouldRetry returns true if the request should be retried.
func (d DefaultRetryer) ShouldRetry(r *request.Request) bool {
+ // If one of the other handlers already set the retry state
+ // we don't want to override it based on the service's state
+ if r.Retryable != nil {
+ return *r.Retryable
+ }
+
if r.HTTPResponse.StatusCode >= 500 {
return true
}
@@ -62,12 +73,49 @@ func (d DefaultRetryer) ShouldRetry(r *request.Request) bool {
// ShouldThrottle returns true if the request should be throttled.
func (d DefaultRetryer) shouldThrottle(r *request.Request) bool {
- if r.HTTPResponse.StatusCode == 502 ||
- r.HTTPResponse.StatusCode == 503 ||
- r.HTTPResponse.StatusCode == 504 {
- return true
+ switch r.HTTPResponse.StatusCode {
+ case 429:
+ case 502:
+ case 503:
+ case 504:
+ default:
+ return r.IsErrorThrottle()
}
- return r.IsErrorThrottle()
+
+ return true
+}
+
+// This will look in the Retry-After header, RFC 7231, for how long
+// it will wait before attempting another request
+func getRetryDelay(r *request.Request) (time.Duration, bool) {
+ if !canUseRetryAfterHeader(r) {
+ return 0, false
+ }
+
+ delayStr := r.HTTPResponse.Header.Get("Retry-After")
+ if len(delayStr) == 0 {
+ return 0, false
+ }
+
+ delay, err := strconv.Atoi(delayStr)
+ if err != nil {
+ return 0, false
+ }
+
+ return time.Duration(delay) * time.Second, true
+}
+
+// Will look at the status code to see if the retry header pertains to
+// the status code.
+func canUseRetryAfterHeader(r *request.Request) bool {
+ switch r.HTTPResponse.StatusCode {
+ case 429:
+ case 503:
+ default:
+ return false
+ }
+
+ return true
}
// lockedSource is a thread-safe implementation of rand.Source
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/client/logger.go b/vendor/github.com/aws/aws-sdk-go/aws/client/logger.go
new file mode 100644
index 000000000..1f39c91f2
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/client/logger.go
@@ -0,0 +1,108 @@
+package client
+
+import (
+ "bytes"
+ "fmt"
+ "io"
+ "io/ioutil"
+ "net/http/httputil"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/request"
+)
+
+const logReqMsg = `DEBUG: Request %s/%s Details:
+---[ REQUEST POST-SIGN ]-----------------------------
+%s
+-----------------------------------------------------`
+
+const logReqErrMsg = `DEBUG ERROR: Request %s/%s:
+---[ REQUEST DUMP ERROR ]-----------------------------
+%s
+------------------------------------------------------`
+
+type logWriter struct {
+ // Logger is what we will use to log the payload of a response.
+ Logger aws.Logger
+ // buf stores the contents of what has been read
+ buf *bytes.Buffer
+}
+
+func (logger *logWriter) Write(b []byte) (int, error) {
+ return logger.buf.Write(b)
+}
+
+type teeReaderCloser struct {
+ // io.Reader will be a tee reader that is used during logging.
+ // This structure will read from a body and write the contents to a logger.
+ io.Reader
+ // Source is used just to close when we are done reading.
+ Source io.ReadCloser
+}
+
+func (reader *teeReaderCloser) Close() error {
+ return reader.Source.Close()
+}
+
+func logRequest(r *request.Request) {
+ logBody := r.Config.LogLevel.Matches(aws.LogDebugWithHTTPBody)
+ dumpedBody, err := httputil.DumpRequestOut(r.HTTPRequest, logBody)
+ if err != nil {
+ r.Config.Logger.Log(fmt.Sprintf(logReqErrMsg, r.ClientInfo.ServiceName, r.Operation.Name, err))
+ return
+ }
+
+ if logBody {
+ // Reset the request body because dumpRequest will re-wrap the r.HTTPRequest's
+ // Body as a NoOpCloser and will not be reset after read by the HTTP
+ // client reader.
+ r.ResetBody()
+ }
+
+ r.Config.Logger.Log(fmt.Sprintf(logReqMsg, r.ClientInfo.ServiceName, r.Operation.Name, string(dumpedBody)))
+}
+
+const logRespMsg = `DEBUG: Response %s/%s Details:
+---[ RESPONSE ]--------------------------------------
+%s
+-----------------------------------------------------`
+
+const logRespErrMsg = `DEBUG ERROR: Response %s/%s:
+---[ RESPONSE DUMP ERROR ]-----------------------------
+%s
+-----------------------------------------------------`
+
+func logResponse(r *request.Request) {
+ lw := &logWriter{r.Config.Logger, bytes.NewBuffer(nil)}
+ r.HTTPResponse.Body = &teeReaderCloser{
+ Reader: io.TeeReader(r.HTTPResponse.Body, lw),
+ Source: r.HTTPResponse.Body,
+ }
+
+ handlerFn := func(req *request.Request) {
+ body, err := httputil.DumpResponse(req.HTTPResponse, false)
+ if err != nil {
+ lw.Logger.Log(fmt.Sprintf(logRespErrMsg, req.ClientInfo.ServiceName, req.Operation.Name, err))
+ return
+ }
+
+ b, err := ioutil.ReadAll(lw.buf)
+ if err != nil {
+ lw.Logger.Log(fmt.Sprintf(logRespErrMsg, req.ClientInfo.ServiceName, req.Operation.Name, err))
+ return
+ }
+ lw.Logger.Log(fmt.Sprintf(logRespMsg, req.ClientInfo.ServiceName, req.Operation.Name, string(body)))
+ if req.Config.LogLevel.Matches(aws.LogDebugWithHTTPBody) {
+ lw.Logger.Log(string(b))
+ }
+ }
+
+ const handlerName = "awsdk.client.LogResponse.ResponseBody"
+
+ r.Handlers.Unmarshal.SetBackNamed(request.NamedHandler{
+ Name: handlerName, Fn: handlerFn,
+ })
+ r.Handlers.UnmarshalError.SetBackNamed(request.NamedHandler{
+ Name: handlerName, Fn: handlerFn,
+ })
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/config.go b/vendor/github.com/aws/aws-sdk-go/aws/config.go
index fca922584..ae3a28696 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/config.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/config.go
@@ -5,6 +5,7 @@ import (
"time"
"github.com/aws/aws-sdk-go/aws/credentials"
+ "github.com/aws/aws-sdk-go/aws/endpoints"
)
// UseServiceDefaultRetries instructs the config to use the service's own
@@ -21,9 +22,9 @@ type RequestRetryer interface{}
//
// // Create Session with MaxRetry configuration to be shared by multiple
// // service clients.
-// sess, err := session.NewSession(&aws.Config{
+// sess := session.Must(session.NewSession(&aws.Config{
// MaxRetries: aws.Int(3),
-// })
+// }))
//
// // Create S3 service client with a specific Region.
// svc := s3.New(sess, &aws.Config{
@@ -48,6 +49,17 @@ type Config struct {
// endpoint for a client.
Endpoint *string
+ // The resolver to use for looking up endpoints for AWS service clients
+ // to use based on region.
+ EndpointResolver endpoints.Resolver
+
+ // EnforceShouldRetryCheck is used in the AfterRetryHandler to always call
+ // ShouldRetry regardless of whether or not if request.Retryable is set.
+ // This will utilize ShouldRetry method of custom retryers. If EnforceShouldRetryCheck
+ // is not set, then ShouldRetry will only be called if request.Retryable is nil.
+ // Proper handling of the request.Retryable field is important when setting this field.
+ EnforceShouldRetryCheck *bool
+
// The region to send requests to. This parameter is required and must
// be configured globally or on a per-client basis unless otherwise
// noted. A full list of regions is found in the "Regions and Endpoints"
@@ -83,7 +95,7 @@ type Config struct {
// recoverable failures.
//
// When nil or the value does not implement the request.Retryer interface,
- // the request.DefaultRetryer will be used.
+ // the client.DefaultRetryer will be used.
//
// When both Retryer and MaxRetries are non-nil, the former is used and
// the latter ignored.
@@ -137,9 +149,6 @@ type Config struct {
// accelerate enabled. If the bucket is not enabled for accelerate an error
// will be returned. The bucket name must be DNS compatible to also work
// with accelerate.
- //
- // Not compatible with UseDualStack requests will fail if both flags are
- // specified.
S3UseAccelerate *bool
// Set this to `true` to disable the EC2Metadata client from overriding the
@@ -152,7 +161,8 @@ type Config struct {
// the EC2Metadata overriding the timeout for default credentials chain.
//
// Example:
- // sess, err := session.NewSession(aws.NewConfig().WithEC2MetadataDiableTimeoutOverride(true))
+ // sess := session.Must(session.NewSession(aws.NewConfig()
+ // .WithEC2MetadataDiableTimeoutOverride(true)))
//
// svc := s3.New(sess)
//
@@ -172,7 +182,7 @@ type Config struct {
//
// Only supported with.
//
- // sess, err := session.NewSession()
+ // sess := session.Must(session.NewSession())
//
// svc := s3.New(sess, &aws.Config{
// UseDualStack: aws.Bool(true),
@@ -184,7 +194,26 @@ type Config struct {
// request delays. This value should only be used for testing. To adjust
// the delay of a request see the aws/client.DefaultRetryer and
// aws/request.Retryer.
+ //
+ // SleepDelay will prevent any Context from being used for canceling retry
+ // delay of an API operation. It is recommended to not use SleepDelay at all
+ // and specify a Retryer instead.
SleepDelay func(time.Duration)
+
+ // DisableRestProtocolURICleaning will not clean the URL path when making rest protocol requests.
+ // Will default to false. This would only be used for empty directory names in s3 requests.
+ //
+ // Example:
+ // sess := session.Must(session.NewSession(&aws.Config{
+ // DisableRestProtocolURICleaning: aws.Bool(true),
+ // }))
+ //
+ // svc := s3.New(sess)
+ // out, err := svc.GetObject(&s3.GetObjectInput {
+ // Bucket: aws.String("bucketname"),
+ // Key: aws.String("//foo//bar//moo"),
+ // })
+ DisableRestProtocolURICleaning *bool
}
// NewConfig returns a new Config pointer that can be chained with builder
@@ -192,9 +221,9 @@ type Config struct {
//
// // Create Session with MaxRetry configuration to be shared by multiple
// // service clients.
-// sess, err := session.NewSession(aws.NewConfig().
+// sess := session.Must(session.NewSession(aws.NewConfig().
// WithMaxRetries(3),
-// )
+// ))
//
// // Create S3 service client with a specific Region.
// svc := s3.New(sess, aws.NewConfig().
@@ -225,6 +254,13 @@ func (c *Config) WithEndpoint(endpoint string) *Config {
return c
}
+// WithEndpointResolver sets a config EndpointResolver value returning a
+// Config pointer for chaining.
+func (c *Config) WithEndpointResolver(resolver endpoints.Resolver) *Config {
+ c.EndpointResolver = resolver
+ return c
+}
+
// WithRegion sets a config Region value returning a Config pointer for
// chaining.
func (c *Config) WithRegion(region string) *Config {
@@ -347,6 +383,10 @@ func mergeInConfig(dst *Config, other *Config) {
dst.Endpoint = other.Endpoint
}
+ if other.EndpointResolver != nil {
+ dst.EndpointResolver = other.EndpointResolver
+ }
+
if other.Region != nil {
dst.Region = other.Region
}
@@ -406,6 +446,14 @@ func mergeInConfig(dst *Config, other *Config) {
if other.SleepDelay != nil {
dst.SleepDelay = other.SleepDelay
}
+
+ if other.DisableRestProtocolURICleaning != nil {
+ dst.DisableRestProtocolURICleaning = other.DisableRestProtocolURICleaning
+ }
+
+ if other.EnforceShouldRetryCheck != nil {
+ dst.EnforceShouldRetryCheck = other.EnforceShouldRetryCheck
+ }
}
// Copy will return a shallow copy of the Config object. If any additional
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/context.go b/vendor/github.com/aws/aws-sdk-go/aws/context.go
new file mode 100644
index 000000000..79f426853
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/context.go
@@ -0,0 +1,71 @@
+package aws
+
+import (
+ "time"
+)
+
+// Context is an copy of the Go v1.7 stdlib's context.Context interface.
+// It is represented as a SDK interface to enable you to use the "WithContext"
+// API methods with Go v1.6 and a Context type such as golang.org/x/net/context.
+//
+// See https://golang.org/pkg/context on how to use contexts.
+type Context interface {
+ // Deadline returns the time when work done on behalf of this context
+ // should be canceled. Deadline returns ok==false when no deadline is
+ // set. Successive calls to Deadline return the same results.
+ Deadline() (deadline time.Time, ok bool)
+
+ // Done returns a channel that's closed when work done on behalf of this
+ // context should be canceled. Done may return nil if this context can
+ // never be canceled. Successive calls to Done return the same value.
+ Done() <-chan struct{}
+
+ // Err returns a non-nil error value after Done is closed. Err returns
+ // Canceled if the context was canceled or DeadlineExceeded if the
+ // context's deadline passed. No other values for Err are defined.
+ // After Done is closed, successive calls to Err return the same value.
+ Err() error
+
+ // Value returns the value associated with this context for key, or nil
+ // if no value is associated with key. Successive calls to Value with
+ // the same key returns the same result.
+ //
+ // Use context values only for request-scoped data that transits
+ // processes and API boundaries, not for passing optional parameters to
+ // functions.
+ Value(key interface{}) interface{}
+}
+
+// BackgroundContext returns a context that will never be canceled, has no
+// values, and no deadline. This context is used by the SDK to provide
+// backwards compatibility with non-context API operations and functionality.
+//
+// Go 1.6 and before:
+// This context function is equivalent to context.Background in the Go stdlib.
+//
+// Go 1.7 and later:
+// The context returned will be the value returned by context.Background()
+//
+// See https://golang.org/pkg/context for more information on Contexts.
+func BackgroundContext() Context {
+ return backgroundCtx
+}
+
+// SleepWithContext will wait for the timer duration to expire, or the context
+// is canceled. Which ever happens first. If the context is canceled the Context's
+// error will be returned.
+//
+// Expects Context to always return a non-nil error if the Done channel is closed.
+func SleepWithContext(ctx Context, dur time.Duration) error {
+ t := time.NewTimer(dur)
+ defer t.Stop()
+
+ select {
+ case <-t.C:
+ break
+ case <-ctx.Done():
+ return ctx.Err()
+ }
+
+ return nil
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go b/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go
new file mode 100644
index 000000000..8fdda5303
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go
@@ -0,0 +1,41 @@
+// +build !go1.7
+
+package aws
+
+import "time"
+
+// An emptyCtx is a copy of the Go 1.7 context.emptyCtx type. This is copied to
+// provide a 1.6 and 1.5 safe version of context that is compatible with Go
+// 1.7's Context.
+//
+// An emptyCtx is never canceled, has no values, and has no deadline. It is not
+// struct{}, since vars of this type must have distinct addresses.
+type emptyCtx int
+
+func (*emptyCtx) Deadline() (deadline time.Time, ok bool) {
+ return
+}
+
+func (*emptyCtx) Done() <-chan struct{} {
+ return nil
+}
+
+func (*emptyCtx) Err() error {
+ return nil
+}
+
+func (*emptyCtx) Value(key interface{}) interface{} {
+ return nil
+}
+
+func (e *emptyCtx) String() string {
+ switch e {
+ case backgroundCtx:
+ return "aws.BackgroundContext"
+ }
+ return "unknown empty Context"
+}
+
+var (
+ backgroundCtx = new(emptyCtx)
+)
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/context_1_7.go b/vendor/github.com/aws/aws-sdk-go/aws/context_1_7.go
new file mode 100644
index 000000000..064f75c92
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/context_1_7.go
@@ -0,0 +1,9 @@
+// +build go1.7
+
+package aws
+
+import "context"
+
+var (
+ backgroundCtx = context.Background()
+)
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/convert_types.go b/vendor/github.com/aws/aws-sdk-go/aws/convert_types.go
index 3b73a7da7..ff5d58e06 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/convert_types.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/convert_types.go
@@ -311,6 +311,24 @@ func TimeValue(v *time.Time) time.Time {
return time.Time{}
}
+// SecondsTimeValue converts an int64 pointer to a time.Time value
+// representing seconds since Epoch or time.Time{} if the pointer is nil.
+func SecondsTimeValue(v *int64) time.Time {
+ if v != nil {
+ return time.Unix((*v / 1000), 0)
+ }
+ return time.Time{}
+}
+
+// MillisecondsTimeValue converts an int64 pointer to a time.Time value
+// representing milliseconds sinch Epoch or time.Time{} if the pointer is nil.
+func MillisecondsTimeValue(v *int64) time.Time {
+ if v != nil {
+ return time.Unix(0, (*v * 1000000))
+ }
+ return time.Time{}
+}
+
// TimeUnixMilli returns a Unix timestamp in milliseconds from "January 1, 1970 UTC".
// The result is undefined if the Unix time cannot be represented by an int64.
// Which includes calling TimeUnixMilli on a zero Time is undefined.
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go
index 8456e29b5..495e3ef62 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go
@@ -10,9 +10,11 @@ import (
"regexp"
"runtime"
"strconv"
+ "time"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awserr"
+ "github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/request"
)
@@ -25,7 +27,7 @@ type lener interface {
// or will use the HTTPRequest.Header's "Content-Length" if defined. If unable
// to determine request body length and no "Content-Length" was specified it will panic.
//
-// The Content-Length will only be aded to the request if the length of the body
+// The Content-Length will only be added to the request if the length of the body
// is greater than 0. If the body is empty or the current `Content-Length`
// header is <= 0, the header will also be stripped.
var BuildContentLengthHandler = request.NamedHandler{Name: "core.BuildContentLengthHandler", Fn: func(r *request.Request) {
@@ -67,45 +69,124 @@ var SDKVersionUserAgentHandler = request.NamedHandler{
var reStatusCode = regexp.MustCompile(`^(\d{3})`)
+// ValidateReqSigHandler is a request handler to ensure that the request's
+// signature doesn't expire before it is sent. This can happen when a request
+// is built and signed significantly before it is sent. Or significant delays
+// occur when retrying requests that would cause the signature to expire.
+var ValidateReqSigHandler = request.NamedHandler{
+ Name: "core.ValidateReqSigHandler",
+ Fn: func(r *request.Request) {
+ // Unsigned requests are not signed
+ if r.Config.Credentials == credentials.AnonymousCredentials {
+ return
+ }
+
+ signedTime := r.Time
+ if !r.LastSignedAt.IsZero() {
+ signedTime = r.LastSignedAt
+ }
+
+ // 10 minutes to allow for some clock skew/delays in transmission.
+ // Would be improved with aws/aws-sdk-go#423
+ if signedTime.Add(10 * time.Minute).After(time.Now()) {
+ return
+ }
+
+ fmt.Println("request expired, resigning")
+ r.Sign()
+ },
+}
+
// SendHandler is a request handler to send service request using HTTP client.
-var SendHandler = request.NamedHandler{Name: "core.SendHandler", Fn: func(r *request.Request) {
- var err error
- r.HTTPResponse, err = r.Config.HTTPClient.Do(r.HTTPRequest)
- if err != nil {
- // Prevent leaking if an HTTPResponse was returned. Clean up
- // the body.
- if r.HTTPResponse != nil {
- r.HTTPResponse.Body.Close()
+var SendHandler = request.NamedHandler{
+ Name: "core.SendHandler",
+ Fn: func(r *request.Request) {
+ sender := sendFollowRedirects
+ if r.DisableFollowRedirects {
+ sender = sendWithoutFollowRedirects
}
- // Capture the case where url.Error is returned for error processing
- // response. e.g. 301 without location header comes back as string
- // error and r.HTTPResponse is nil. Other url redirect errors will
- // comeback in a similar method.
- if e, ok := err.(*url.Error); ok && e.Err != nil {
- if s := reStatusCode.FindStringSubmatch(e.Err.Error()); s != nil {
- code, _ := strconv.ParseInt(s[1], 10, 64)
- r.HTTPResponse = &http.Response{
- StatusCode: int(code),
- Status: http.StatusText(int(code)),
- Body: ioutil.NopCloser(bytes.NewReader([]byte{})),
- }
- return
- }
+
+ if request.NoBody == r.HTTPRequest.Body {
+ // Strip off the request body if the NoBody reader was used as a
+ // place holder for a request body. This prevents the SDK from
+ // making requests with a request body when it would be invalid
+ // to do so.
+ //
+ // Use a shallow copy of the http.Request to ensure the race condition
+ // of transport on Body will not trigger
+ reqOrig, reqCopy := r.HTTPRequest, *r.HTTPRequest
+ reqCopy.Body = nil
+ r.HTTPRequest = &reqCopy
+ defer func() {
+ r.HTTPRequest = reqOrig
+ }()
}
- if r.HTTPResponse == nil {
- // Add a dummy request response object to ensure the HTTPResponse
- // value is consistent.
+
+ var err error
+ r.HTTPResponse, err = sender(r)
+ if err != nil {
+ handleSendError(r, err)
+ }
+ },
+}
+
+func sendFollowRedirects(r *request.Request) (*http.Response, error) {
+ return r.Config.HTTPClient.Do(r.HTTPRequest)
+}
+
+func sendWithoutFollowRedirects(r *request.Request) (*http.Response, error) {
+ transport := r.Config.HTTPClient.Transport
+ if transport == nil {
+ transport = http.DefaultTransport
+ }
+
+ return transport.RoundTrip(r.HTTPRequest)
+}
+
+func handleSendError(r *request.Request, err error) {
+ // Prevent leaking if an HTTPResponse was returned. Clean up
+ // the body.
+ if r.HTTPResponse != nil {
+ r.HTTPResponse.Body.Close()
+ }
+ // Capture the case where url.Error is returned for error processing
+ // response. e.g. 301 without location header comes back as string
+ // error and r.HTTPResponse is nil. Other URL redirect errors will
+ // comeback in a similar method.
+ if e, ok := err.(*url.Error); ok && e.Err != nil {
+ if s := reStatusCode.FindStringSubmatch(e.Err.Error()); s != nil {
+ code, _ := strconv.ParseInt(s[1], 10, 64)
r.HTTPResponse = &http.Response{
- StatusCode: int(0),
- Status: http.StatusText(int(0)),
+ StatusCode: int(code),
+ Status: http.StatusText(int(code)),
Body: ioutil.NopCloser(bytes.NewReader([]byte{})),
}
+ return
}
- // Catch all other request errors.
- r.Error = awserr.New("RequestError", "send request failed", err)
- r.Retryable = aws.Bool(true) // network errors are retryable
}
-}}
+ if r.HTTPResponse == nil {
+ // Add a dummy request response object to ensure the HTTPResponse
+ // value is consistent.
+ r.HTTPResponse = &http.Response{
+ StatusCode: int(0),
+ Status: http.StatusText(int(0)),
+ Body: ioutil.NopCloser(bytes.NewReader([]byte{})),
+ }
+ }
+ // Catch all other request errors.
+ r.Error = awserr.New("RequestError", "send request failed", err)
+ r.Retryable = aws.Bool(true) // network errors are retryable
+
+ // Override the error with a context canceled error, if that was canceled.
+ ctx := r.Context()
+ select {
+ case <-ctx.Done():
+ r.Error = awserr.New(request.CanceledErrorCode,
+ "request context canceled", ctx.Err())
+ r.Retryable = aws.Bool(false)
+ default:
+ }
+}
// ValidateResponseHandler is a request handler to validate service response.
var ValidateResponseHandler = request.NamedHandler{Name: "core.ValidateResponseHandler", Fn: func(r *request.Request) {
@@ -120,13 +201,22 @@ var ValidateResponseHandler = request.NamedHandler{Name: "core.ValidateResponseH
var AfterRetryHandler = request.NamedHandler{Name: "core.AfterRetryHandler", Fn: func(r *request.Request) {
// If one of the other handlers already set the retry state
// we don't want to override it based on the service's state
- if r.Retryable == nil {
+ if r.Retryable == nil || aws.BoolValue(r.Config.EnforceShouldRetryCheck) {
r.Retryable = aws.Bool(r.ShouldRetry(r))
}
if r.WillRetry() {
r.RetryDelay = r.RetryRules(r)
- r.Config.SleepDelay(r.RetryDelay)
+
+ if sleepFn := r.Config.SleepDelay; sleepFn != nil {
+ // Support SleepDelay for backwards compatibility and testing
+ sleepFn(r.RetryDelay)
+ } else if err := aws.SleepWithContext(r.Context(), r.RetryDelay); err != nil {
+ r.Error = awserr.New(request.CanceledErrorCode,
+ "request context canceled", err)
+ r.Retryable = aws.Bool(false)
+ return
+ }
// when the expired token exception occurs the credentials
// need to be expired locally so that the next request to
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.go
index 857311f64..f298d6596 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.go
@@ -13,7 +13,7 @@ var (
//
// @readonly
ErrNoValidProvidersFoundInChain = awserr.New("NoCredentialProviders",
- `no valid providers in chain. Deprecated.
+ `no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors`,
nil)
)
@@ -34,21 +34,23 @@ var (
//
// Example of ChainProvider to be used with an EnvProvider and EC2RoleProvider.
// In this example EnvProvider will first check if any credentials are available
-// vai the environment variables. If there are none ChainProvider will check
+// via the environment variables. If there are none ChainProvider will check
// the next Provider in the list, EC2RoleProvider in this case. If EC2RoleProvider
// does not return any credentials ChainProvider will return the error
// ErrNoValidProvidersFoundInChain
//
-// creds := NewChainCredentials(
-// []Provider{
-// &EnvProvider{},
-// &EC2RoleProvider{
+// creds := credentials.NewChainCredentials(
+// []credentials.Provider{
+// &credentials.EnvProvider{},
+// &ec2rolecreds.EC2RoleProvider{
// Client: ec2metadata.New(sess),
// },
// })
//
// // Usage of ChainCredentials with aws.Config
-// svc := ec2.New(&aws.Config{Credentials: creds})
+// svc := ec2.New(session.Must(session.NewSession(&aws.Config{
+// Credentials: creds,
+// })))
//
type ChainProvider struct {
Providers []Provider
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go
index 7b8ebf5f9..42416fc2f 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go
@@ -14,7 +14,7 @@
//
// Example of using the environment variable credentials.
//
-// creds := NewEnvCredentials()
+// creds := credentials.NewEnvCredentials()
//
// // Retrieve the credentials value
// credValue, err := creds.Get()
@@ -26,7 +26,7 @@
// This may be helpful to proactively expire credentials and refresh them sooner
// than they would naturally expire on their own.
//
-// creds := NewCredentials(&EC2RoleProvider{})
+// creds := credentials.NewCredentials(&ec2rolecreds.EC2RoleProvider{})
// creds.Expire()
// credsValue, err := creds.Get()
// // New credentials will be retrieved instead of from cache.
@@ -43,7 +43,7 @@
// func (m *MyProvider) Retrieve() (Value, error) {...}
// func (m *MyProvider) IsExpired() bool {...}
//
-// creds := NewCredentials(&MyProvider{})
+// creds := credentials.NewCredentials(&MyProvider{})
// credValue, err := creds.Get()
//
package credentials
@@ -60,7 +60,9 @@ import (
// when making service API calls. For example, when accessing public
// s3 buckets.
//
-// svc := s3.New(&aws.Config{Credentials: AnonymousCredentials})
+// svc := s3.New(session.Must(session.NewSession(&aws.Config{
+// Credentials: credentials.AnonymousCredentials,
+// })))
// // Access public S3 buckets.
//
// @readonly
@@ -88,7 +90,7 @@ type Value struct {
// The Provider should not need to implement its own mutexes, because
// that will be managed by Credentials.
type Provider interface {
- // Refresh returns nil if it successfully retrieved the value.
+ // Retrieve returns nil if it successfully retrieved the value.
// Error is returned if the value were not obtainable, or empty.
Retrieve() (Value, error)
@@ -97,6 +99,27 @@ type Provider interface {
IsExpired() bool
}
+// An ErrorProvider is a stub credentials provider that always returns an error
+// this is used by the SDK when construction a known provider is not possible
+// due to an error.
+type ErrorProvider struct {
+ // The error to be returned from Retrieve
+ Err error
+
+ // The provider name to set on the Retrieved returned Value
+ ProviderName string
+}
+
+// Retrieve will always return the error that the ErrorProvider was created with.
+func (p ErrorProvider) Retrieve() (Value, error) {
+ return Value{ProviderName: p.ProviderName}, p.Err
+}
+
+// IsExpired will always return not expired.
+func (p ErrorProvider) IsExpired() bool {
+ return false
+}
+
// A Expiry provides shared expiration logic to be used by credentials
// providers to implement expiry functionality.
//
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.go
index aa9d689a0..c39749524 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.go
@@ -111,7 +111,7 @@ func (m *EC2RoleProvider) Retrieve() (credentials.Value, error) {
}, nil
}
-// A ec2RoleCredRespBody provides the shape for unmarshalling credential
+// A ec2RoleCredRespBody provides the shape for unmarshaling credential
// request responses.
type ec2RoleCredRespBody struct {
// Success State
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/env_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/env_provider.go
index 96655bc46..c14231a16 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/env_provider.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/env_provider.go
@@ -29,6 +29,7 @@ var (
// Environment variables used:
//
// * Access Key ID: AWS_ACCESS_KEY_ID or AWS_ACCESS_KEY
+//
// * Secret Access Key: AWS_SECRET_ACCESS_KEY or AWS_SECRET_KEY
type EnvProvider struct {
retrieved bool
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go
index 7fb7cbf0d..51e21e0f3 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go
@@ -3,11 +3,11 @@ package credentials
import (
"fmt"
"os"
- "path/filepath"
"github.com/go-ini/ini"
"github.com/aws/aws-sdk-go/aws/awserr"
+ "github.com/aws/aws-sdk-go/internal/shareddefaults"
)
// SharedCredsProviderName provides a name of SharedCreds provider
@@ -15,8 +15,6 @@ const SharedCredsProviderName = "SharedCredentialsProvider"
var (
// ErrSharedCredentialsHomeNotFound is emitted when the user directory cannot be found.
- //
- // @readonly
ErrSharedCredentialsHomeNotFound = awserr.New("UserHomeNotFound", "user home directory not found.", nil)
)
@@ -117,22 +115,23 @@ func loadProfile(filename, profile string) (Value, error) {
//
// Will return an error if the user's home directory path cannot be found.
func (p *SharedCredentialsProvider) filename() (string, error) {
- if p.Filename == "" {
- if p.Filename = os.Getenv("AWS_SHARED_CREDENTIALS_FILE"); p.Filename != "" {
- return p.Filename, nil
- }
-
- homeDir := os.Getenv("HOME") // *nix
- if homeDir == "" { // Windows
- homeDir = os.Getenv("USERPROFILE")
- }
- if homeDir == "" {
- return "", ErrSharedCredentialsHomeNotFound
- }
-
- p.Filename = filepath.Join(homeDir, ".aws", "credentials")
+ if len(p.Filename) != 0 {
+ return p.Filename, nil
}
+ if p.Filename = os.Getenv("AWS_SHARED_CREDENTIALS_FILE"); len(p.Filename) != 0 {
+ return p.Filename, nil
+ }
+
+ if home := shareddefaults.UserHomeDir(); len(home) == 0 {
+ // Backwards compatibility of home directly not found error being returned.
+ // This error is too verbose, failure when opening the file would of been
+ // a better error to return.
+ return "", ErrSharedCredentialsHomeNotFound
+ }
+
+ p.Filename = shareddefaults.SharedCredentialsFilename()
+
return p.Filename, nil
}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go
index 30c847ae2..4108e433e 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go
@@ -1,7 +1,81 @@
-// Package stscreds are credential Providers to retrieve STS AWS credentials.
-//
-// STS provides multiple ways to retrieve credentials which can be used when making
-// future AWS service API operation calls.
+/*
+Package stscreds are credential Providers to retrieve STS AWS credentials.
+
+STS provides multiple ways to retrieve credentials which can be used when making
+future AWS service API operation calls.
+
+The SDK will ensure that per instance of credentials.Credentials all requests
+to refresh the credentials will be synchronized. But, the SDK is unable to
+ensure synchronous usage of the AssumeRoleProvider if the value is shared
+between multiple Credentials, Sessions or service clients.
+
+Assume Role
+
+To assume an IAM role using STS with the SDK you can create a new Credentials
+with the SDKs's stscreds package.
+
+ // Initial credentials loaded from SDK's default credential chain. Such as
+ // the environment, shared credentials (~/.aws/credentials), or EC2 Instance
+ // Role. These credentials will be used to to make the STS Assume Role API.
+ sess := session.Must(session.NewSession())
+
+ // Create the credentials from AssumeRoleProvider to assume the role
+ // referenced by the "myRoleARN" ARN.
+ creds := stscreds.NewCredentials(sess, "myRoleArn")
+
+ // Create service client value configured for credentials
+ // from assumed role.
+ svc := s3.New(sess, &aws.Config{Credentials: creds})
+
+Assume Role with static MFA Token
+
+To assume an IAM role with a MFA token you can either specify a MFA token code
+directly or provide a function to prompt the user each time the credentials
+need to refresh the role's credentials. Specifying the TokenCode should be used
+for short lived operations that will not need to be refreshed, and when you do
+not want to have direct control over the user provides their MFA token.
+
+With TokenCode the AssumeRoleProvider will be not be able to refresh the role's
+credentials.
+
+ // Create the credentials from AssumeRoleProvider to assume the role
+ // referenced by the "myRoleARN" ARN using the MFA token code provided.
+ creds := stscreds.NewCredentials(sess, "myRoleArn", func(p *stscreds.AssumeRoleProvider) {
+ p.SerialNumber = aws.String("myTokenSerialNumber")
+ p.TokenCode = aws.String("00000000")
+ })
+
+ // Create service client value configured for credentials
+ // from assumed role.
+ svc := s3.New(sess, &aws.Config{Credentials: creds})
+
+Assume Role with MFA Token Provider
+
+To assume an IAM role with MFA for longer running tasks where the credentials
+may need to be refreshed setting the TokenProvider field of AssumeRoleProvider
+will allow the credential provider to prompt for new MFA token code when the
+role's credentials need to be refreshed.
+
+The StdinTokenProvider function is available to prompt on stdin to retrieve
+the MFA token code from the user. You can also implement custom prompts by
+satisfing the TokenProvider function signature.
+
+Using StdinTokenProvider with multiple AssumeRoleProviders, or Credentials will
+have undesirable results as the StdinTokenProvider will not be synchronized. A
+single Credentials with an AssumeRoleProvider can be shared safely.
+
+ // Create the credentials from AssumeRoleProvider to assume the role
+ // referenced by the "myRoleARN" ARN. Prompting for MFA token from stdin.
+ creds := stscreds.NewCredentials(sess, "myRoleArn", func(p *stscreds.AssumeRoleProvider) {
+ p.SerialNumber = aws.String("myTokenSerialNumber")
+ p.TokenProvider = stscreds.StdinTokenProvider
+ })
+
+ // Create service client value configured for credentials
+ // from assumed role.
+ svc := s3.New(sess, &aws.Config{Credentials: creds})
+
+*/
package stscreds
import (
@@ -9,11 +83,31 @@ import (
"time"
"github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/aws/client"
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/service/sts"
)
+// StdinTokenProvider will prompt on stdout and read from stdin for a string value.
+// An error is returned if reading from stdin fails.
+//
+// Use this function go read MFA tokens from stdin. The function makes no attempt
+// to make atomic prompts from stdin across multiple gorouties.
+//
+// Using StdinTokenProvider with multiple AssumeRoleProviders, or Credentials will
+// have undesirable results as the StdinTokenProvider will not be synchronized. A
+// single Credentials with an AssumeRoleProvider can be shared safely
+//
+// Will wait forever until something is provided on the stdin.
+func StdinTokenProvider() (string, error) {
+ var v string
+ fmt.Printf("Assume Role MFA token code: ")
+ _, err := fmt.Scanln(&v)
+
+ return v, err
+}
+
// ProviderName provides a name of AssumeRole provider
const ProviderName = "AssumeRoleProvider"
@@ -27,8 +121,15 @@ type AssumeRoler interface {
var DefaultDuration = time.Duration(15) * time.Minute
// AssumeRoleProvider retrieves temporary credentials from the STS service, and
-// keeps track of their expiration time. This provider must be used explicitly,
-// as it is not included in the credentials chain.
+// keeps track of their expiration time.
+//
+// This credential provider will be used by the SDKs default credential change
+// when shared configuration is enabled, and the shared config or shared credentials
+// file configure assume role. See Session docs for how to do this.
+//
+// AssumeRoleProvider does not provide any synchronization and it is not safe
+// to share this value across multiple Credentials, Sessions, or service clients
+// without also sharing the same Credentials instance.
type AssumeRoleProvider struct {
credentials.Expiry
@@ -65,8 +166,23 @@ type AssumeRoleProvider struct {
// assumed requires MFA (that is, if the policy includes a condition that tests
// for MFA). If the role being assumed requires MFA and if the TokenCode value
// is missing or expired, the AssumeRole call returns an "access denied" error.
+ //
+ // If SerialNumber is set and neither TokenCode nor TokenProvider are also
+ // set an error will be returned.
TokenCode *string
+ // Async method of providing MFA token code for assuming an IAM role with MFA.
+ // The value returned by the function will be used as the TokenCode in the Retrieve
+ // call. See StdinTokenProvider for a provider that prompts and reads from stdin.
+ //
+ // This token provider will be called when ever the assumed role's
+ // credentials need to be refreshed when SerialNumber is also set and
+ // TokenCode is not set.
+ //
+ // If both TokenCode and TokenProvider is set, TokenProvider will be used and
+ // TokenCode is ignored.
+ TokenProvider func() (string, error)
+
// ExpiryWindow will allow the credentials to trigger refreshing prior to
// the credentials actually expiring. This is beneficial so race conditions
// with expiring credentials do not cause request to fail unexpectedly
@@ -85,6 +201,10 @@ type AssumeRoleProvider struct {
//
// Takes a Config provider to create the STS client. The ConfigProvider is
// satisfied by the session.Session type.
+//
+// It is safe to share the returned Credentials with multiple Sessions and
+// service clients. All access to the credentials and refreshing them
+// will be synchronized.
func NewCredentials(c client.ConfigProvider, roleARN string, options ...func(*AssumeRoleProvider)) *credentials.Credentials {
p := &AssumeRoleProvider{
Client: sts.New(c),
@@ -103,7 +223,11 @@ func NewCredentials(c client.ConfigProvider, roleARN string, options ...func(*As
// AssumeRoleProvider. The credentials will expire every 15 minutes and the
// role will be named after a nanosecond timestamp of this operation.
//
-// Takes an AssumeRoler which can be satisfiede by the STS client.
+// Takes an AssumeRoler which can be satisfied by the STS client.
+//
+// It is safe to share the returned Credentials with multiple Sessions and
+// service clients. All access to the credentials and refreshing them
+// will be synchronized.
func NewCredentialsWithClient(svc AssumeRoler, roleARN string, options ...func(*AssumeRoleProvider)) *credentials.Credentials {
p := &AssumeRoleProvider{
Client: svc,
@@ -139,12 +263,25 @@ func (p *AssumeRoleProvider) Retrieve() (credentials.Value, error) {
if p.Policy != nil {
input.Policy = p.Policy
}
- if p.SerialNumber != nil && p.TokenCode != nil {
- input.SerialNumber = p.SerialNumber
- input.TokenCode = p.TokenCode
+ if p.SerialNumber != nil {
+ if p.TokenCode != nil {
+ input.SerialNumber = p.SerialNumber
+ input.TokenCode = p.TokenCode
+ } else if p.TokenProvider != nil {
+ input.SerialNumber = p.SerialNumber
+ code, err := p.TokenProvider()
+ if err != nil {
+ return credentials.Value{ProviderName: ProviderName}, err
+ }
+ input.TokenCode = aws.String(code)
+ } else {
+ return credentials.Value{ProviderName: ProviderName},
+ awserr.New("AssumeRoleTokenNotAvailable",
+ "assume role with MFA enabled, but neither TokenCode nor TokenProvider are set", nil)
+ }
}
- roleOutput, err := p.Client.AssumeRole(input)
+ roleOutput, err := p.Client.AssumeRole(input)
if err != nil {
return credentials.Value{ProviderName: ProviderName}, err
}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go
index 10b7d8649..07afe3b8e 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go
@@ -10,17 +10,19 @@ package defaults
import (
"fmt"
"net/http"
+ "net/url"
"os"
"time"
"github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/aws/corehandlers"
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds"
"github.com/aws/aws-sdk-go/aws/credentials/endpointcreds"
"github.com/aws/aws-sdk-go/aws/ec2metadata"
+ "github.com/aws/aws-sdk-go/aws/endpoints"
"github.com/aws/aws-sdk-go/aws/request"
- "github.com/aws/aws-sdk-go/private/endpoints"
)
// A Defaults provides a collection of default values for SDK clients.
@@ -56,7 +58,7 @@ func Config() *aws.Config {
WithMaxRetries(aws.UseServiceDefaultRetries).
WithLogger(aws.NewDefaultLogger()).
WithLogLevel(aws.LogOff).
- WithSleepDelay(time.Sleep)
+ WithEndpointResolver(endpoints.DefaultResolver())
}
// Handlers returns the default request handlers.
@@ -72,6 +74,7 @@ func Handlers() request.Handlers {
handlers.Build.PushBackNamed(corehandlers.SDKVersionUserAgentHandler)
handlers.Build.AfterEachFn = request.HandlerListStopOnError
handlers.Sign.PushBackNamed(corehandlers.BuildContentLengthHandler)
+ handlers.Send.PushBackNamed(corehandlers.ValidateReqSigHandler)
handlers.Send.PushBackNamed(corehandlers.SendHandler)
handlers.AfterRetry.PushBackNamed(corehandlers.AfterRetryHandler)
handlers.ValidateResponse.PushBackNamed(corehandlers.ValidateResponseHandler)
@@ -95,23 +98,51 @@ func CredChain(cfg *aws.Config, handlers request.Handlers) *credentials.Credenti
})
}
-// RemoteCredProvider returns a credenitials provider for the default remote
+const (
+ httpProviderEnvVar = "AWS_CONTAINER_CREDENTIALS_FULL_URI"
+ ecsCredsProviderEnvVar = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"
+)
+
+// RemoteCredProvider returns a credentials provider for the default remote
// endpoints such as EC2 or ECS Roles.
func RemoteCredProvider(cfg aws.Config, handlers request.Handlers) credentials.Provider {
- ecsCredURI := os.Getenv("AWS_CONTAINER_CREDENTIALS_RELATIVE_URI")
+ if u := os.Getenv(httpProviderEnvVar); len(u) > 0 {
+ return localHTTPCredProvider(cfg, handlers, u)
+ }
- if len(ecsCredURI) > 0 {
- return ecsCredProvider(cfg, handlers, ecsCredURI)
+ if uri := os.Getenv(ecsCredsProviderEnvVar); len(uri) > 0 {
+ u := fmt.Sprintf("http://169.254.170.2%s", uri)
+ return httpCredProvider(cfg, handlers, u)
}
return ec2RoleProvider(cfg, handlers)
}
-func ecsCredProvider(cfg aws.Config, handlers request.Handlers, uri string) credentials.Provider {
- const host = `169.254.170.2`
+func localHTTPCredProvider(cfg aws.Config, handlers request.Handlers, u string) credentials.Provider {
+ var errMsg string
- return endpointcreds.NewProviderClient(cfg, handlers,
- fmt.Sprintf("http://%s%s", host, uri),
+ parsed, err := url.Parse(u)
+ if err != nil {
+ errMsg = fmt.Sprintf("invalid URL, %v", err)
+ } else if host := aws.URLHostname(parsed); !(host == "localhost" || host == "127.0.0.1") {
+ errMsg = fmt.Sprintf("invalid host address, %q, only localhost and 127.0.0.1 are valid.", host)
+ }
+
+ if len(errMsg) > 0 {
+ if cfg.Logger != nil {
+ cfg.Logger.Log("Ignoring, HTTP credential provider", errMsg, err)
+ }
+ return credentials.ErrorProvider{
+ Err: awserr.New("CredentialsEndpointError", errMsg, err),
+ ProviderName: endpointcreds.ProviderName,
+ }
+ }
+
+ return httpCredProvider(cfg, handlers, u)
+}
+
+func httpCredProvider(cfg aws.Config, handlers request.Handlers, u string) credentials.Provider {
+ return endpointcreds.NewProviderClient(cfg, handlers, u,
func(p *endpointcreds.Provider) {
p.ExpiryWindow = 5 * time.Minute
},
@@ -119,11 +150,14 @@ func ecsCredProvider(cfg aws.Config, handlers request.Handlers, uri string) cred
}
func ec2RoleProvider(cfg aws.Config, handlers request.Handlers) credentials.Provider {
- endpoint, signingRegion := endpoints.EndpointForRegion(ec2metadata.ServiceName,
- aws.StringValue(cfg.Region), true, false)
+ resolver := cfg.EndpointResolver
+ if resolver == nil {
+ resolver = endpoints.DefaultResolver()
+ }
+ e, _ := resolver.EndpointFor(endpoints.Ec2metadataServiceID, "")
return &ec2rolecreds.EC2RoleProvider{
- Client: ec2metadata.NewClient(cfg, handlers, endpoint, signingRegion),
+ Client: ec2metadata.NewClient(cfg, handlers, e.URL, e.SigningRegion),
ExpiryWindow: 5 * time.Minute,
}
}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/defaults/shared_config.go b/vendor/github.com/aws/aws-sdk-go/aws/defaults/shared_config.go
new file mode 100644
index 000000000..ca0ee1dcc
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/defaults/shared_config.go
@@ -0,0 +1,27 @@
+package defaults
+
+import (
+ "github.com/aws/aws-sdk-go/internal/shareddefaults"
+)
+
+// SharedCredentialsFilename returns the SDK's default file path
+// for the shared credentials file.
+//
+// Builds the shared config file path based on the OS's platform.
+//
+// - Linux/Unix: $HOME/.aws/credentials
+// - Windows: %USERPROFILE%\.aws\credentials
+func SharedCredentialsFilename() string {
+ return shareddefaults.SharedCredentialsFilename()
+}
+
+// SharedConfigFilename returns the SDK's default file path for
+// the shared config file.
+//
+// Builds the shared config file path based on the OS's platform.
+//
+// - Linux/Unix: $HOME/.aws/config
+// - Windows: %USERPROFILE%\.aws\config
+func SharedConfigFilename() string {
+ return shareddefaults.SharedConfigFilename()
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/doc.go b/vendor/github.com/aws/aws-sdk-go/aws/doc.go
new file mode 100644
index 000000000..4fcb61618
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/doc.go
@@ -0,0 +1,56 @@
+// Package aws provides the core SDK's utilities and shared types. Use this package's
+// utilities to simplify setting and reading API operations parameters.
+//
+// Value and Pointer Conversion Utilities
+//
+// This package includes a helper conversion utility for each scalar type the SDK's
+// API use. These utilities make getting a pointer of the scalar, and dereferencing
+// a pointer easier.
+//
+// Each conversion utility comes in two forms. Value to Pointer and Pointer to Value.
+// The Pointer to value will safely dereference the pointer and return its value.
+// If the pointer was nil, the scalar's zero value will be returned.
+//
+// The value to pointer functions will be named after the scalar type. So get a
+// *string from a string value use the "String" function. This makes it easy to
+// to get pointer of a literal string value, because getting the address of a
+// literal requires assigning the value to a variable first.
+//
+// var strPtr *string
+//
+// // Without the SDK's conversion functions
+// str := "my string"
+// strPtr = &str
+//
+// // With the SDK's conversion functions
+// strPtr = aws.String("my string")
+//
+// // Convert *string to string value
+// str = aws.StringValue(strPtr)
+//
+// In addition to scalars the aws package also includes conversion utilities for
+// map and slice for commonly types used in API parameters. The map and slice
+// conversion functions use similar naming pattern as the scalar conversion
+// functions.
+//
+// var strPtrs []*string
+// var strs []string = []string{"Go", "Gophers", "Go"}
+//
+// // Convert []string to []*string
+// strPtrs = aws.StringSlice(strs)
+//
+// // Convert []*string to []string
+// strs = aws.StringValueSlice(strPtrs)
+//
+// SDK Default HTTP Client
+//
+// The SDK will use the http.DefaultClient if a HTTP client is not provided to
+// the SDK's Session, or service client constructor. This means that if the
+// http.DefaultClient is modified by other components of your application the
+// modifications will be picked up by the SDK as well.
+//
+// In some cases this might be intended, but it is a better practice to create
+// a custom HTTP Client to share explicitly through your application. You can
+// configure the SDK to use the custom HTTP Client by setting the HTTPClient
+// value of the SDK's Config type when creating a Session or service client.
+package aws
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go
index 669c813a0..984407a58 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go
@@ -3,6 +3,7 @@ package ec2metadata
import (
"encoding/json"
"fmt"
+ "net/http"
"path"
"strings"
"time"
@@ -27,6 +28,27 @@ func (c *EC2Metadata) GetMetadata(p string) (string, error) {
return output.Content, req.Send()
}
+// GetUserData returns the userdata that was configured for the service. If
+// there is no user-data setup for the EC2 instance a "NotFoundError" error
+// code will be returned.
+func (c *EC2Metadata) GetUserData() (string, error) {
+ op := &request.Operation{
+ Name: "GetUserData",
+ HTTPMethod: "GET",
+ HTTPPath: path.Join("/", "user-data"),
+ }
+
+ output := &metadataOutput{}
+ req := c.NewRequest(op, nil, output)
+ req.Handlers.UnmarshalError.PushBack(func(r *request.Request) {
+ if r.HTTPResponse.StatusCode == http.StatusNotFound {
+ r.Error = awserr.New("NotFoundError", "user-data not found", r.Error)
+ }
+ })
+
+ return output.Content, req.Send()
+}
+
// GetDynamicData uses the path provided to request information from the EC2
// instance metadata service for dynamic data. The content will be returned
// as a string, or error if the request failed.
@@ -111,7 +133,7 @@ func (c *EC2Metadata) Available() bool {
return true
}
-// An EC2IAMInfo provides the shape for unmarshalling
+// An EC2IAMInfo provides the shape for unmarshaling
// an IAM info from the metadata API
type EC2IAMInfo struct {
Code string
@@ -120,7 +142,7 @@ type EC2IAMInfo struct {
InstanceProfileID string
}
-// An EC2InstanceIdentityDocument provides the shape for unmarshalling
+// An EC2InstanceIdentityDocument provides the shape for unmarshaling
// an instance identity document
type EC2InstanceIdentityDocument struct {
DevpayProductCodes []string `json:"devpayProductCodes"`
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go
new file mode 100644
index 000000000..74f72de07
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go
@@ -0,0 +1,133 @@
+package endpoints
+
+import (
+ "encoding/json"
+ "fmt"
+ "io"
+
+ "github.com/aws/aws-sdk-go/aws/awserr"
+)
+
+type modelDefinition map[string]json.RawMessage
+
+// A DecodeModelOptions are the options for how the endpoints model definition
+// are decoded.
+type DecodeModelOptions struct {
+ SkipCustomizations bool
+}
+
+// Set combines all of the option functions together.
+func (d *DecodeModelOptions) Set(optFns ...func(*DecodeModelOptions)) {
+ for _, fn := range optFns {
+ fn(d)
+ }
+}
+
+// DecodeModel unmarshals a Regions and Endpoint model definition file into
+// a endpoint Resolver. If the file format is not supported, or an error occurs
+// when unmarshaling the model an error will be returned.
+//
+// Casting the return value of this func to a EnumPartitions will
+// allow you to get a list of the partitions in the order the endpoints
+// will be resolved in.
+//
+// resolver, err := endpoints.DecodeModel(reader)
+//
+// partitions := resolver.(endpoints.EnumPartitions).Partitions()
+// for _, p := range partitions {
+// // ... inspect partitions
+// }
+func DecodeModel(r io.Reader, optFns ...func(*DecodeModelOptions)) (Resolver, error) {
+ var opts DecodeModelOptions
+ opts.Set(optFns...)
+
+ // Get the version of the partition file to determine what
+ // unmarshaling model to use.
+ modelDef := modelDefinition{}
+ if err := json.NewDecoder(r).Decode(&modelDef); err != nil {
+ return nil, newDecodeModelError("failed to decode endpoints model", err)
+ }
+
+ var version string
+ if b, ok := modelDef["version"]; ok {
+ version = string(b)
+ } else {
+ return nil, newDecodeModelError("endpoints version not found in model", nil)
+ }
+
+ if version == "3" {
+ return decodeV3Endpoints(modelDef, opts)
+ }
+
+ return nil, newDecodeModelError(
+ fmt.Sprintf("endpoints version %s, not supported", version), nil)
+}
+
+func decodeV3Endpoints(modelDef modelDefinition, opts DecodeModelOptions) (Resolver, error) {
+ b, ok := modelDef["partitions"]
+ if !ok {
+ return nil, newDecodeModelError("endpoints model missing partitions", nil)
+ }
+
+ ps := partitions{}
+ if err := json.Unmarshal(b, &ps); err != nil {
+ return nil, newDecodeModelError("failed to decode endpoints model", err)
+ }
+
+ if opts.SkipCustomizations {
+ return ps, nil
+ }
+
+ // Customization
+ for i := 0; i < len(ps); i++ {
+ p := &ps[i]
+ custAddEC2Metadata(p)
+ custAddS3DualStack(p)
+ custRmIotDataService(p)
+ }
+
+ return ps, nil
+}
+
+func custAddS3DualStack(p *partition) {
+ if p.ID != "aws" {
+ return
+ }
+
+ s, ok := p.Services["s3"]
+ if !ok {
+ return
+ }
+
+ s.Defaults.HasDualStack = boxedTrue
+ s.Defaults.DualStackHostname = "{service}.dualstack.{region}.{dnsSuffix}"
+
+ p.Services["s3"] = s
+}
+
+func custAddEC2Metadata(p *partition) {
+ p.Services["ec2metadata"] = service{
+ IsRegionalized: boxedFalse,
+ PartitionEndpoint: "aws-global",
+ Endpoints: endpoints{
+ "aws-global": endpoint{
+ Hostname: "169.254.169.254/latest",
+ Protocols: []string{"http"},
+ },
+ },
+ }
+}
+
+func custRmIotDataService(p *partition) {
+ delete(p.Services, "data.iot")
+}
+
+type decodeModelError struct {
+ awsError
+}
+
+func newDecodeModelError(msg string, err error) decodeModelError {
+ return decodeModelError{
+ awsError: awserr.New("DecodeEndpointsModelError", msg, err),
+ }
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
new file mode 100644
index 000000000..a2a93251f
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
@@ -0,0 +1,2459 @@
+// Code generated by aws/endpoints/v3model_codegen.go. DO NOT EDIT.
+
+package endpoints
+
+import (
+ "regexp"
+)
+
+// Partition identifiers
+const (
+ AwsPartitionID = "aws" // AWS Standard partition.
+ AwsCnPartitionID = "aws-cn" // AWS China partition.
+ AwsUsGovPartitionID = "aws-us-gov" // AWS GovCloud (US) partition.
+)
+
+// AWS Standard partition's regions.
+const (
+ ApNortheast1RegionID = "ap-northeast-1" // Asia Pacific (Tokyo).
+ ApNortheast2RegionID = "ap-northeast-2" // Asia Pacific (Seoul).
+ ApSouth1RegionID = "ap-south-1" // Asia Pacific (Mumbai).
+ ApSoutheast1RegionID = "ap-southeast-1" // Asia Pacific (Singapore).
+ ApSoutheast2RegionID = "ap-southeast-2" // Asia Pacific (Sydney).
+ CaCentral1RegionID = "ca-central-1" // Canada (Central).
+ EuCentral1RegionID = "eu-central-1" // EU (Frankfurt).
+ EuWest1RegionID = "eu-west-1" // EU (Ireland).
+ EuWest2RegionID = "eu-west-2" // EU (London).
+ SaEast1RegionID = "sa-east-1" // South America (Sao Paulo).
+ UsEast1RegionID = "us-east-1" // US East (N. Virginia).
+ UsEast2RegionID = "us-east-2" // US East (Ohio).
+ UsWest1RegionID = "us-west-1" // US West (N. California).
+ UsWest2RegionID = "us-west-2" // US West (Oregon).
+)
+
+// AWS China partition's regions.
+const (
+ CnNorth1RegionID = "cn-north-1" // China (Beijing).
+)
+
+// AWS GovCloud (US) partition's regions.
+const (
+ UsGovWest1RegionID = "us-gov-west-1" // AWS GovCloud (US).
+)
+
+// Service identifiers
+const (
+ AcmServiceID = "acm" // Acm.
+ ApiPricingServiceID = "api.pricing" // ApiPricing.
+ ApigatewayServiceID = "apigateway" // Apigateway.
+ ApplicationAutoscalingServiceID = "application-autoscaling" // ApplicationAutoscaling.
+ Appstream2ServiceID = "appstream2" // Appstream2.
+ AthenaServiceID = "athena" // Athena.
+ AutoscalingServiceID = "autoscaling" // Autoscaling.
+ BatchServiceID = "batch" // Batch.
+ BudgetsServiceID = "budgets" // Budgets.
+ ClouddirectoryServiceID = "clouddirectory" // Clouddirectory.
+ CloudformationServiceID = "cloudformation" // Cloudformation.
+ CloudfrontServiceID = "cloudfront" // Cloudfront.
+ CloudhsmServiceID = "cloudhsm" // Cloudhsm.
+ Cloudhsmv2ServiceID = "cloudhsmv2" // Cloudhsmv2.
+ CloudsearchServiceID = "cloudsearch" // Cloudsearch.
+ CloudtrailServiceID = "cloudtrail" // Cloudtrail.
+ CodebuildServiceID = "codebuild" // Codebuild.
+ CodecommitServiceID = "codecommit" // Codecommit.
+ CodedeployServiceID = "codedeploy" // Codedeploy.
+ CodepipelineServiceID = "codepipeline" // Codepipeline.
+ CodestarServiceID = "codestar" // Codestar.
+ CognitoIdentityServiceID = "cognito-identity" // CognitoIdentity.
+ CognitoIdpServiceID = "cognito-idp" // CognitoIdp.
+ CognitoSyncServiceID = "cognito-sync" // CognitoSync.
+ ConfigServiceID = "config" // Config.
+ CurServiceID = "cur" // Cur.
+ DatapipelineServiceID = "datapipeline" // Datapipeline.
+ DevicefarmServiceID = "devicefarm" // Devicefarm.
+ DirectconnectServiceID = "directconnect" // Directconnect.
+ DiscoveryServiceID = "discovery" // Discovery.
+ DmsServiceID = "dms" // Dms.
+ DsServiceID = "ds" // Ds.
+ DynamodbServiceID = "dynamodb" // Dynamodb.
+ Ec2ServiceID = "ec2" // Ec2.
+ Ec2metadataServiceID = "ec2metadata" // Ec2metadata.
+ EcrServiceID = "ecr" // Ecr.
+ EcsServiceID = "ecs" // Ecs.
+ ElasticacheServiceID = "elasticache" // Elasticache.
+ ElasticbeanstalkServiceID = "elasticbeanstalk" // Elasticbeanstalk.
+ ElasticfilesystemServiceID = "elasticfilesystem" // Elasticfilesystem.
+ ElasticloadbalancingServiceID = "elasticloadbalancing" // Elasticloadbalancing.
+ ElasticmapreduceServiceID = "elasticmapreduce" // Elasticmapreduce.
+ ElastictranscoderServiceID = "elastictranscoder" // Elastictranscoder.
+ EmailServiceID = "email" // Email.
+ EntitlementMarketplaceServiceID = "entitlement.marketplace" // EntitlementMarketplace.
+ EsServiceID = "es" // Es.
+ EventsServiceID = "events" // Events.
+ FirehoseServiceID = "firehose" // Firehose.
+ GameliftServiceID = "gamelift" // Gamelift.
+ GlacierServiceID = "glacier" // Glacier.
+ GlueServiceID = "glue" // Glue.
+ GreengrassServiceID = "greengrass" // Greengrass.
+ HealthServiceID = "health" // Health.
+ IamServiceID = "iam" // Iam.
+ ImportexportServiceID = "importexport" // Importexport.
+ InspectorServiceID = "inspector" // Inspector.
+ IotServiceID = "iot" // Iot.
+ KinesisServiceID = "kinesis" // Kinesis.
+ KinesisanalyticsServiceID = "kinesisanalytics" // Kinesisanalytics.
+ KmsServiceID = "kms" // Kms.
+ LambdaServiceID = "lambda" // Lambda.
+ LightsailServiceID = "lightsail" // Lightsail.
+ LogsServiceID = "logs" // Logs.
+ MachinelearningServiceID = "machinelearning" // Machinelearning.
+ MarketplacecommerceanalyticsServiceID = "marketplacecommerceanalytics" // Marketplacecommerceanalytics.
+ MeteringMarketplaceServiceID = "metering.marketplace" // MeteringMarketplace.
+ MghServiceID = "mgh" // Mgh.
+ MobileanalyticsServiceID = "mobileanalytics" // Mobileanalytics.
+ ModelsLexServiceID = "models.lex" // ModelsLex.
+ MonitoringServiceID = "monitoring" // Monitoring.
+ MturkRequesterServiceID = "mturk-requester" // MturkRequester.
+ OpsworksServiceID = "opsworks" // Opsworks.
+ OpsworksCmServiceID = "opsworks-cm" // OpsworksCm.
+ OrganizationsServiceID = "organizations" // Organizations.
+ PinpointServiceID = "pinpoint" // Pinpoint.
+ PollyServiceID = "polly" // Polly.
+ RdsServiceID = "rds" // Rds.
+ RedshiftServiceID = "redshift" // Redshift.
+ RekognitionServiceID = "rekognition" // Rekognition.
+ Route53ServiceID = "route53" // Route53.
+ Route53domainsServiceID = "route53domains" // Route53domains.
+ RuntimeLexServiceID = "runtime.lex" // RuntimeLex.
+ S3ServiceID = "s3" // S3.
+ SdbServiceID = "sdb" // Sdb.
+ ServicecatalogServiceID = "servicecatalog" // Servicecatalog.
+ ShieldServiceID = "shield" // Shield.
+ SmsServiceID = "sms" // Sms.
+ SnowballServiceID = "snowball" // Snowball.
+ SnsServiceID = "sns" // Sns.
+ SqsServiceID = "sqs" // Sqs.
+ SsmServiceID = "ssm" // Ssm.
+ StatesServiceID = "states" // States.
+ StoragegatewayServiceID = "storagegateway" // Storagegateway.
+ StreamsDynamodbServiceID = "streams.dynamodb" // StreamsDynamodb.
+ StsServiceID = "sts" // Sts.
+ SupportServiceID = "support" // Support.
+ SwfServiceID = "swf" // Swf.
+ TaggingServiceID = "tagging" // Tagging.
+ WafServiceID = "waf" // Waf.
+ WafRegionalServiceID = "waf-regional" // WafRegional.
+ WorkdocsServiceID = "workdocs" // Workdocs.
+ WorkspacesServiceID = "workspaces" // Workspaces.
+ XrayServiceID = "xray" // Xray.
+)
+
+// DefaultResolver returns an Endpoint resolver that will be able
+// to resolve endpoints for: AWS Standard, AWS China, and AWS GovCloud (US).
+//
+// Use DefaultPartitions() to get the list of the default partitions.
+func DefaultResolver() Resolver {
+ return defaultPartitions
+}
+
+// DefaultPartitions returns a list of the partitions the SDK is bundled
+// with. The available partitions are: AWS Standard, AWS China, and AWS GovCloud (US).
+//
+// partitions := endpoints.DefaultPartitions
+// for _, p := range partitions {
+// // ... inspect partitions
+// }
+func DefaultPartitions() []Partition {
+ return defaultPartitions.Partitions()
+}
+
+var defaultPartitions = partitions{
+ awsPartition,
+ awscnPartition,
+ awsusgovPartition,
+}
+
+// AwsPartition returns the Resolver for AWS Standard.
+func AwsPartition() Partition {
+ return awsPartition.Partition()
+}
+
+var awsPartition = partition{
+ ID: "aws",
+ Name: "AWS Standard",
+ DNSSuffix: "amazonaws.com",
+ RegionRegex: regionRegex{
+ Regexp: func() *regexp.Regexp {
+ reg, _ := regexp.Compile("^(us|eu|ap|sa|ca)\\-\\w+\\-\\d+$")
+ return reg
+ }(),
+ },
+ Defaults: endpoint{
+ Hostname: "{service}.{region}.{dnsSuffix}",
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"v4"},
+ },
+ Regions: regions{
+ "ap-northeast-1": region{
+ Description: "Asia Pacific (Tokyo)",
+ },
+ "ap-northeast-2": region{
+ Description: "Asia Pacific (Seoul)",
+ },
+ "ap-south-1": region{
+ Description: "Asia Pacific (Mumbai)",
+ },
+ "ap-southeast-1": region{
+ Description: "Asia Pacific (Singapore)",
+ },
+ "ap-southeast-2": region{
+ Description: "Asia Pacific (Sydney)",
+ },
+ "ca-central-1": region{
+ Description: "Canada (Central)",
+ },
+ "eu-central-1": region{
+ Description: "EU (Frankfurt)",
+ },
+ "eu-west-1": region{
+ Description: "EU (Ireland)",
+ },
+ "eu-west-2": region{
+ Description: "EU (London)",
+ },
+ "sa-east-1": region{
+ Description: "South America (Sao Paulo)",
+ },
+ "us-east-1": region{
+ Description: "US East (N. Virginia)",
+ },
+ "us-east-2": region{
+ Description: "US East (Ohio)",
+ },
+ "us-west-1": region{
+ Description: "US West (N. California)",
+ },
+ "us-west-2": region{
+ Description: "US West (Oregon)",
+ },
+ },
+ Services: services{
+ "acm": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "api.pricing": service{
+ Defaults: endpoint{
+ CredentialScope: credentialScope{
+ Service: "pricing",
+ },
+ },
+ Endpoints: endpoints{
+ "us-east-1": endpoint{},
+ },
+ },
+ "apigateway": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "application-autoscaling": service{
+ Defaults: endpoint{
+ Hostname: "autoscaling.{region}.amazonaws.com",
+ Protocols: []string{"http", "https"},
+ CredentialScope: credentialScope{
+ Service: "application-autoscaling",
+ },
+ },
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "appstream2": service{
+ Defaults: endpoint{
+ Protocols: []string{"https"},
+ CredentialScope: credentialScope{
+ Service: "appstream",
+ },
+ },
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "athena": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "autoscaling": service{
+ Defaults: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "batch": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "budgets": service{
+ PartitionEndpoint: "aws-global",
+ IsRegionalized: boxedFalse,
+
+ Endpoints: endpoints{
+ "aws-global": endpoint{
+ Hostname: "budgets.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ },
+ },
+ "clouddirectory": service{
+
+ Endpoints: endpoints{
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "cloudformation": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "cloudfront": service{
+ PartitionEndpoint: "aws-global",
+ IsRegionalized: boxedFalse,
+
+ Endpoints: endpoints{
+ "aws-global": endpoint{
+ Hostname: "cloudfront.amazonaws.com",
+ Protocols: []string{"http", "https"},
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ },
+ },
+ "cloudhsm": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "cloudhsmv2": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "cloudsearch": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "cloudtrail": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "codebuild": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "codecommit": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "codedeploy": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "codepipeline": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "codestar": service{
+
+ Endpoints: endpoints{
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "cognito-identity": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "cognito-idp": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "cognito-sync": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "config": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "cur": service{
+
+ Endpoints: endpoints{
+ "us-east-1": endpoint{},
+ },
+ },
+ "datapipeline": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-west-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "devicefarm": service{
+
+ Endpoints: endpoints{
+ "us-west-2": endpoint{},
+ },
+ },
+ "directconnect": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "discovery": service{
+
+ Endpoints: endpoints{
+ "us-west-2": endpoint{},
+ },
+ },
+ "dms": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "ds": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "dynamodb": service{
+ Defaults: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "local": endpoint{
+ Hostname: "localhost:8000",
+ Protocols: []string{"http"},
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "ec2": service{
+ Defaults: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "ec2metadata": service{
+ PartitionEndpoint: "aws-global",
+ IsRegionalized: boxedFalse,
+
+ Endpoints: endpoints{
+ "aws-global": endpoint{
+ Hostname: "169.254.169.254/latest",
+ Protocols: []string{"http"},
+ },
+ },
+ },
+ "ecr": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "ecs": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "elasticache": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "elasticbeanstalk": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "elasticfilesystem": service{
+
+ Endpoints: endpoints{
+ "ap-southeast-2": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "elasticloadbalancing": service{
+ Defaults: endpoint{
+ Protocols: []string{"https"},
+ },
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "elasticmapreduce": service{
+ Defaults: endpoint{
+ SSLCommonName: "{region}.{service}.{dnsSuffix}",
+ Protocols: []string{"http", "https"},
+ },
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{
+ SSLCommonName: "{service}.{region}.{dnsSuffix}",
+ },
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{
+ SSLCommonName: "{service}.{region}.{dnsSuffix}",
+ },
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "elastictranscoder": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-west-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "email": service{
+
+ Endpoints: endpoints{
+ "eu-west-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "entitlement.marketplace": service{
+ Defaults: endpoint{
+ CredentialScope: credentialScope{
+ Service: "aws-marketplace",
+ },
+ },
+ Endpoints: endpoints{
+ "us-east-1": endpoint{},
+ },
+ },
+ "es": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "events": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "firehose": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "gamelift": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "glacier": service{
+ Defaults: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "glue": service{
+
+ Endpoints: endpoints{
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "greengrass": service{
+ IsRegionalized: boxedTrue,
+ Defaults: endpoint{
+ Protocols: []string{"https"},
+ },
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-central-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "health": service{
+
+ Endpoints: endpoints{
+ "us-east-1": endpoint{},
+ },
+ },
+ "iam": service{
+ PartitionEndpoint: "aws-global",
+ IsRegionalized: boxedFalse,
+
+ Endpoints: endpoints{
+ "aws-global": endpoint{
+ Hostname: "iam.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ },
+ },
+ "importexport": service{
+ PartitionEndpoint: "aws-global",
+ IsRegionalized: boxedFalse,
+
+ Endpoints: endpoints{
+ "aws-global": endpoint{
+ Hostname: "importexport.amazonaws.com",
+ SignatureVersions: []string{"v2", "v4"},
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ Service: "IngestionService",
+ },
+ },
+ },
+ },
+ "inspector": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-west-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "iot": service{
+ Defaults: endpoint{
+ CredentialScope: credentialScope{
+ Service: "execute-api",
+ },
+ },
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "kinesis": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "kinesisanalytics": service{
+
+ Endpoints: endpoints{
+ "eu-west-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "kms": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "lambda": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "lightsail": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "logs": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "machinelearning": service{
+
+ Endpoints: endpoints{
+ "eu-west-1": endpoint{},
+ "us-east-1": endpoint{},
+ },
+ },
+ "marketplacecommerceanalytics": service{
+
+ Endpoints: endpoints{
+ "us-east-1": endpoint{},
+ },
+ },
+ "metering.marketplace": service{
+ Defaults: endpoint{
+ CredentialScope: credentialScope{
+ Service: "aws-marketplace",
+ },
+ },
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "mgh": service{
+
+ Endpoints: endpoints{
+ "us-west-2": endpoint{},
+ },
+ },
+ "mobileanalytics": service{
+
+ Endpoints: endpoints{
+ "us-east-1": endpoint{},
+ },
+ },
+ "models.lex": service{
+ Defaults: endpoint{
+ CredentialScope: credentialScope{
+ Service: "lex",
+ },
+ },
+ Endpoints: endpoints{
+ "us-east-1": endpoint{},
+ },
+ },
+ "monitoring": service{
+ Defaults: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "mturk-requester": service{
+ IsRegionalized: boxedFalse,
+
+ Endpoints: endpoints{
+ "sandbox": endpoint{
+ Hostname: "mturk-requester-sandbox.us-east-1.amazonaws.com",
+ },
+ "us-east-1": endpoint{},
+ },
+ },
+ "opsworks": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "opsworks-cm": service{
+
+ Endpoints: endpoints{
+ "eu-west-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "organizations": service{
+ PartitionEndpoint: "aws-global",
+ IsRegionalized: boxedFalse,
+
+ Endpoints: endpoints{
+ "aws-global": endpoint{
+ Hostname: "organizations.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ },
+ },
+ "pinpoint": service{
+ Defaults: endpoint{
+ CredentialScope: credentialScope{
+ Service: "mobiletargeting",
+ },
+ },
+ Endpoints: endpoints{
+ "us-east-1": endpoint{},
+ },
+ },
+ "polly": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "rds": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{
+ SSLCommonName: "{service}.{dnsSuffix}",
+ },
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "redshift": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "rekognition": service{
+
+ Endpoints: endpoints{
+ "eu-west-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "route53": service{
+ PartitionEndpoint: "aws-global",
+ IsRegionalized: boxedFalse,
+
+ Endpoints: endpoints{
+ "aws-global": endpoint{
+ Hostname: "route53.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ },
+ },
+ "route53domains": service{
+
+ Endpoints: endpoints{
+ "us-east-1": endpoint{},
+ },
+ },
+ "runtime.lex": service{
+ Defaults: endpoint{
+ CredentialScope: credentialScope{
+ Service: "lex",
+ },
+ },
+ Endpoints: endpoints{
+ "us-east-1": endpoint{},
+ },
+ },
+ "s3": service{
+ PartitionEndpoint: "us-east-1",
+ IsRegionalized: boxedTrue,
+ Defaults: endpoint{
+ Protocols: []string{"http", "https"},
+ SignatureVersions: []string{"s3v4"},
+
+ HasDualStack: boxedTrue,
+ DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}",
+ },
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{
+ Hostname: "s3.ap-northeast-1.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ },
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{
+ Hostname: "s3.ap-southeast-1.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ },
+ "ap-southeast-2": endpoint{
+ Hostname: "s3.ap-southeast-2.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ },
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{
+ Hostname: "s3.eu-west-1.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ },
+ "eu-west-2": endpoint{},
+ "s3-external-1": endpoint{
+ Hostname: "s3-external-1.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ "sa-east-1": endpoint{
+ Hostname: "s3.sa-east-1.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ },
+ "us-east-1": endpoint{
+ Hostname: "s3.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ },
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{
+ Hostname: "s3.us-west-1.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ },
+ "us-west-2": endpoint{
+ Hostname: "s3.us-west-2.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ },
+ },
+ },
+ "sdb": service{
+ Defaults: endpoint{
+ Protocols: []string{"http", "https"},
+ SignatureVersions: []string{"v2"},
+ },
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-west-1": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{
+ Hostname: "sdb.amazonaws.com",
+ },
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "servicecatalog": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "shield": service{
+ IsRegionalized: boxedFalse,
+ Defaults: endpoint{
+ SSLCommonName: "Shield.us-east-1.amazonaws.com",
+ Protocols: []string{"https"},
+ },
+ Endpoints: endpoints{
+ "us-east-1": endpoint{},
+ },
+ },
+ "sms": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "snowball": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "sns": service{
+ Defaults: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "sqs": service{
+ Defaults: endpoint{
+ SSLCommonName: "{region}.queue.{dnsSuffix}",
+ Protocols: []string{"http", "https"},
+ },
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{
+ SSLCommonName: "queue.{dnsSuffix}",
+ },
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "ssm": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "states": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "storagegateway": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "streams.dynamodb": service{
+ Defaults: endpoint{
+ Protocols: []string{"http", "https"},
+ CredentialScope: credentialScope{
+ Service: "dynamodb",
+ },
+ },
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "local": endpoint{
+ Hostname: "localhost:8000",
+ Protocols: []string{"http"},
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "sts": service{
+ PartitionEndpoint: "aws-global",
+ Defaults: endpoint{
+ Hostname: "sts.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{
+ Hostname: "sts.ap-northeast-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-northeast-2",
+ },
+ },
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "aws-global": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-1-fips": endpoint{
+ Hostname: "sts-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ "us-east-2": endpoint{},
+ "us-east-2-fips": endpoint{
+ Hostname: "sts-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ },
+ "us-west-1": endpoint{},
+ "us-west-1-fips": endpoint{
+ Hostname: "sts-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ },
+ "us-west-2": endpoint{},
+ "us-west-2-fips": endpoint{
+ Hostname: "sts-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ },
+ },
+ },
+ "support": service{
+
+ Endpoints: endpoints{
+ "us-east-1": endpoint{},
+ },
+ },
+ "swf": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "tagging": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "waf": service{
+ PartitionEndpoint: "aws-global",
+ IsRegionalized: boxedFalse,
+
+ Endpoints: endpoints{
+ "aws-global": endpoint{
+ Hostname: "waf.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ },
+ },
+ "waf-regional": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "workdocs": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-west-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "workspaces": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "us-east-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "xray": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ },
+}
+
+// AwsCnPartition returns the Resolver for AWS China.
+func AwsCnPartition() Partition {
+ return awscnPartition.Partition()
+}
+
+var awscnPartition = partition{
+ ID: "aws-cn",
+ Name: "AWS China",
+ DNSSuffix: "amazonaws.com.cn",
+ RegionRegex: regionRegex{
+ Regexp: func() *regexp.Regexp {
+ reg, _ := regexp.Compile("^cn\\-\\w+\\-\\d+$")
+ return reg
+ }(),
+ },
+ Defaults: endpoint{
+ Hostname: "{service}.{region}.{dnsSuffix}",
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"v4"},
+ },
+ Regions: regions{
+ "cn-north-1": region{
+ Description: "China (Beijing)",
+ },
+ },
+ Services: services{
+ "application-autoscaling": service{
+ Defaults: endpoint{
+ Hostname: "autoscaling.{region}.amazonaws.com",
+ Protocols: []string{"http", "https"},
+ CredentialScope: credentialScope{
+ Service: "application-autoscaling",
+ },
+ },
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "autoscaling": service{
+ Defaults: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "cloudformation": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "cloudtrail": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "codedeploy": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "cognito-identity": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "config": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "directconnect": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "dynamodb": service{
+ Defaults: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "ec2": service{
+ Defaults: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "ec2metadata": service{
+ PartitionEndpoint: "aws-global",
+ IsRegionalized: boxedFalse,
+
+ Endpoints: endpoints{
+ "aws-global": endpoint{
+ Hostname: "169.254.169.254/latest",
+ Protocols: []string{"http"},
+ },
+ },
+ },
+ "ecr": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "ecs": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "elasticache": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "elasticbeanstalk": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "elasticloadbalancing": service{
+ Defaults: endpoint{
+ Protocols: []string{"https"},
+ },
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "elasticmapreduce": service{
+ Defaults: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "es": service{},
+ "events": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "glacier": service{
+ Defaults: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "iam": service{
+ PartitionEndpoint: "aws-cn-global",
+ IsRegionalized: boxedFalse,
+
+ Endpoints: endpoints{
+ "aws-cn-global": endpoint{
+ Hostname: "iam.cn-north-1.amazonaws.com.cn",
+ CredentialScope: credentialScope{
+ Region: "cn-north-1",
+ },
+ },
+ },
+ },
+ "iot": service{
+ Defaults: endpoint{
+ CredentialScope: credentialScope{
+ Service: "execute-api",
+ },
+ },
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "kinesis": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "logs": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "monitoring": service{
+ Defaults: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "rds": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "redshift": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "s3": service{
+ Defaults: endpoint{
+ Protocols: []string{"http", "https"},
+ SignatureVersions: []string{"s3v4"},
+ },
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "snowball": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "sns": service{
+ Defaults: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "sqs": service{
+ Defaults: endpoint{
+ SSLCommonName: "{region}.queue.{dnsSuffix}",
+ Protocols: []string{"http", "https"},
+ },
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "ssm": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "storagegateway": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "streams.dynamodb": service{
+ Defaults: endpoint{
+ Protocols: []string{"http", "https"},
+ CredentialScope: credentialScope{
+ Service: "dynamodb",
+ },
+ },
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "sts": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "swf": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "tagging": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ },
+}
+
+// AwsUsGovPartition returns the Resolver for AWS GovCloud (US).
+func AwsUsGovPartition() Partition {
+ return awsusgovPartition.Partition()
+}
+
+var awsusgovPartition = partition{
+ ID: "aws-us-gov",
+ Name: "AWS GovCloud (US)",
+ DNSSuffix: "amazonaws.com",
+ RegionRegex: regionRegex{
+ Regexp: func() *regexp.Regexp {
+ reg, _ := regexp.Compile("^us\\-gov\\-\\w+\\-\\d+$")
+ return reg
+ }(),
+ },
+ Defaults: endpoint{
+ Hostname: "{service}.{region}.{dnsSuffix}",
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"v4"},
+ },
+ Regions: regions{
+ "us-gov-west-1": region{
+ Description: "AWS GovCloud (US)",
+ },
+ },
+ Services: services{
+ "acm": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "apigateway": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "autoscaling": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ },
+ },
+ "cloudformation": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "cloudhsm": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "cloudtrail": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "codedeploy": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "config": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "directconnect": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "dynamodb": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "ec2": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "ec2metadata": service{
+ PartitionEndpoint: "aws-global",
+ IsRegionalized: boxedFalse,
+
+ Endpoints: endpoints{
+ "aws-global": endpoint{
+ Hostname: "169.254.169.254/latest",
+ Protocols: []string{"http"},
+ },
+ },
+ },
+ "elasticache": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "elasticloadbalancing": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ },
+ },
+ "elasticmapreduce": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ },
+ },
+ "events": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "glacier": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ },
+ },
+ "iam": service{
+ PartitionEndpoint: "aws-us-gov-global",
+ IsRegionalized: boxedFalse,
+
+ Endpoints: endpoints{
+ "aws-us-gov-global": endpoint{
+ Hostname: "iam.us-gov.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ },
+ },
+ },
+ "kinesis": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "kms": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "lambda": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "logs": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "monitoring": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "rds": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "redshift": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "rekognition": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "s3": service{
+ Defaults: endpoint{
+ SignatureVersions: []string{"s3", "s3v4"},
+ },
+ Endpoints: endpoints{
+ "fips-us-gov-west-1": endpoint{
+ Hostname: "s3-fips-us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ },
+ "us-gov-west-1": endpoint{
+ Hostname: "s3.us-gov-west-1.amazonaws.com",
+ Protocols: []string{"http", "https"},
+ },
+ },
+ },
+ "sms": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "snowball": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "sns": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ },
+ },
+ "sqs": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{
+ SSLCommonName: "{region}.queue.{dnsSuffix}",
+ Protocols: []string{"http", "https"},
+ },
+ },
+ },
+ "ssm": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "streams.dynamodb": service{
+ Defaults: endpoint{
+ CredentialScope: credentialScope{
+ Service: "dynamodb",
+ },
+ },
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "sts": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ "swf": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
+ },
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.go
new file mode 100644
index 000000000..84316b92c
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.go
@@ -0,0 +1,66 @@
+// Package endpoints provides the types and functionality for defining regions
+// and endpoints, as well as querying those definitions.
+//
+// The SDK's Regions and Endpoints metadata is code generated into the endpoints
+// package, and is accessible via the DefaultResolver function. This function
+// returns a endpoint Resolver will search the metadata and build an associated
+// endpoint if one is found. The default resolver will search all partitions
+// known by the SDK. e.g AWS Standard (aws), AWS China (aws-cn), and
+// AWS GovCloud (US) (aws-us-gov).
+// .
+//
+// Enumerating Regions and Endpoint Metadata
+//
+// Casting the Resolver returned by DefaultResolver to a EnumPartitions interface
+// will allow you to get access to the list of underlying Partitions with the
+// Partitions method. This is helpful if you want to limit the SDK's endpoint
+// resolving to a single partition, or enumerate regions, services, and endpoints
+// in the partition.
+//
+// resolver := endpoints.DefaultResolver()
+// partitions := resolver.(endpoints.EnumPartitions).Partitions()
+//
+// for _, p := range partitions {
+// fmt.Println("Regions for", p.ID())
+// for id, _ := range p.Regions() {
+// fmt.Println("*", id)
+// }
+//
+// fmt.Println("Services for", p.ID())
+// for id, _ := range p.Services() {
+// fmt.Println("*", id)
+// }
+// }
+//
+// Using Custom Endpoints
+//
+// The endpoints package also gives you the ability to use your own logic how
+// endpoints are resolved. This is a great way to define a custom endpoint
+// for select services, without passing that logic down through your code.
+//
+// If a type implements the Resolver interface it can be used to resolve
+// endpoints. To use this with the SDK's Session and Config set the value
+// of the type to the EndpointsResolver field of aws.Config when initializing
+// the session, or service client.
+//
+// In addition the ResolverFunc is a wrapper for a func matching the signature
+// of Resolver.EndpointFor, converting it to a type that satisfies the
+// Resolver interface.
+//
+//
+// myCustomResolver := func(service, region string, optFns ...func(*endpoints.Options)) (endpoints.ResolvedEndpoint, error) {
+// if service == endpoints.S3ServiceID {
+// return endpoints.ResolvedEndpoint{
+// URL: "s3.custom.endpoint.com",
+// SigningRegion: "custom-signing-region",
+// }, nil
+// }
+//
+// return endpoints.DefaultResolver().EndpointFor(service, region, optFns...)
+// }
+//
+// sess := session.Must(session.NewSession(&aws.Config{
+// Region: aws.String("us-west-2"),
+// EndpointResolver: endpoints.ResolverFunc(myCustomResolver),
+// }))
+package endpoints
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go
new file mode 100644
index 000000000..9c3eedb48
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go
@@ -0,0 +1,439 @@
+package endpoints
+
+import (
+ "fmt"
+ "regexp"
+
+ "github.com/aws/aws-sdk-go/aws/awserr"
+)
+
+// Options provide the configuration needed to direct how the
+// endpoints will be resolved.
+type Options struct {
+ // DisableSSL forces the endpoint to be resolved as HTTP.
+ // instead of HTTPS if the service supports it.
+ DisableSSL bool
+
+ // Sets the resolver to resolve the endpoint as a dualstack endpoint
+ // for the service. If dualstack support for a service is not known and
+ // StrictMatching is not enabled a dualstack endpoint for the service will
+ // be returned. This endpoint may not be valid. If StrictMatching is
+ // enabled only services that are known to support dualstack will return
+ // dualstack endpoints.
+ UseDualStack bool
+
+ // Enables strict matching of services and regions resolved endpoints.
+ // If the partition doesn't enumerate the exact service and region an
+ // error will be returned. This option will prevent returning endpoints
+ // that look valid, but may not resolve to any real endpoint.
+ StrictMatching bool
+
+ // Enables resolving a service endpoint based on the region provided if the
+ // service does not exist. The service endpoint ID will be used as the service
+ // domain name prefix. By default the endpoint resolver requires the service
+ // to be known when resolving endpoints.
+ //
+ // If resolving an endpoint on the partition list the provided region will
+ // be used to determine which partition's domain name pattern to the service
+ // endpoint ID with. If both the service and region are unkonwn and resolving
+ // the endpoint on partition list an UnknownEndpointError error will be returned.
+ //
+ // If resolving and endpoint on a partition specific resolver that partition's
+ // domain name pattern will be used with the service endpoint ID. If both
+ // region and service do not exist when resolving an endpoint on a specific
+ // partition the partition's domain pattern will be used to combine the
+ // endpoint and region together.
+ //
+ // This option is ignored if StrictMatching is enabled.
+ ResolveUnknownService bool
+}
+
+// Set combines all of the option functions together.
+func (o *Options) Set(optFns ...func(*Options)) {
+ for _, fn := range optFns {
+ fn(o)
+ }
+}
+
+// DisableSSLOption sets the DisableSSL options. Can be used as a functional
+// option when resolving endpoints.
+func DisableSSLOption(o *Options) {
+ o.DisableSSL = true
+}
+
+// UseDualStackOption sets the UseDualStack option. Can be used as a functional
+// option when resolving endpoints.
+func UseDualStackOption(o *Options) {
+ o.UseDualStack = true
+}
+
+// StrictMatchingOption sets the StrictMatching option. Can be used as a functional
+// option when resolving endpoints.
+func StrictMatchingOption(o *Options) {
+ o.StrictMatching = true
+}
+
+// ResolveUnknownServiceOption sets the ResolveUnknownService option. Can be used
+// as a functional option when resolving endpoints.
+func ResolveUnknownServiceOption(o *Options) {
+ o.ResolveUnknownService = true
+}
+
+// A Resolver provides the interface for functionality to resolve endpoints.
+// The build in Partition and DefaultResolver return value satisfy this interface.
+type Resolver interface {
+ EndpointFor(service, region string, opts ...func(*Options)) (ResolvedEndpoint, error)
+}
+
+// ResolverFunc is a helper utility that wraps a function so it satisfies the
+// Resolver interface. This is useful when you want to add additional endpoint
+// resolving logic, or stub out specific endpoints with custom values.
+type ResolverFunc func(service, region string, opts ...func(*Options)) (ResolvedEndpoint, error)
+
+// EndpointFor wraps the ResolverFunc function to satisfy the Resolver interface.
+func (fn ResolverFunc) EndpointFor(service, region string, opts ...func(*Options)) (ResolvedEndpoint, error) {
+ return fn(service, region, opts...)
+}
+
+var schemeRE = regexp.MustCompile("^([^:]+)://")
+
+// AddScheme adds the HTTP or HTTPS schemes to a endpoint URL if there is no
+// scheme. If disableSSL is true HTTP will set HTTP instead of the default HTTPS.
+//
+// If disableSSL is set, it will only set the URL's scheme if the URL does not
+// contain a scheme.
+func AddScheme(endpoint string, disableSSL bool) string {
+ if !schemeRE.MatchString(endpoint) {
+ scheme := "https"
+ if disableSSL {
+ scheme = "http"
+ }
+ endpoint = fmt.Sprintf("%s://%s", scheme, endpoint)
+ }
+
+ return endpoint
+}
+
+// EnumPartitions a provides a way to retrieve the underlying partitions that
+// make up the SDK's default Resolver, or any resolver decoded from a model
+// file.
+//
+// Use this interface with DefaultResolver and DecodeModels to get the list of
+// Partitions.
+type EnumPartitions interface {
+ Partitions() []Partition
+}
+
+// RegionsForService returns a map of regions for the partition and service.
+// If either the partition or service does not exist false will be returned
+// as the second parameter.
+//
+// This example shows how to get the regions for DynamoDB in the AWS partition.
+// rs, exists := endpoints.RegionsForService(endpoints.DefaultPartitions(), endpoints.AwsPartitionID, endpoints.DynamodbServiceID)
+//
+// This is equivalent to using the partition directly.
+// rs := endpoints.AwsPartition().Services()[endpoints.DynamodbServiceID].Regions()
+func RegionsForService(ps []Partition, partitionID, serviceID string) (map[string]Region, bool) {
+ for _, p := range ps {
+ if p.ID() != partitionID {
+ continue
+ }
+ if _, ok := p.p.Services[serviceID]; !ok {
+ break
+ }
+
+ s := Service{
+ id: serviceID,
+ p: p.p,
+ }
+ return s.Regions(), true
+ }
+
+ return map[string]Region{}, false
+}
+
+// PartitionForRegion returns the first partition which includes the region
+// passed in. This includes both known regions and regions which match
+// a pattern supported by the partition which may include regions that are
+// not explicitly known by the partition. Use the Regions method of the
+// returned Partition if explicit support is needed.
+func PartitionForRegion(ps []Partition, regionID string) (Partition, bool) {
+ for _, p := range ps {
+ if _, ok := p.p.Regions[regionID]; ok || p.p.RegionRegex.MatchString(regionID) {
+ return p, true
+ }
+ }
+
+ return Partition{}, false
+}
+
+// A Partition provides the ability to enumerate the partition's regions
+// and services.
+type Partition struct {
+ id string
+ p *partition
+}
+
+// ID returns the identifier of the partition.
+func (p Partition) ID() string { return p.id }
+
+// EndpointFor attempts to resolve the endpoint based on service and region.
+// See Options for information on configuring how the endpoint is resolved.
+//
+// If the service cannot be found in the metadata the UnknownServiceError
+// error will be returned. This validation will occur regardless if
+// StrictMatching is enabled. To enable resolving unknown services set the
+// "ResolveUnknownService" option to true. When StrictMatching is disabled
+// this option allows the partition resolver to resolve a endpoint based on
+// the service endpoint ID provided.
+//
+// When resolving endpoints you can choose to enable StrictMatching. This will
+// require the provided service and region to be known by the partition.
+// If the endpoint cannot be strictly resolved an error will be returned. This
+// mode is useful to ensure the endpoint resolved is valid. Without
+// StrictMatching enabled the endpoint returned my look valid but may not work.
+// StrictMatching requires the SDK to be updated if you want to take advantage
+// of new regions and services expansions.
+//
+// Errors that can be returned.
+// * UnknownServiceError
+// * UnknownEndpointError
+func (p Partition) EndpointFor(service, region string, opts ...func(*Options)) (ResolvedEndpoint, error) {
+ return p.p.EndpointFor(service, region, opts...)
+}
+
+// Regions returns a map of Regions indexed by their ID. This is useful for
+// enumerating over the regions in a partition.
+func (p Partition) Regions() map[string]Region {
+ rs := map[string]Region{}
+ for id := range p.p.Regions {
+ rs[id] = Region{
+ id: id,
+ p: p.p,
+ }
+ }
+
+ return rs
+}
+
+// Services returns a map of Service indexed by their ID. This is useful for
+// enumerating over the services in a partition.
+func (p Partition) Services() map[string]Service {
+ ss := map[string]Service{}
+ for id := range p.p.Services {
+ ss[id] = Service{
+ id: id,
+ p: p.p,
+ }
+ }
+
+ return ss
+}
+
+// A Region provides information about a region, and ability to resolve an
+// endpoint from the context of a region, given a service.
+type Region struct {
+ id, desc string
+ p *partition
+}
+
+// ID returns the region's identifier.
+func (r Region) ID() string { return r.id }
+
+// ResolveEndpoint resolves an endpoint from the context of the region given
+// a service. See Partition.EndpointFor for usage and errors that can be returned.
+func (r Region) ResolveEndpoint(service string, opts ...func(*Options)) (ResolvedEndpoint, error) {
+ return r.p.EndpointFor(service, r.id, opts...)
+}
+
+// Services returns a list of all services that are known to be in this region.
+func (r Region) Services() map[string]Service {
+ ss := map[string]Service{}
+ for id, s := range r.p.Services {
+ if _, ok := s.Endpoints[r.id]; ok {
+ ss[id] = Service{
+ id: id,
+ p: r.p,
+ }
+ }
+ }
+
+ return ss
+}
+
+// A Service provides information about a service, and ability to resolve an
+// endpoint from the context of a service, given a region.
+type Service struct {
+ id string
+ p *partition
+}
+
+// ID returns the identifier for the service.
+func (s Service) ID() string { return s.id }
+
+// ResolveEndpoint resolves an endpoint from the context of a service given
+// a region. See Partition.EndpointFor for usage and errors that can be returned.
+func (s Service) ResolveEndpoint(region string, opts ...func(*Options)) (ResolvedEndpoint, error) {
+ return s.p.EndpointFor(s.id, region, opts...)
+}
+
+// Regions returns a map of Regions that the service is present in.
+//
+// A region is the AWS region the service exists in. Whereas a Endpoint is
+// an URL that can be resolved to a instance of a service.
+func (s Service) Regions() map[string]Region {
+ rs := map[string]Region{}
+ for id := range s.p.Services[s.id].Endpoints {
+ if _, ok := s.p.Regions[id]; ok {
+ rs[id] = Region{
+ id: id,
+ p: s.p,
+ }
+ }
+ }
+
+ return rs
+}
+
+// Endpoints returns a map of Endpoints indexed by their ID for all known
+// endpoints for a service.
+//
+// A region is the AWS region the service exists in. Whereas a Endpoint is
+// an URL that can be resolved to a instance of a service.
+func (s Service) Endpoints() map[string]Endpoint {
+ es := map[string]Endpoint{}
+ for id := range s.p.Services[s.id].Endpoints {
+ es[id] = Endpoint{
+ id: id,
+ serviceID: s.id,
+ p: s.p,
+ }
+ }
+
+ return es
+}
+
+// A Endpoint provides information about endpoints, and provides the ability
+// to resolve that endpoint for the service, and the region the endpoint
+// represents.
+type Endpoint struct {
+ id string
+ serviceID string
+ p *partition
+}
+
+// ID returns the identifier for an endpoint.
+func (e Endpoint) ID() string { return e.id }
+
+// ServiceID returns the identifier the endpoint belongs to.
+func (e Endpoint) ServiceID() string { return e.serviceID }
+
+// ResolveEndpoint resolves an endpoint from the context of a service and
+// region the endpoint represents. See Partition.EndpointFor for usage and
+// errors that can be returned.
+func (e Endpoint) ResolveEndpoint(opts ...func(*Options)) (ResolvedEndpoint, error) {
+ return e.p.EndpointFor(e.serviceID, e.id, opts...)
+}
+
+// A ResolvedEndpoint is an endpoint that has been resolved based on a partition
+// service, and region.
+type ResolvedEndpoint struct {
+ // The endpoint URL
+ URL string
+
+ // The region that should be used for signing requests.
+ SigningRegion string
+
+ // The service name that should be used for signing requests.
+ SigningName string
+
+ // The signing method that should be used for signing requests.
+ SigningMethod string
+}
+
+// So that the Error interface type can be included as an anonymous field
+// in the requestError struct and not conflict with the error.Error() method.
+type awsError awserr.Error
+
+// A EndpointNotFoundError is returned when in StrictMatching mode, and the
+// endpoint for the service and region cannot be found in any of the partitions.
+type EndpointNotFoundError struct {
+ awsError
+ Partition string
+ Service string
+ Region string
+}
+
+// A UnknownServiceError is returned when the service does not resolve to an
+// endpoint. Includes a list of all known services for the partition. Returned
+// when a partition does not support the service.
+type UnknownServiceError struct {
+ awsError
+ Partition string
+ Service string
+ Known []string
+}
+
+// NewUnknownServiceError builds and returns UnknownServiceError.
+func NewUnknownServiceError(p, s string, known []string) UnknownServiceError {
+ return UnknownServiceError{
+ awsError: awserr.New("UnknownServiceError",
+ "could not resolve endpoint for unknown service", nil),
+ Partition: p,
+ Service: s,
+ Known: known,
+ }
+}
+
+// String returns the string representation of the error.
+func (e UnknownServiceError) Error() string {
+ extra := fmt.Sprintf("partition: %q, service: %q",
+ e.Partition, e.Service)
+ if len(e.Known) > 0 {
+ extra += fmt.Sprintf(", known: %v", e.Known)
+ }
+ return awserr.SprintError(e.Code(), e.Message(), extra, e.OrigErr())
+}
+
+// String returns the string representation of the error.
+func (e UnknownServiceError) String() string {
+ return e.Error()
+}
+
+// A UnknownEndpointError is returned when in StrictMatching mode and the
+// service is valid, but the region does not resolve to an endpoint. Includes
+// a list of all known endpoints for the service.
+type UnknownEndpointError struct {
+ awsError
+ Partition string
+ Service string
+ Region string
+ Known []string
+}
+
+// NewUnknownEndpointError builds and returns UnknownEndpointError.
+func NewUnknownEndpointError(p, s, r string, known []string) UnknownEndpointError {
+ return UnknownEndpointError{
+ awsError: awserr.New("UnknownEndpointError",
+ "could not resolve endpoint", nil),
+ Partition: p,
+ Service: s,
+ Region: r,
+ Known: known,
+ }
+}
+
+// String returns the string representation of the error.
+func (e UnknownEndpointError) Error() string {
+ extra := fmt.Sprintf("partition: %q, service: %q, region: %q",
+ e.Partition, e.Service, e.Region)
+ if len(e.Known) > 0 {
+ extra += fmt.Sprintf(", known: %v", e.Known)
+ }
+ return awserr.SprintError(e.Code(), e.Message(), extra, e.OrigErr())
+}
+
+// String returns the string representation of the error.
+func (e UnknownEndpointError) String() string {
+ return e.Error()
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go
new file mode 100644
index 000000000..13d968a24
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go
@@ -0,0 +1,303 @@
+package endpoints
+
+import (
+ "fmt"
+ "regexp"
+ "strconv"
+ "strings"
+)
+
+type partitions []partition
+
+func (ps partitions) EndpointFor(service, region string, opts ...func(*Options)) (ResolvedEndpoint, error) {
+ var opt Options
+ opt.Set(opts...)
+
+ for i := 0; i < len(ps); i++ {
+ if !ps[i].canResolveEndpoint(service, region, opt.StrictMatching) {
+ continue
+ }
+
+ return ps[i].EndpointFor(service, region, opts...)
+ }
+
+ // If loose matching fallback to first partition format to use
+ // when resolving the endpoint.
+ if !opt.StrictMatching && len(ps) > 0 {
+ return ps[0].EndpointFor(service, region, opts...)
+ }
+
+ return ResolvedEndpoint{}, NewUnknownEndpointError("all partitions", service, region, []string{})
+}
+
+// Partitions satisfies the EnumPartitions interface and returns a list
+// of Partitions representing each partition represented in the SDK's
+// endpoints model.
+func (ps partitions) Partitions() []Partition {
+ parts := make([]Partition, 0, len(ps))
+ for i := 0; i < len(ps); i++ {
+ parts = append(parts, ps[i].Partition())
+ }
+
+ return parts
+}
+
+type partition struct {
+ ID string `json:"partition"`
+ Name string `json:"partitionName"`
+ DNSSuffix string `json:"dnsSuffix"`
+ RegionRegex regionRegex `json:"regionRegex"`
+ Defaults endpoint `json:"defaults"`
+ Regions regions `json:"regions"`
+ Services services `json:"services"`
+}
+
+func (p partition) Partition() Partition {
+ return Partition{
+ id: p.ID,
+ p: &p,
+ }
+}
+
+func (p partition) canResolveEndpoint(service, region string, strictMatch bool) bool {
+ s, hasService := p.Services[service]
+ _, hasEndpoint := s.Endpoints[region]
+
+ if hasEndpoint && hasService {
+ return true
+ }
+
+ if strictMatch {
+ return false
+ }
+
+ return p.RegionRegex.MatchString(region)
+}
+
+func (p partition) EndpointFor(service, region string, opts ...func(*Options)) (resolved ResolvedEndpoint, err error) {
+ var opt Options
+ opt.Set(opts...)
+
+ s, hasService := p.Services[service]
+ if !(hasService || opt.ResolveUnknownService) {
+ // Only return error if the resolver will not fallback to creating
+ // endpoint based on service endpoint ID passed in.
+ return resolved, NewUnknownServiceError(p.ID, service, serviceList(p.Services))
+ }
+
+ e, hasEndpoint := s.endpointForRegion(region)
+ if !hasEndpoint && opt.StrictMatching {
+ return resolved, NewUnknownEndpointError(p.ID, service, region, endpointList(s.Endpoints))
+ }
+
+ defs := []endpoint{p.Defaults, s.Defaults}
+ return e.resolve(service, region, p.DNSSuffix, defs, opt), nil
+}
+
+func serviceList(ss services) []string {
+ list := make([]string, 0, len(ss))
+ for k := range ss {
+ list = append(list, k)
+ }
+ return list
+}
+func endpointList(es endpoints) []string {
+ list := make([]string, 0, len(es))
+ for k := range es {
+ list = append(list, k)
+ }
+ return list
+}
+
+type regionRegex struct {
+ *regexp.Regexp
+}
+
+func (rr *regionRegex) UnmarshalJSON(b []byte) (err error) {
+ // Strip leading and trailing quotes
+ regex, err := strconv.Unquote(string(b))
+ if err != nil {
+ return fmt.Errorf("unable to strip quotes from regex, %v", err)
+ }
+
+ rr.Regexp, err = regexp.Compile(regex)
+ if err != nil {
+ return fmt.Errorf("unable to unmarshal region regex, %v", err)
+ }
+ return nil
+}
+
+type regions map[string]region
+
+type region struct {
+ Description string `json:"description"`
+}
+
+type services map[string]service
+
+type service struct {
+ PartitionEndpoint string `json:"partitionEndpoint"`
+ IsRegionalized boxedBool `json:"isRegionalized,omitempty"`
+ Defaults endpoint `json:"defaults"`
+ Endpoints endpoints `json:"endpoints"`
+}
+
+func (s *service) endpointForRegion(region string) (endpoint, bool) {
+ if s.IsRegionalized == boxedFalse {
+ return s.Endpoints[s.PartitionEndpoint], region == s.PartitionEndpoint
+ }
+
+ if e, ok := s.Endpoints[region]; ok {
+ return e, true
+ }
+
+ // Unable to find any matching endpoint, return
+ // blank that will be used for generic endpoint creation.
+ return endpoint{}, false
+}
+
+type endpoints map[string]endpoint
+
+type endpoint struct {
+ Hostname string `json:"hostname"`
+ Protocols []string `json:"protocols"`
+ CredentialScope credentialScope `json:"credentialScope"`
+
+ // Custom fields not modeled
+ HasDualStack boxedBool `json:"-"`
+ DualStackHostname string `json:"-"`
+
+ // Signature Version not used
+ SignatureVersions []string `json:"signatureVersions"`
+
+ // SSLCommonName not used.
+ SSLCommonName string `json:"sslCommonName"`
+}
+
+const (
+ defaultProtocol = "https"
+ defaultSigner = "v4"
+)
+
+var (
+ protocolPriority = []string{"https", "http"}
+ signerPriority = []string{"v4", "v2"}
+)
+
+func getByPriority(s []string, p []string, def string) string {
+ if len(s) == 0 {
+ return def
+ }
+
+ for i := 0; i < len(p); i++ {
+ for j := 0; j < len(s); j++ {
+ if s[j] == p[i] {
+ return s[j]
+ }
+ }
+ }
+
+ return s[0]
+}
+
+func (e endpoint) resolve(service, region, dnsSuffix string, defs []endpoint, opts Options) ResolvedEndpoint {
+ var merged endpoint
+ for _, def := range defs {
+ merged.mergeIn(def)
+ }
+ merged.mergeIn(e)
+ e = merged
+
+ hostname := e.Hostname
+
+ // Offset the hostname for dualstack if enabled
+ if opts.UseDualStack && e.HasDualStack == boxedTrue {
+ hostname = e.DualStackHostname
+ }
+
+ u := strings.Replace(hostname, "{service}", service, 1)
+ u = strings.Replace(u, "{region}", region, 1)
+ u = strings.Replace(u, "{dnsSuffix}", dnsSuffix, 1)
+
+ scheme := getEndpointScheme(e.Protocols, opts.DisableSSL)
+ u = fmt.Sprintf("%s://%s", scheme, u)
+
+ signingRegion := e.CredentialScope.Region
+ if len(signingRegion) == 0 {
+ signingRegion = region
+ }
+ signingName := e.CredentialScope.Service
+ if len(signingName) == 0 {
+ signingName = service
+ }
+
+ return ResolvedEndpoint{
+ URL: u,
+ SigningRegion: signingRegion,
+ SigningName: signingName,
+ SigningMethod: getByPriority(e.SignatureVersions, signerPriority, defaultSigner),
+ }
+}
+
+func getEndpointScheme(protocols []string, disableSSL bool) string {
+ if disableSSL {
+ return "http"
+ }
+
+ return getByPriority(protocols, protocolPriority, defaultProtocol)
+}
+
+func (e *endpoint) mergeIn(other endpoint) {
+ if len(other.Hostname) > 0 {
+ e.Hostname = other.Hostname
+ }
+ if len(other.Protocols) > 0 {
+ e.Protocols = other.Protocols
+ }
+ if len(other.SignatureVersions) > 0 {
+ e.SignatureVersions = other.SignatureVersions
+ }
+ if len(other.CredentialScope.Region) > 0 {
+ e.CredentialScope.Region = other.CredentialScope.Region
+ }
+ if len(other.CredentialScope.Service) > 0 {
+ e.CredentialScope.Service = other.CredentialScope.Service
+ }
+ if len(other.SSLCommonName) > 0 {
+ e.SSLCommonName = other.SSLCommonName
+ }
+ if other.HasDualStack != boxedBoolUnset {
+ e.HasDualStack = other.HasDualStack
+ }
+ if len(other.DualStackHostname) > 0 {
+ e.DualStackHostname = other.DualStackHostname
+ }
+}
+
+type credentialScope struct {
+ Region string `json:"region"`
+ Service string `json:"service"`
+}
+
+type boxedBool int
+
+func (b *boxedBool) UnmarshalJSON(buf []byte) error {
+ v, err := strconv.ParseBool(string(buf))
+ if err != nil {
+ return err
+ }
+
+ if v {
+ *b = boxedTrue
+ } else {
+ *b = boxedFalse
+ }
+
+ return nil
+}
+
+const (
+ boxedBoolUnset boxedBool = iota
+ boxedFalse
+ boxedTrue
+)
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go
new file mode 100644
index 000000000..05e92df22
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go
@@ -0,0 +1,337 @@
+// +build codegen
+
+package endpoints
+
+import (
+ "fmt"
+ "io"
+ "reflect"
+ "strings"
+ "text/template"
+ "unicode"
+)
+
+// A CodeGenOptions are the options for code generating the endpoints into
+// Go code from the endpoints model definition.
+type CodeGenOptions struct {
+ // Options for how the model will be decoded.
+ DecodeModelOptions DecodeModelOptions
+}
+
+// Set combines all of the option functions together
+func (d *CodeGenOptions) Set(optFns ...func(*CodeGenOptions)) {
+ for _, fn := range optFns {
+ fn(d)
+ }
+}
+
+// CodeGenModel given a endpoints model file will decode it and attempt to
+// generate Go code from the model definition. Error will be returned if
+// the code is unable to be generated, or decoded.
+func CodeGenModel(modelFile io.Reader, outFile io.Writer, optFns ...func(*CodeGenOptions)) error {
+ var opts CodeGenOptions
+ opts.Set(optFns...)
+
+ resolver, err := DecodeModel(modelFile, func(d *DecodeModelOptions) {
+ *d = opts.DecodeModelOptions
+ })
+ if err != nil {
+ return err
+ }
+
+ tmpl := template.Must(template.New("tmpl").Funcs(funcMap).Parse(v3Tmpl))
+ if err := tmpl.ExecuteTemplate(outFile, "defaults", resolver); err != nil {
+ return fmt.Errorf("failed to execute template, %v", err)
+ }
+
+ return nil
+}
+
+func toSymbol(v string) string {
+ out := []rune{}
+ for _, c := range strings.Title(v) {
+ if !(unicode.IsNumber(c) || unicode.IsLetter(c)) {
+ continue
+ }
+
+ out = append(out, c)
+ }
+
+ return string(out)
+}
+
+func quoteString(v string) string {
+ return fmt.Sprintf("%q", v)
+}
+
+func regionConstName(p, r string) string {
+ return toSymbol(p) + toSymbol(r)
+}
+
+func partitionGetter(id string) string {
+ return fmt.Sprintf("%sPartition", toSymbol(id))
+}
+
+func partitionVarName(id string) string {
+ return fmt.Sprintf("%sPartition", strings.ToLower(toSymbol(id)))
+}
+
+func listPartitionNames(ps partitions) string {
+ names := []string{}
+ switch len(ps) {
+ case 1:
+ return ps[0].Name
+ case 2:
+ return fmt.Sprintf("%s and %s", ps[0].Name, ps[1].Name)
+ default:
+ for i, p := range ps {
+ if i == len(ps)-1 {
+ names = append(names, "and "+p.Name)
+ } else {
+ names = append(names, p.Name)
+ }
+ }
+ return strings.Join(names, ", ")
+ }
+}
+
+func boxedBoolIfSet(msg string, v boxedBool) string {
+ switch v {
+ case boxedTrue:
+ return fmt.Sprintf(msg, "boxedTrue")
+ case boxedFalse:
+ return fmt.Sprintf(msg, "boxedFalse")
+ default:
+ return ""
+ }
+}
+
+func stringIfSet(msg, v string) string {
+ if len(v) == 0 {
+ return ""
+ }
+
+ return fmt.Sprintf(msg, v)
+}
+
+func stringSliceIfSet(msg string, vs []string) string {
+ if len(vs) == 0 {
+ return ""
+ }
+
+ names := []string{}
+ for _, v := range vs {
+ names = append(names, `"`+v+`"`)
+ }
+
+ return fmt.Sprintf(msg, strings.Join(names, ","))
+}
+
+func endpointIsSet(v endpoint) bool {
+ return !reflect.DeepEqual(v, endpoint{})
+}
+
+func serviceSet(ps partitions) map[string]struct{} {
+ set := map[string]struct{}{}
+ for _, p := range ps {
+ for id := range p.Services {
+ set[id] = struct{}{}
+ }
+ }
+
+ return set
+}
+
+var funcMap = template.FuncMap{
+ "ToSymbol": toSymbol,
+ "QuoteString": quoteString,
+ "RegionConst": regionConstName,
+ "PartitionGetter": partitionGetter,
+ "PartitionVarName": partitionVarName,
+ "ListPartitionNames": listPartitionNames,
+ "BoxedBoolIfSet": boxedBoolIfSet,
+ "StringIfSet": stringIfSet,
+ "StringSliceIfSet": stringSliceIfSet,
+ "EndpointIsSet": endpointIsSet,
+ "ServicesSet": serviceSet,
+}
+
+const v3Tmpl = `
+{{ define "defaults" -}}
+// Code generated by aws/endpoints/v3model_codegen.go. DO NOT EDIT.
+
+package endpoints
+
+import (
+ "regexp"
+)
+
+ {{ template "partition consts" . }}
+
+ {{ range $_, $partition := . }}
+ {{ template "partition region consts" $partition }}
+ {{ end }}
+
+ {{ template "service consts" . }}
+
+ {{ template "endpoint resolvers" . }}
+{{- end }}
+
+{{ define "partition consts" }}
+ // Partition identifiers
+ const (
+ {{ range $_, $p := . -}}
+ {{ ToSymbol $p.ID }}PartitionID = {{ QuoteString $p.ID }} // {{ $p.Name }} partition.
+ {{ end -}}
+ )
+{{- end }}
+
+{{ define "partition region consts" }}
+ // {{ .Name }} partition's regions.
+ const (
+ {{ range $id, $region := .Regions -}}
+ {{ ToSymbol $id }}RegionID = {{ QuoteString $id }} // {{ $region.Description }}.
+ {{ end -}}
+ )
+{{- end }}
+
+{{ define "service consts" }}
+ // Service identifiers
+ const (
+ {{ $serviceSet := ServicesSet . -}}
+ {{ range $id, $_ := $serviceSet -}}
+ {{ ToSymbol $id }}ServiceID = {{ QuoteString $id }} // {{ ToSymbol $id }}.
+ {{ end -}}
+ )
+{{- end }}
+
+{{ define "endpoint resolvers" }}
+ // DefaultResolver returns an Endpoint resolver that will be able
+ // to resolve endpoints for: {{ ListPartitionNames . }}.
+ //
+ // Use DefaultPartitions() to get the list of the default partitions.
+ func DefaultResolver() Resolver {
+ return defaultPartitions
+ }
+
+ // DefaultPartitions returns a list of the partitions the SDK is bundled
+ // with. The available partitions are: {{ ListPartitionNames . }}.
+ //
+ // partitions := endpoints.DefaultPartitions
+ // for _, p := range partitions {
+ // // ... inspect partitions
+ // }
+ func DefaultPartitions() []Partition {
+ return defaultPartitions.Partitions()
+ }
+
+ var defaultPartitions = partitions{
+ {{ range $_, $partition := . -}}
+ {{ PartitionVarName $partition.ID }},
+ {{ end }}
+ }
+
+ {{ range $_, $partition := . -}}
+ {{ $name := PartitionGetter $partition.ID -}}
+ // {{ $name }} returns the Resolver for {{ $partition.Name }}.
+ func {{ $name }}() Partition {
+ return {{ PartitionVarName $partition.ID }}.Partition()
+ }
+ var {{ PartitionVarName $partition.ID }} = {{ template "gocode Partition" $partition }}
+ {{ end }}
+{{ end }}
+
+{{ define "default partitions" }}
+ func DefaultPartitions() []Partition {
+ return []partition{
+ {{ range $_, $partition := . -}}
+ // {{ ToSymbol $partition.ID}}Partition(),
+ {{ end }}
+ }
+ }
+{{ end }}
+
+{{ define "gocode Partition" -}}
+partition{
+ {{ StringIfSet "ID: %q,\n" .ID -}}
+ {{ StringIfSet "Name: %q,\n" .Name -}}
+ {{ StringIfSet "DNSSuffix: %q,\n" .DNSSuffix -}}
+ RegionRegex: {{ template "gocode RegionRegex" .RegionRegex }},
+ {{ if EndpointIsSet .Defaults -}}
+ Defaults: {{ template "gocode Endpoint" .Defaults }},
+ {{- end }}
+ Regions: {{ template "gocode Regions" .Regions }},
+ Services: {{ template "gocode Services" .Services }},
+}
+{{- end }}
+
+{{ define "gocode RegionRegex" -}}
+regionRegex{
+ Regexp: func() *regexp.Regexp{
+ reg, _ := regexp.Compile({{ QuoteString .Regexp.String }})
+ return reg
+ }(),
+}
+{{- end }}
+
+{{ define "gocode Regions" -}}
+regions{
+ {{ range $id, $region := . -}}
+ "{{ $id }}": {{ template "gocode Region" $region }},
+ {{ end -}}
+}
+{{- end }}
+
+{{ define "gocode Region" -}}
+region{
+ {{ StringIfSet "Description: %q,\n" .Description -}}
+}
+{{- end }}
+
+{{ define "gocode Services" -}}
+services{
+ {{ range $id, $service := . -}}
+ "{{ $id }}": {{ template "gocode Service" $service }},
+ {{ end }}
+}
+{{- end }}
+
+{{ define "gocode Service" -}}
+service{
+ {{ StringIfSet "PartitionEndpoint: %q,\n" .PartitionEndpoint -}}
+ {{ BoxedBoolIfSet "IsRegionalized: %s,\n" .IsRegionalized -}}
+ {{ if EndpointIsSet .Defaults -}}
+ Defaults: {{ template "gocode Endpoint" .Defaults -}},
+ {{- end }}
+ {{ if .Endpoints -}}
+ Endpoints: {{ template "gocode Endpoints" .Endpoints }},
+ {{- end }}
+}
+{{- end }}
+
+{{ define "gocode Endpoints" -}}
+endpoints{
+ {{ range $id, $endpoint := . -}}
+ "{{ $id }}": {{ template "gocode Endpoint" $endpoint }},
+ {{ end }}
+}
+{{- end }}
+
+{{ define "gocode Endpoint" -}}
+endpoint{
+ {{ StringIfSet "Hostname: %q,\n" .Hostname -}}
+ {{ StringIfSet "SSLCommonName: %q,\n" .SSLCommonName -}}
+ {{ StringSliceIfSet "Protocols: []string{%s},\n" .Protocols -}}
+ {{ StringSliceIfSet "SignatureVersions: []string{%s},\n" .SignatureVersions -}}
+ {{ if or .CredentialScope.Region .CredentialScope.Service -}}
+ CredentialScope: credentialScope{
+ {{ StringIfSet "Region: %q,\n" .CredentialScope.Region -}}
+ {{ StringIfSet "Service: %q,\n" .CredentialScope.Service -}}
+ },
+ {{- end }}
+ {{ BoxedBoolIfSet "HasDualStack: %s,\n" .HasDualStack -}}
+ {{ StringIfSet "DualStackHostname: %q,\n" .DualStackHostname -}}
+
+}
+{{- end }}
+`
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/jsonvalue.go b/vendor/github.com/aws/aws-sdk-go/aws/jsonvalue.go
new file mode 100644
index 000000000..91a6f277a
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/jsonvalue.go
@@ -0,0 +1,12 @@
+package aws
+
+// JSONValue is a representation of a grab bag type that will be marshaled
+// into a json string. This type can be used just like any other map.
+//
+// Example:
+//
+// values := aws.JSONValue{
+// "Foo": "Bar",
+// }
+// values["Baz"] = "Qux"
+type JSONValue map[string]interface{}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/logger.go b/vendor/github.com/aws/aws-sdk-go/aws/logger.go
index db87188e2..3babb5abd 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/logger.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/logger.go
@@ -26,14 +26,14 @@ func (l *LogLevelType) Value() LogLevelType {
// Matches returns true if the v LogLevel is enabled by this LogLevel. Should be
// used with logging sub levels. Is safe to use on nil value LogLevelTypes. If
-// LogLevel is nill, will default to LogOff comparison.
+// LogLevel is nil, will default to LogOff comparison.
func (l *LogLevelType) Matches(v LogLevelType) bool {
c := l.Value()
return c&v == v
}
// AtLeast returns true if this LogLevel is at least high enough to satisfies v.
-// Is safe to use on nil value LogLevelTypes. If LogLevel is nill, will default
+// Is safe to use on nil value LogLevelTypes. If LogLevel is nil, will default
// to LogOff comparison.
func (l *LogLevelType) AtLeast(v LogLevelType) bool {
c := l.Value()
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error.go b/vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error.go
new file mode 100644
index 000000000..271da432c
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error.go
@@ -0,0 +1,19 @@
+// +build !appengine,!plan9
+
+package request
+
+import (
+ "net"
+ "os"
+ "syscall"
+)
+
+func isErrConnectionReset(err error) bool {
+ if opErr, ok := err.(*net.OpError); ok {
+ if sysErr, ok := opErr.Err.(*os.SyscallError); ok {
+ return sysErr.Err == syscall.ECONNRESET
+ }
+ }
+
+ return false
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error_other.go b/vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error_other.go
new file mode 100644
index 000000000..daf9eca43
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error_other.go
@@ -0,0 +1,11 @@
+// +build appengine plan9
+
+package request
+
+import (
+ "strings"
+)
+
+func isErrConnectionReset(err error) bool {
+ return strings.Contains(err.Error(), "connection reset")
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go b/vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go
index 5279c19c0..802ac88ad 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go
@@ -18,6 +18,7 @@ type Handlers struct {
UnmarshalError HandlerList
Retry HandlerList
AfterRetry HandlerList
+ Complete HandlerList
}
// Copy returns of this handler's lists.
@@ -33,6 +34,7 @@ func (h *Handlers) Copy() Handlers {
UnmarshalMeta: h.UnmarshalMeta.copy(),
Retry: h.Retry.copy(),
AfterRetry: h.AfterRetry.copy(),
+ Complete: h.Complete.copy(),
}
}
@@ -48,6 +50,7 @@ func (h *Handlers) Clear() {
h.ValidateResponse.Clear()
h.Retry.Clear()
h.AfterRetry.Clear()
+ h.Complete.Clear()
}
// A HandlerListRunItem represents an entry in the HandlerList which
@@ -85,13 +88,17 @@ func (l *HandlerList) copy() HandlerList {
n := HandlerList{
AfterEachFn: l.AfterEachFn,
}
- n.list = append([]NamedHandler{}, l.list...)
+ if len(l.list) == 0 {
+ return n
+ }
+
+ n.list = append(make([]NamedHandler, 0, len(l.list)), l.list...)
return n
}
// Clear clears the handler list.
func (l *HandlerList) Clear() {
- l.list = []NamedHandler{}
+ l.list = l.list[0:0]
}
// Len returns the number of handlers in the list.
@@ -101,33 +108,85 @@ func (l *HandlerList) Len() int {
// PushBack pushes handler f to the back of the handler list.
func (l *HandlerList) PushBack(f func(*Request)) {
- l.list = append(l.list, NamedHandler{"__anonymous", f})
-}
-
-// PushFront pushes handler f to the front of the handler list.
-func (l *HandlerList) PushFront(f func(*Request)) {
- l.list = append([]NamedHandler{{"__anonymous", f}}, l.list...)
+ l.PushBackNamed(NamedHandler{"__anonymous", f})
}
// PushBackNamed pushes named handler f to the back of the handler list.
func (l *HandlerList) PushBackNamed(n NamedHandler) {
+ if cap(l.list) == 0 {
+ l.list = make([]NamedHandler, 0, 5)
+ }
l.list = append(l.list, n)
}
+// PushFront pushes handler f to the front of the handler list.
+func (l *HandlerList) PushFront(f func(*Request)) {
+ l.PushFrontNamed(NamedHandler{"__anonymous", f})
+}
+
// PushFrontNamed pushes named handler f to the front of the handler list.
func (l *HandlerList) PushFrontNamed(n NamedHandler) {
- l.list = append([]NamedHandler{n}, l.list...)
+ if cap(l.list) == len(l.list) {
+ // Allocating new list required
+ l.list = append([]NamedHandler{n}, l.list...)
+ } else {
+ // Enough room to prepend into list.
+ l.list = append(l.list, NamedHandler{})
+ copy(l.list[1:], l.list)
+ l.list[0] = n
+ }
}
// Remove removes a NamedHandler n
func (l *HandlerList) Remove(n NamedHandler) {
- newlist := []NamedHandler{}
- for _, m := range l.list {
- if m.Name != n.Name {
- newlist = append(newlist, m)
+ l.RemoveByName(n.Name)
+}
+
+// RemoveByName removes a NamedHandler by name.
+func (l *HandlerList) RemoveByName(name string) {
+ for i := 0; i < len(l.list); i++ {
+ m := l.list[i]
+ if m.Name == name {
+ // Shift array preventing creating new arrays
+ copy(l.list[i:], l.list[i+1:])
+ l.list[len(l.list)-1] = NamedHandler{}
+ l.list = l.list[:len(l.list)-1]
+
+ // decrement list so next check to length is correct
+ i--
}
}
- l.list = newlist
+}
+
+// SwapNamed will swap out any existing handlers with the same name as the
+// passed in NamedHandler returning true if handlers were swapped. False is
+// returned otherwise.
+func (l *HandlerList) SwapNamed(n NamedHandler) (swapped bool) {
+ for i := 0; i < len(l.list); i++ {
+ if l.list[i].Name == n.Name {
+ l.list[i].Fn = n.Fn
+ swapped = true
+ }
+ }
+
+ return swapped
+}
+
+// SetBackNamed will replace the named handler if it exists in the handler list.
+// If the handler does not exist the handler will be added to the end of the list.
+func (l *HandlerList) SetBackNamed(n NamedHandler) {
+ if !l.SwapNamed(n) {
+ l.PushBackNamed(n)
+ }
+}
+
+// SetFrontNamed will replace the named handler if it exists in the handler list.
+// If the handler does not exist the handler will be added to the beginning of
+// the list.
+func (l *HandlerList) SetFrontNamed(n NamedHandler) {
+ if !l.SwapNamed(n) {
+ l.PushFrontNamed(n)
+ }
}
// Run executes all handlers in the list with a given request object.
@@ -163,6 +222,16 @@ func HandlerListStopOnError(item HandlerListRunItem) bool {
return item.Request.Error == nil
}
+// WithAppendUserAgent will add a string to the user agent prefixed with a
+// single white space.
+func WithAppendUserAgent(s string) Option {
+ return func(r *Request) {
+ r.Handlers.Build.PushBack(func(r2 *Request) {
+ AddToUserAgent(r, s)
+ })
+ }
+}
+
// MakeAddToUserAgentHandler will add the name/version pair to the User-Agent request
// header. If the extra parameters are provided they will be added as metadata to the
// name/version pair resulting in the following format.
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/http_request.go b/vendor/github.com/aws/aws-sdk-go/aws/request/http_request.go
index a4087f20e..79f79602b 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/request/http_request.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/http_request.go
@@ -1,5 +1,3 @@
-// +build go1.5
-
package request
import (
@@ -9,20 +7,13 @@ import (
)
func copyHTTPRequest(r *http.Request, body io.ReadCloser) *http.Request {
- req := &http.Request{
- URL: &url.URL{},
- Header: http.Header{},
- Close: r.Close,
- Body: body,
- Host: r.Host,
- Method: r.Method,
- Proto: r.Proto,
- ContentLength: r.ContentLength,
- // Cancel will be deprecated in 1.7 and will be replaced with Context
- Cancel: r.Cancel,
- }
-
+ req := new(http.Request)
+ *req = *r
+ req.URL = &url.URL{}
*req.URL = *r.URL
+ req.Body = body
+
+ req.Header = http.Header{}
for k, v := range r.Header {
for _, vv := range v {
req.Header.Add(k, vv)
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/http_request_1_4.go b/vendor/github.com/aws/aws-sdk-go/aws/request/http_request_1_4.go
deleted file mode 100644
index 75da021ef..000000000
--- a/vendor/github.com/aws/aws-sdk-go/aws/request/http_request_1_4.go
+++ /dev/null
@@ -1,31 +0,0 @@
-// +build !go1.5
-
-package request
-
-import (
- "io"
- "net/http"
- "net/url"
-)
-
-func copyHTTPRequest(r *http.Request, body io.ReadCloser) *http.Request {
- req := &http.Request{
- URL: &url.URL{},
- Header: http.Header{},
- Close: r.Close,
- Body: body,
- Host: r.Host,
- Method: r.Method,
- Proto: r.Proto,
- ContentLength: r.ContentLength,
- }
-
- *req.URL = *r.URL
- for k, v := range r.Header {
- for _, vv := range v {
- req.Header.Add(k, vv)
- }
- }
-
- return req
-}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.go b/vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.go
index da6396d2d..02f07f4a4 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.go
@@ -9,7 +9,7 @@ import (
// with retrying requests
type offsetReader struct {
buf io.ReadSeeker
- lock sync.RWMutex
+ lock sync.Mutex
closed bool
}
@@ -21,7 +21,8 @@ func newOffsetReader(buf io.ReadSeeker, offset int64) *offsetReader {
return reader
}
-// Close is a thread-safe close. Uses the write lock.
+// Close will close the instance of the offset reader's access to
+// the underlying io.ReadSeeker.
func (o *offsetReader) Close() error {
o.lock.Lock()
defer o.lock.Unlock()
@@ -29,10 +30,10 @@ func (o *offsetReader) Close() error {
return nil
}
-// Read is a thread-safe read using a read lock.
+// Read is a thread-safe read of the underlying io.ReadSeeker
func (o *offsetReader) Read(p []byte) (int, error) {
- o.lock.RLock()
- defer o.lock.RUnlock()
+ o.lock.Lock()
+ defer o.lock.Unlock()
if o.closed {
return 0, io.EOF
@@ -41,6 +42,14 @@ func (o *offsetReader) Read(p []byte) (int, error) {
return o.buf.Read(p)
}
+// Seek is a thread-safe seeking operation.
+func (o *offsetReader) Seek(offset int64, whence int) (int64, error) {
+ o.lock.Lock()
+ defer o.lock.Unlock()
+
+ return o.buf.Seek(offset, whence)
+}
+
// CloseAndCopy will return a new offsetReader with a copy of the old buffer
// and close the old buffer.
func (o *offsetReader) CloseAndCopy(offset int64) *offsetReader {
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request.go
index 2832aaa43..7bc42b576 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/request/request.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/request.go
@@ -4,7 +4,7 @@ import (
"bytes"
"fmt"
"io"
- "io/ioutil"
+ "net"
"net/http"
"net/url"
"reflect"
@@ -16,6 +16,28 @@ import (
"github.com/aws/aws-sdk-go/aws/client/metadata"
)
+const (
+ // ErrCodeSerialization is the serialization error code that is received
+ // during protocol unmarshaling.
+ ErrCodeSerialization = "SerializationError"
+
+ // ErrCodeRead is an error that is returned during HTTP reads.
+ ErrCodeRead = "ReadError"
+
+ // ErrCodeResponseTimeout is the connection timeout error that is received
+ // during body reads.
+ ErrCodeResponseTimeout = "ResponseTimeout"
+
+ // ErrCodeInvalidPresignExpire is returned when the expire time provided to
+ // presign is invalid
+ ErrCodeInvalidPresignExpire = "InvalidPresignExpireError"
+
+ // CanceledErrorCode is the error code that will be returned by an
+ // API request that was canceled. Requests given a aws.Context may
+ // return this error when canceled.
+ CanceledErrorCode = "RequestCanceled"
+)
+
// A Request is the service request to be made.
type Request struct {
Config aws.Config
@@ -23,25 +45,38 @@ type Request struct {
Handlers Handlers
Retryer
- Time time.Time
- ExpireTime time.Duration
- Operation *Operation
- HTTPRequest *http.Request
- HTTPResponse *http.Response
- Body io.ReadSeeker
- BodyStart int64 // offset from beginning of Body that the request body starts
- Params interface{}
- Error error
- Data interface{}
- RequestID string
- RetryCount int
- Retryable *bool
- RetryDelay time.Duration
- NotHoist bool
- SignedHeaderVals http.Header
- LastSignedAt time.Time
+ Time time.Time
+ Operation *Operation
+ HTTPRequest *http.Request
+ HTTPResponse *http.Response
+ Body io.ReadSeeker
+ BodyStart int64 // offset from beginning of Body that the request body starts
+ Params interface{}
+ Error error
+ Data interface{}
+ RequestID string
+ RetryCount int
+ Retryable *bool
+ RetryDelay time.Duration
+ NotHoist bool
+ SignedHeaderVals http.Header
+ LastSignedAt time.Time
+ DisableFollowRedirects bool
+
+ // A value greater than 0 instructs the request to be signed as Presigned URL
+ // You should not set this field directly. Instead use Request's
+ // Presign or PresignRequest methods.
+ ExpireTime time.Duration
+
+ context aws.Context
built bool
+
+ // Need to persist an intermediate body between the input Body and HTTP
+ // request body because the HTTP Client's transport can maintain a reference
+ // to the HTTP request's body after the client has returned. This value is
+ // safe to use concurrently and wrap the input Body for each HTTP request.
+ safeBody *offsetReader
}
// An Operation is the service API operation to be made.
@@ -50,14 +85,8 @@ type Operation struct {
HTTPMethod string
HTTPPath string
*Paginator
-}
-// Paginator keeps track of pagination configuration for an API operation.
-type Paginator struct {
- InputTokens []string
- OutputTokens []string
- LimitToken string
- TruncationToken string
+ BeforePresignFn func(r *Request) error
}
// New returns a new Request pointer for the service API
@@ -103,6 +132,94 @@ func New(cfg aws.Config, clientInfo metadata.ClientInfo, handlers Handlers,
return r
}
+// A Option is a functional option that can augment or modify a request when
+// using a WithContext API operation method.
+type Option func(*Request)
+
+// WithGetResponseHeader builds a request Option which will retrieve a single
+// header value from the HTTP Response. If there are multiple values for the
+// header key use WithGetResponseHeaders instead to access the http.Header
+// map directly. The passed in val pointer must be non-nil.
+//
+// This Option can be used multiple times with a single API operation.
+//
+// var id2, versionID string
+// svc.PutObjectWithContext(ctx, params,
+// request.WithGetResponseHeader("x-amz-id-2", &id2),
+// request.WithGetResponseHeader("x-amz-version-id", &versionID),
+// )
+func WithGetResponseHeader(key string, val *string) Option {
+ return func(r *Request) {
+ r.Handlers.Complete.PushBack(func(req *Request) {
+ *val = req.HTTPResponse.Header.Get(key)
+ })
+ }
+}
+
+// WithGetResponseHeaders builds a request Option which will retrieve the
+// headers from the HTTP response and assign them to the passed in headers
+// variable. The passed in headers pointer must be non-nil.
+//
+// var headers http.Header
+// svc.PutObjectWithContext(ctx, params, request.WithGetResponseHeaders(&headers))
+func WithGetResponseHeaders(headers *http.Header) Option {
+ return func(r *Request) {
+ r.Handlers.Complete.PushBack(func(req *Request) {
+ *headers = req.HTTPResponse.Header
+ })
+ }
+}
+
+// WithLogLevel is a request option that will set the request to use a specific
+// log level when the request is made.
+//
+// svc.PutObjectWithContext(ctx, params, request.WithLogLevel(aws.LogDebugWithHTTPBody)
+func WithLogLevel(l aws.LogLevelType) Option {
+ return func(r *Request) {
+ r.Config.LogLevel = aws.LogLevel(l)
+ }
+}
+
+// ApplyOptions will apply each option to the request calling them in the order
+// the were provided.
+func (r *Request) ApplyOptions(opts ...Option) {
+ for _, opt := range opts {
+ opt(r)
+ }
+}
+
+// Context will always returns a non-nil context. If Request does not have a
+// context aws.BackgroundContext will be returned.
+func (r *Request) Context() aws.Context {
+ if r.context != nil {
+ return r.context
+ }
+ return aws.BackgroundContext()
+}
+
+// SetContext adds a Context to the current request that can be used to cancel
+// a in-flight request. The Context value must not be nil, or this method will
+// panic.
+//
+// Unlike http.Request.WithContext, SetContext does not return a copy of the
+// Request. It is not safe to use use a single Request value for multiple
+// requests. A new Request should be created for each API operation request.
+//
+// Go 1.6 and below:
+// The http.Request's Cancel field will be set to the Done() value of
+// the context. This will overwrite the Cancel field's value.
+//
+// Go 1.7 and above:
+// The http.Request.WithContext will be used to set the context on the underlying
+// http.Request. This will create a shallow copy of the http.Request. The SDK
+// may create sub contexts in the future for nested requests such as retries.
+func (r *Request) SetContext(ctx aws.Context) {
+ if ctx == nil {
+ panic("context cannot be nil")
+ }
+ setRequestContext(r, ctx)
+}
+
// WillRetry returns if the request's can be retried.
func (r *Request) WillRetry() bool {
return r.Error != nil && aws.BoolValue(r.Retryable) && r.RetryCount < r.MaxRetries()
@@ -135,31 +252,65 @@ func (r *Request) SetStringBody(s string) {
// SetReaderBody will set the request's body reader.
func (r *Request) SetReaderBody(reader io.ReadSeeker) {
- r.HTTPRequest.Body = newOffsetReader(reader, 0)
r.Body = reader
+ r.ResetBody()
}
// Presign returns the request's signed URL. Error will be returned
// if the signing fails.
-func (r *Request) Presign(expireTime time.Duration) (string, error) {
- r.ExpireTime = expireTime
+//
+// It is invalid to create a presigned URL with a expire duration 0 or less. An
+// error is returned if expire duration is 0 or less.
+func (r *Request) Presign(expire time.Duration) (string, error) {
+ r = r.copy()
+
+ // Presign requires all headers be hoisted. There is no way to retrieve
+ // the signed headers not hoisted without this. Making the presigned URL
+ // useless.
r.NotHoist = false
- r.Sign()
- if r.Error != nil {
- return "", r.Error
- }
- return r.HTTPRequest.URL.String(), nil
+
+ u, _, err := getPresignedURL(r, expire)
+ return u, err
}
-// PresignRequest behaves just like presign, but hoists all headers and signs them.
-// Also returns the signed hash back to the user
-func (r *Request) PresignRequest(expireTime time.Duration) (string, http.Header, error) {
- r.ExpireTime = expireTime
- r.NotHoist = true
- r.Sign()
- if r.Error != nil {
- return "", nil, r.Error
+// PresignRequest behaves just like presign, with the addition of returning a
+// set of headers that were signed.
+//
+// It is invalid to create a presigned URL with a expire duration 0 or less. An
+// error is returned if expire duration is 0 or less.
+//
+// Returns the URL string for the API operation with signature in the query string,
+// and the HTTP headers that were included in the signature. These headers must
+// be included in any HTTP request made with the presigned URL.
+//
+// To prevent hoisting any headers to the query string set NotHoist to true on
+// this Request value prior to calling PresignRequest.
+func (r *Request) PresignRequest(expire time.Duration) (string, http.Header, error) {
+ r = r.copy()
+ return getPresignedURL(r, expire)
+}
+
+func getPresignedURL(r *Request, expire time.Duration) (string, http.Header, error) {
+ if expire <= 0 {
+ return "", nil, awserr.New(
+ ErrCodeInvalidPresignExpire,
+ "presigned URL requires an expire duration greater than 0",
+ nil,
+ )
}
+
+ r.ExpireTime = expire
+
+ if r.Operation.BeforePresignFn != nil {
+ if err := r.Operation.BeforePresignFn(r); err != nil {
+ return "", nil, err
+ }
+ }
+
+ if err := r.Sign(); err != nil {
+ return "", nil, err
+ }
+
return r.HTTPRequest.URL.String(), r.SignedHeaderVals, nil
}
@@ -220,6 +371,98 @@ func (r *Request) Sign() error {
return r.Error
}
+func (r *Request) getNextRequestBody() (io.ReadCloser, error) {
+ if r.safeBody != nil {
+ r.safeBody.Close()
+ }
+
+ r.safeBody = newOffsetReader(r.Body, r.BodyStart)
+
+ // Go 1.8 tightened and clarified the rules code needs to use when building
+ // requests with the http package. Go 1.8 removed the automatic detection
+ // of if the Request.Body was empty, or actually had bytes in it. The SDK
+ // always sets the Request.Body even if it is empty and should not actually
+ // be sent. This is incorrect.
+ //
+ // Go 1.8 did add a http.NoBody value that the SDK can use to tell the http
+ // client that the request really should be sent without a body. The
+ // Request.Body cannot be set to nil, which is preferable, because the
+ // field is exported and could introduce nil pointer dereferences for users
+ // of the SDK if they used that field.
+ //
+ // Related golang/go#18257
+ l, err := computeBodyLength(r.Body)
+ if err != nil {
+ return nil, awserr.New(ErrCodeSerialization, "failed to compute request body size", err)
+ }
+
+ var body io.ReadCloser
+ if l == 0 {
+ body = NoBody
+ } else if l > 0 {
+ body = r.safeBody
+ } else {
+ // Hack to prevent sending bodies for methods where the body
+ // should be ignored by the server. Sending bodies on these
+ // methods without an associated ContentLength will cause the
+ // request to socket timeout because the server does not handle
+ // Transfer-Encoding: chunked bodies for these methods.
+ //
+ // This would only happen if a aws.ReaderSeekerCloser was used with
+ // a io.Reader that was not also an io.Seeker.
+ switch r.Operation.HTTPMethod {
+ case "GET", "HEAD", "DELETE":
+ body = NoBody
+ default:
+ body = r.safeBody
+ }
+ }
+
+ return body, nil
+}
+
+// Attempts to compute the length of the body of the reader using the
+// io.Seeker interface. If the value is not seekable because of being
+// a ReaderSeekerCloser without an unerlying Seeker -1 will be returned.
+// If no error occurs the length of the body will be returned.
+func computeBodyLength(r io.ReadSeeker) (int64, error) {
+ seekable := true
+ // Determine if the seeker is actually seekable. ReaderSeekerCloser
+ // hides the fact that a io.Readers might not actually be seekable.
+ switch v := r.(type) {
+ case aws.ReaderSeekerCloser:
+ seekable = v.IsSeeker()
+ case *aws.ReaderSeekerCloser:
+ seekable = v.IsSeeker()
+ }
+ if !seekable {
+ return -1, nil
+ }
+
+ curOffset, err := r.Seek(0, 1)
+ if err != nil {
+ return 0, err
+ }
+
+ endOffset, err := r.Seek(0, 2)
+ if err != nil {
+ return 0, err
+ }
+
+ _, err = r.Seek(curOffset, 0)
+ if err != nil {
+ return 0, err
+ }
+
+ return endOffset - curOffset, nil
+}
+
+// GetBody will return an io.ReadSeeker of the Request's underlying
+// input body with a concurrency safe wrapper.
+func (r *Request) GetBody() io.ReadSeeker {
+ return r.safeBody
+}
+
// Send will send the request returning error if errors are encountered.
//
// Send will sign the request prior to sending. All Send Handlers will
@@ -231,7 +474,15 @@ func (r *Request) Sign() error {
//
// readLoop() and getConn(req *Request, cm connectMethod)
// https://github.com/golang/go/blob/master/src/net/http/transport.go
+//
+// Send will not close the request.Request's body.
func (r *Request) Send() error {
+ defer func() {
+ // Regardless of success or failure of the request trigger the Complete
+ // request handlers.
+ r.Handlers.Complete.Run(r)
+ }()
+
for {
if aws.BoolValue(r.Retryable) {
if r.Config.LogLevel.Matches(aws.LogDebugWithRequestRetries) {
@@ -239,21 +490,15 @@ func (r *Request) Send() error {
r.ClientInfo.ServiceName, r.Operation.Name, r.RetryCount))
}
- var body io.ReadCloser
- if reader, ok := r.HTTPRequest.Body.(*offsetReader); ok {
- body = reader.CloseAndCopy(r.BodyStart)
- } else {
- if r.Config.Logger != nil {
- r.Config.Logger.Log("Request body type has been overwritten. May cause race conditions")
- }
- r.Body.Seek(r.BodyStart, 0)
- body = ioutil.NopCloser(r.Body)
- }
+ // The previous http.Request will have a reference to the r.Body
+ // and the HTTP Client's Transport may still be reading from
+ // the request's body even though the Client's Do returned.
+ r.HTTPRequest = copyHTTPRequest(r.HTTPRequest, nil)
+ r.ResetBody()
- r.HTTPRequest = copyHTTPRequest(r.HTTPRequest, body)
+ // Closing response body to ensure that no response body is leaked
+ // between retry attempts.
if r.HTTPResponse != nil && r.HTTPResponse.Body != nil {
- // Closing response body. Since we are setting a new request to send off, this
- // response will get squashed and leaked.
r.HTTPResponse.Body.Close()
}
}
@@ -267,7 +512,7 @@ func (r *Request) Send() error {
r.Handlers.Send.Run(r)
if r.Error != nil {
- if strings.Contains(r.Error.Error(), "net/http: request canceled") {
+ if !shouldRetryCancel(r) {
return r.Error
}
@@ -275,22 +520,22 @@ func (r *Request) Send() error {
r.Handlers.Retry.Run(r)
r.Handlers.AfterRetry.Run(r)
if r.Error != nil {
- debugLogReqError(r, "Send Request", false, r.Error)
+ debugLogReqError(r, "Send Request", false, err)
return r.Error
}
debugLogReqError(r, "Send Request", true, err)
continue
}
-
r.Handlers.UnmarshalMeta.Run(r)
r.Handlers.ValidateResponse.Run(r)
if r.Error != nil {
- err := r.Error
r.Handlers.UnmarshalError.Run(r)
+ err := r.Error
+
r.Handlers.Retry.Run(r)
r.Handlers.AfterRetry.Run(r)
if r.Error != nil {
- debugLogReqError(r, "Validate Response", false, r.Error)
+ debugLogReqError(r, "Validate Response", false, err)
return r.Error
}
debugLogReqError(r, "Validate Response", true, err)
@@ -303,7 +548,7 @@ func (r *Request) Send() error {
r.Handlers.Retry.Run(r)
r.Handlers.AfterRetry.Run(r)
if r.Error != nil {
- debugLogReqError(r, "Unmarshal Response", false, r.Error)
+ debugLogReqError(r, "Unmarshal Response", false, err)
return r.Error
}
debugLogReqError(r, "Unmarshal Response", true, err)
@@ -316,6 +561,17 @@ func (r *Request) Send() error {
return nil
}
+// copy will copy a request which will allow for local manipulation of the
+// request.
+func (r *Request) copy() *Request {
+ req := &Request{}
+ *req = *r
+ req.Handlers = r.Handlers.Copy()
+ op := *r.Operation
+ req.Operation = &op
+ return req
+}
+
// AddToUserAgent adds the string to the end of the request's current user agent.
func AddToUserAgent(r *Request, s string) {
curUA := r.HTTPRequest.Header.Get("User-Agent")
@@ -324,3 +580,29 @@ func AddToUserAgent(r *Request, s string) {
}
r.HTTPRequest.Header.Set("User-Agent", s)
}
+
+func shouldRetryCancel(r *Request) bool {
+ awsErr, ok := r.Error.(awserr.Error)
+ timeoutErr := false
+ errStr := r.Error.Error()
+ if ok {
+ if awsErr.Code() == CanceledErrorCode {
+ return false
+ }
+ err := awsErr.OrigErr()
+ netErr, netOK := err.(net.Error)
+ timeoutErr = netOK && netErr.Temporary()
+ if urlErr, ok := err.(*url.Error); !timeoutErr && ok {
+ errStr = urlErr.Err.Error()
+ }
+ }
+
+ // There can be two types of canceled errors here.
+ // The first being a net.Error and the other being an error.
+ // If the request was timed out, we want to continue the retry
+ // process. Otherwise, return the canceled error.
+ return timeoutErr ||
+ (errStr != "net/http: request canceled" &&
+ errStr != "net/http: request canceled while waiting for connection")
+
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.go
new file mode 100644
index 000000000..869b97a1a
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.go
@@ -0,0 +1,39 @@
+// +build !go1.8
+
+package request
+
+import "io"
+
+// NoBody is an io.ReadCloser with no bytes. Read always returns EOF
+// and Close always returns nil. It can be used in an outgoing client
+// request to explicitly signal that a request has zero bytes.
+// An alternative, however, is to simply set Request.Body to nil.
+//
+// Copy of Go 1.8 NoBody type from net/http/http.go
+type noBody struct{}
+
+func (noBody) Read([]byte) (int, error) { return 0, io.EOF }
+func (noBody) Close() error { return nil }
+func (noBody) WriteTo(io.Writer) (int64, error) { return 0, nil }
+
+// NoBody is an empty reader that will trigger the Go HTTP client to not include
+// and body in the HTTP request.
+var NoBody = noBody{}
+
+// ResetBody rewinds the request body back to its starting position, and
+// set's the HTTP Request body reference. When the body is read prior
+// to being sent in the HTTP request it will need to be rewound.
+//
+// ResetBody will automatically be called by the SDK's build handler, but if
+// the request is being used directly ResetBody must be called before the request
+// is Sent. SetStringBody, SetBufferBody, and SetReaderBody will automatically
+// call ResetBody.
+func (r *Request) ResetBody() {
+ body, err := r.getNextRequestBody()
+ if err != nil {
+ r.Error = err
+ return
+ }
+
+ r.HTTPRequest.Body = body
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go
new file mode 100644
index 000000000..c32fc69bc
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go
@@ -0,0 +1,33 @@
+// +build go1.8
+
+package request
+
+import (
+ "net/http"
+)
+
+// NoBody is a http.NoBody reader instructing Go HTTP client to not include
+// and body in the HTTP request.
+var NoBody = http.NoBody
+
+// ResetBody rewinds the request body back to its starting position, and
+// set's the HTTP Request body reference. When the body is read prior
+// to being sent in the HTTP request it will need to be rewound.
+//
+// ResetBody will automatically be called by the SDK's build handler, but if
+// the request is being used directly ResetBody must be called before the request
+// is Sent. SetStringBody, SetBufferBody, and SetReaderBody will automatically
+// call ResetBody.
+//
+// Will also set the Go 1.8's http.Request.GetBody member to allow retrying
+// PUT/POST redirects.
+func (r *Request) ResetBody() {
+ body, err := r.getNextRequestBody()
+ if err != nil {
+ r.Error = err
+ return
+ }
+
+ r.HTTPRequest.Body = body
+ r.HTTPRequest.GetBody = r.getNextRequestBody
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request_context.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request_context.go
new file mode 100644
index 000000000..a7365cd1e
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/request_context.go
@@ -0,0 +1,14 @@
+// +build go1.7
+
+package request
+
+import "github.com/aws/aws-sdk-go/aws"
+
+// setContext updates the Request to use the passed in context for cancellation.
+// Context will also be used for request retry delay.
+//
+// Creates shallow copy of the http.Request with the WithContext method.
+func setRequestContext(r *Request, ctx aws.Context) {
+ r.context = ctx
+ r.HTTPRequest = r.HTTPRequest.WithContext(ctx)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request_context_1_6.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request_context_1_6.go
new file mode 100644
index 000000000..307fa0705
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/request_context_1_6.go
@@ -0,0 +1,14 @@
+// +build !go1.7
+
+package request
+
+import "github.com/aws/aws-sdk-go/aws"
+
+// setContext updates the Request to use the passed in context for cancellation.
+// Context will also be used for request retry delay.
+//
+// Creates shallow copy of the http.Request with the WithContext method.
+func setRequestContext(r *Request, ctx aws.Context) {
+ r.context = ctx
+ r.HTTPRequest.Cancel = ctx.Done()
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go
index 2939ec473..59de6736b 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go
@@ -2,29 +2,125 @@ package request
import (
"reflect"
+ "sync/atomic"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awsutil"
)
-//type Paginater interface {
-// HasNextPage() bool
-// NextPage() *Request
-// EachPage(fn func(data interface{}, isLastPage bool) (shouldContinue bool)) error
-//}
+// A Pagination provides paginating of SDK API operations which are paginatable.
+// Generally you should not use this type directly, but use the "Pages" API
+// operations method to automatically perform pagination for you. Such as,
+// "S3.ListObjectsPages", and "S3.ListObjectsPagesWithContext" methods.
+//
+// Pagination differs from a Paginator type in that pagination is the type that
+// does the pagination between API operations, and Paginator defines the
+// configuration that will be used per page request.
+//
+// cont := true
+// for p.Next() && cont {
+// data := p.Page().(*s3.ListObjectsOutput)
+// // process the page's data
+// }
+// return p.Err()
+//
+// See service client API operation Pages methods for examples how the SDK will
+// use the Pagination type.
+type Pagination struct {
+ // Function to return a Request value for each pagination request.
+ // Any configuration or handlers that need to be applied to the request
+ // prior to getting the next page should be done here before the request
+ // returned.
+ //
+ // NewRequest should always be built from the same API operations. It is
+ // undefined if different API operations are returned on subsequent calls.
+ NewRequest func() (*Request, error)
-// HasNextPage returns true if this request has more pages of data available.
-func (r *Request) HasNextPage() bool {
- return len(r.nextPageTokens()) > 0
+ started bool
+ nextTokens []interface{}
+
+ err error
+ curPage interface{}
}
-// nextPageTokens returns the tokens to use when asking for the next page of
-// data.
+// HasNextPage will return true if Pagination is able to determine that the API
+// operation has additional pages. False will be returned if there are no more
+// pages remaining.
+//
+// Will always return true if Next has not been called yet.
+func (p *Pagination) HasNextPage() bool {
+ return !(p.started && len(p.nextTokens) == 0)
+}
+
+// Err returns the error Pagination encountered when retrieving the next page.
+func (p *Pagination) Err() error {
+ return p.err
+}
+
+// Page returns the current page. Page should only be called after a successful
+// call to Next. It is undefined what Page will return if Page is called after
+// Next returns false.
+func (p *Pagination) Page() interface{} {
+ return p.curPage
+}
+
+// Next will attempt to retrieve the next page for the API operation. When a page
+// is retrieved true will be returned. If the page cannot be retrieved, or there
+// are no more pages false will be returned.
+//
+// Use the Page method to retrieve the current page data. The data will need
+// to be cast to the API operation's output type.
+//
+// Use the Err method to determine if an error occurred if Page returns false.
+func (p *Pagination) Next() bool {
+ if !p.HasNextPage() {
+ return false
+ }
+
+ req, err := p.NewRequest()
+ if err != nil {
+ p.err = err
+ return false
+ }
+
+ if p.started {
+ for i, intok := range req.Operation.InputTokens {
+ awsutil.SetValueAtPath(req.Params, intok, p.nextTokens[i])
+ }
+ }
+ p.started = true
+
+ err = req.Send()
+ if err != nil {
+ p.err = err
+ return false
+ }
+
+ p.nextTokens = req.nextPageTokens()
+ p.curPage = req.Data
+
+ return true
+}
+
+// A Paginator is the configuration data that defines how an API operation
+// should be paginated. This type is used by the API service models to define
+// the generated pagination config for service APIs.
+//
+// The Pagination type is what provides iterating between pages of an API. It
+// is only used to store the token metadata the SDK should use for performing
+// pagination.
+type Paginator struct {
+ InputTokens []string
+ OutputTokens []string
+ LimitToken string
+ TruncationToken string
+}
+
+// nextPageTokens returns the tokens to use when asking for the next page of data.
func (r *Request) nextPageTokens() []interface{} {
if r.Operation.Paginator == nil {
return nil
}
-
if r.Operation.TruncationToken != "" {
tr, _ := awsutil.ValuesAtPath(r.Data, r.Operation.TruncationToken)
if len(tr) == 0 {
@@ -61,9 +157,40 @@ func (r *Request) nextPageTokens() []interface{} {
return tokens
}
+// Ensure a deprecated item is only logged once instead of each time its used.
+func logDeprecatedf(logger aws.Logger, flag *int32, msg string) {
+ if logger == nil {
+ return
+ }
+ if atomic.CompareAndSwapInt32(flag, 0, 1) {
+ logger.Log(msg)
+ }
+}
+
+var (
+ logDeprecatedHasNextPage int32
+ logDeprecatedNextPage int32
+ logDeprecatedEachPage int32
+)
+
+// HasNextPage returns true if this request has more pages of data available.
+//
+// Deprecated Use Pagination type for configurable pagination of API operations
+func (r *Request) HasNextPage() bool {
+ logDeprecatedf(r.Config.Logger, &logDeprecatedHasNextPage,
+ "Request.HasNextPage deprecated. Use Pagination type for configurable pagination of API operations")
+
+ return len(r.nextPageTokens()) > 0
+}
+
// NextPage returns a new Request that can be executed to return the next
// page of result data. Call .Send() on this request to execute it.
+//
+// Deprecated Use Pagination type for configurable pagination of API operations
func (r *Request) NextPage() *Request {
+ logDeprecatedf(r.Config.Logger, &logDeprecatedNextPage,
+ "Request.NextPage deprecated. Use Pagination type for configurable pagination of API operations")
+
tokens := r.nextPageTokens()
if len(tokens) == 0 {
return nil
@@ -90,7 +217,12 @@ func (r *Request) NextPage() *Request {
// as the structure "T". The lastPage value represents whether the page is
// the last page of data or not. The return value of this function should
// return true to keep iterating or false to stop.
+//
+// Deprecated Use Pagination type for configurable pagination of API operations
func (r *Request) EachPage(fn func(data interface{}, isLastPage bool) (shouldContinue bool)) error {
+ logDeprecatedf(r.Config.Logger, &logDeprecatedEachPage,
+ "Request.EachPage deprecated. Use Pagination type for configurable pagination of API operations")
+
for page := r; page != nil; page = page.NextPage() {
if err := page.Send(); err != nil {
return err
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go b/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go
index 8cc8b015a..f35fef213 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go
@@ -8,7 +8,7 @@ import (
)
// Retryer is an interface to control retry logic for a given service.
-// The default implementation used by most services is the service.DefaultRetryer
+// The default implementation used by most services is the client.DefaultRetryer
// structure, which contains basic retry logic using exponential backoff.
type Retryer interface {
RetryRules(*Request) time.Duration
@@ -26,8 +26,10 @@ func WithRetryer(cfg *aws.Config, retryer Retryer) *aws.Config {
// retryableCodes is a collection of service response codes which are retry-able
// without any further action.
var retryableCodes = map[string]struct{}{
- "RequestError": {},
- "RequestTimeout": {},
+ "RequestError": {},
+ "RequestTimeout": {},
+ ErrCodeResponseTimeout: {},
+ "RequestTimeoutException": {}, // Glacier's flavor of RequestTimeout
}
var throttleCodes = map[string]struct{}{
@@ -36,8 +38,8 @@ var throttleCodes = map[string]struct{}{
"ThrottlingException": {},
"RequestLimitExceeded": {},
"RequestThrottled": {},
- "LimitExceededException": {}, // Deleting 10+ DynamoDb tables at once
"TooManyRequestsException": {}, // Lambda functions
+ "PriorRequestNotComplete": {}, // Route53
}
// credsExpiredCodes is a collection of error codes which signify the credentials
@@ -67,35 +69,93 @@ func isCodeExpiredCreds(code string) bool {
return ok
}
+var validParentCodes = map[string]struct{}{
+ ErrCodeSerialization: {},
+ ErrCodeRead: {},
+}
+
+type temporaryError interface {
+ Temporary() bool
+}
+
+func isNestedErrorRetryable(parentErr awserr.Error) bool {
+ if parentErr == nil {
+ return false
+ }
+
+ if _, ok := validParentCodes[parentErr.Code()]; !ok {
+ return false
+ }
+
+ err := parentErr.OrigErr()
+ if err == nil {
+ return false
+ }
+
+ if aerr, ok := err.(awserr.Error); ok {
+ return isCodeRetryable(aerr.Code())
+ }
+
+ if t, ok := err.(temporaryError); ok {
+ return t.Temporary()
+ }
+
+ return isErrConnectionReset(err)
+}
+
// IsErrorRetryable returns whether the error is retryable, based on its Code.
-// Returns false if the request has no Error set.
-func (r *Request) IsErrorRetryable() bool {
- if r.Error != nil {
- if err, ok := r.Error.(awserr.Error); ok {
- return isCodeRetryable(err.Code())
+// Returns false if error is nil.
+func IsErrorRetryable(err error) bool {
+ if err != nil {
+ if aerr, ok := err.(awserr.Error); ok {
+ return isCodeRetryable(aerr.Code()) || isNestedErrorRetryable(aerr)
}
}
return false
}
// IsErrorThrottle returns whether the error is to be throttled based on its code.
-// Returns false if the request has no Error set
-func (r *Request) IsErrorThrottle() bool {
- if r.Error != nil {
- if err, ok := r.Error.(awserr.Error); ok {
- return isCodeThrottle(err.Code())
+// Returns false if error is nil.
+func IsErrorThrottle(err error) bool {
+ if err != nil {
+ if aerr, ok := err.(awserr.Error); ok {
+ return isCodeThrottle(aerr.Code())
}
}
return false
}
-// IsErrorExpired returns whether the error code is a credential expiry error.
-// Returns false if the request has no Error set.
-func (r *Request) IsErrorExpired() bool {
- if r.Error != nil {
- if err, ok := r.Error.(awserr.Error); ok {
- return isCodeExpiredCreds(err.Code())
+// IsErrorExpiredCreds returns whether the error code is a credential expiry error.
+// Returns false if error is nil.
+func IsErrorExpiredCreds(err error) bool {
+ if err != nil {
+ if aerr, ok := err.(awserr.Error); ok {
+ return isCodeExpiredCreds(aerr.Code())
}
}
return false
}
+
+// IsErrorRetryable returns whether the error is retryable, based on its Code.
+// Returns false if the request has no Error set.
+//
+// Alias for the utility function IsErrorRetryable
+func (r *Request) IsErrorRetryable() bool {
+ return IsErrorRetryable(r.Error)
+}
+
+// IsErrorThrottle returns whether the error is to be throttled based on its code.
+// Returns false if the request has no Error set
+//
+// Alias for the utility function IsErrorThrottle
+func (r *Request) IsErrorThrottle() bool {
+ return IsErrorThrottle(r.Error)
+}
+
+// IsErrorExpired returns whether the error code is a credential expiry error.
+// Returns false if the request has no Error set.
+//
+// Alias for the utility function IsErrorExpiredCreds
+func (r *Request) IsErrorExpired() bool {
+ return IsErrorExpiredCreds(r.Error)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/timeout_read_closer.go b/vendor/github.com/aws/aws-sdk-go/aws/request/timeout_read_closer.go
new file mode 100644
index 000000000..09a44eb98
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/timeout_read_closer.go
@@ -0,0 +1,94 @@
+package request
+
+import (
+ "io"
+ "time"
+
+ "github.com/aws/aws-sdk-go/aws/awserr"
+)
+
+var timeoutErr = awserr.New(
+ ErrCodeResponseTimeout,
+ "read on body has reached the timeout limit",
+ nil,
+)
+
+type readResult struct {
+ n int
+ err error
+}
+
+// timeoutReadCloser will handle body reads that take too long.
+// We will return a ErrReadTimeout error if a timeout occurs.
+type timeoutReadCloser struct {
+ reader io.ReadCloser
+ duration time.Duration
+}
+
+// Read will spin off a goroutine to call the reader's Read method. We will
+// select on the timer's channel or the read's channel. Whoever completes first
+// will be returned.
+func (r *timeoutReadCloser) Read(b []byte) (int, error) {
+ timer := time.NewTimer(r.duration)
+ c := make(chan readResult, 1)
+
+ go func() {
+ n, err := r.reader.Read(b)
+ timer.Stop()
+ c <- readResult{n: n, err: err}
+ }()
+
+ select {
+ case data := <-c:
+ return data.n, data.err
+ case <-timer.C:
+ return 0, timeoutErr
+ }
+}
+
+func (r *timeoutReadCloser) Close() error {
+ return r.reader.Close()
+}
+
+const (
+ // HandlerResponseTimeout is what we use to signify the name of the
+ // response timeout handler.
+ HandlerResponseTimeout = "ResponseTimeoutHandler"
+)
+
+// adaptToResponseTimeoutError is a handler that will replace any top level error
+// to a ErrCodeResponseTimeout, if its child is that.
+func adaptToResponseTimeoutError(req *Request) {
+ if err, ok := req.Error.(awserr.Error); ok {
+ aerr, ok := err.OrigErr().(awserr.Error)
+ if ok && aerr.Code() == ErrCodeResponseTimeout {
+ req.Error = aerr
+ }
+ }
+}
+
+// WithResponseReadTimeout is a request option that will wrap the body in a timeout read closer.
+// This will allow for per read timeouts. If a timeout occurred, we will return the
+// ErrCodeResponseTimeout.
+//
+// svc.PutObjectWithContext(ctx, params, request.WithTimeoutReadCloser(30 * time.Second)
+func WithResponseReadTimeout(duration time.Duration) Option {
+ return func(r *Request) {
+
+ var timeoutHandler = NamedHandler{
+ HandlerResponseTimeout,
+ func(req *Request) {
+ req.HTTPResponse.Body = &timeoutReadCloser{
+ reader: req.HTTPResponse.Body,
+ duration: duration,
+ }
+ }}
+
+ // remove the handler so we are not stomping over any new durations.
+ r.Handlers.Send.RemoveByName(HandlerResponseTimeout)
+ r.Handlers.Send.PushBackNamed(timeoutHandler)
+
+ r.Handlers.Unmarshal.PushBack(adaptToResponseTimeoutError)
+ r.Handlers.UnmarshalError.PushBack(adaptToResponseTimeoutError)
+ }
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/validation.go b/vendor/github.com/aws/aws-sdk-go/aws/request/validation.go
index 2520286b7..401246228 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/request/validation.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/validation.go
@@ -220,7 +220,7 @@ type ErrParamMinLen struct {
func NewErrParamMinLen(field string, min int) *ErrParamMinLen {
return &ErrParamMinLen{
errInvalidParam: errInvalidParam{
- code: ParamMinValueErrCode,
+ code: ParamMinLenErrCode,
field: field,
msg: fmt.Sprintf("minimum field size of %v", min),
},
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/waiter.go b/vendor/github.com/aws/aws-sdk-go/aws/request/waiter.go
new file mode 100644
index 000000000..4601f883c
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/waiter.go
@@ -0,0 +1,295 @@
+package request
+
+import (
+ "fmt"
+ "time"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/awserr"
+ "github.com/aws/aws-sdk-go/aws/awsutil"
+)
+
+// WaiterResourceNotReadyErrorCode is the error code returned by a waiter when
+// the waiter's max attempts have been exhausted.
+const WaiterResourceNotReadyErrorCode = "ResourceNotReady"
+
+// A WaiterOption is a function that will update the Waiter value's fields to
+// configure the waiter.
+type WaiterOption func(*Waiter)
+
+// WithWaiterMaxAttempts returns the maximum number of times the waiter should
+// attempt to check the resource for the target state.
+func WithWaiterMaxAttempts(max int) WaiterOption {
+ return func(w *Waiter) {
+ w.MaxAttempts = max
+ }
+}
+
+// WaiterDelay will return a delay the waiter should pause between attempts to
+// check the resource state. The passed in attempt is the number of times the
+// Waiter has checked the resource state.
+//
+// Attempt is the number of attempts the Waiter has made checking the resource
+// state.
+type WaiterDelay func(attempt int) time.Duration
+
+// ConstantWaiterDelay returns a WaiterDelay that will always return a constant
+// delay the waiter should use between attempts. It ignores the number of
+// attempts made.
+func ConstantWaiterDelay(delay time.Duration) WaiterDelay {
+ return func(attempt int) time.Duration {
+ return delay
+ }
+}
+
+// WithWaiterDelay will set the Waiter to use the WaiterDelay passed in.
+func WithWaiterDelay(delayer WaiterDelay) WaiterOption {
+ return func(w *Waiter) {
+ w.Delay = delayer
+ }
+}
+
+// WithWaiterLogger returns a waiter option to set the logger a waiter
+// should use to log warnings and errors to.
+func WithWaiterLogger(logger aws.Logger) WaiterOption {
+ return func(w *Waiter) {
+ w.Logger = logger
+ }
+}
+
+// WithWaiterRequestOptions returns a waiter option setting the request
+// options for each request the waiter makes. Appends to waiter's request
+// options already set.
+func WithWaiterRequestOptions(opts ...Option) WaiterOption {
+ return func(w *Waiter) {
+ w.RequestOptions = append(w.RequestOptions, opts...)
+ }
+}
+
+// A Waiter provides the functionality to perform a blocking call which will
+// wait for a resource state to be satisfied by a service.
+//
+// This type should not be used directly. The API operations provided in the
+// service packages prefixed with "WaitUntil" should be used instead.
+type Waiter struct {
+ Name string
+ Acceptors []WaiterAcceptor
+ Logger aws.Logger
+
+ MaxAttempts int
+ Delay WaiterDelay
+
+ RequestOptions []Option
+ NewRequest func([]Option) (*Request, error)
+ SleepWithContext func(aws.Context, time.Duration) error
+}
+
+// ApplyOptions updates the waiter with the list of waiter options provided.
+func (w *Waiter) ApplyOptions(opts ...WaiterOption) {
+ for _, fn := range opts {
+ fn(w)
+ }
+}
+
+// WaiterState are states the waiter uses based on WaiterAcceptor definitions
+// to identify if the resource state the waiter is waiting on has occurred.
+type WaiterState int
+
+// String returns the string representation of the waiter state.
+func (s WaiterState) String() string {
+ switch s {
+ case SuccessWaiterState:
+ return "success"
+ case FailureWaiterState:
+ return "failure"
+ case RetryWaiterState:
+ return "retry"
+ default:
+ return "unknown waiter state"
+ }
+}
+
+// States the waiter acceptors will use to identify target resource states.
+const (
+ SuccessWaiterState WaiterState = iota // waiter successful
+ FailureWaiterState // waiter failed
+ RetryWaiterState // waiter needs to be retried
+)
+
+// WaiterMatchMode is the mode that the waiter will use to match the WaiterAcceptor
+// definition's Expected attribute.
+type WaiterMatchMode int
+
+// Modes the waiter will use when inspecting API response to identify target
+// resource states.
+const (
+ PathAllWaiterMatch WaiterMatchMode = iota // match on all paths
+ PathWaiterMatch // match on specific path
+ PathAnyWaiterMatch // match on any path
+ PathListWaiterMatch // match on list of paths
+ StatusWaiterMatch // match on status code
+ ErrorWaiterMatch // match on error
+)
+
+// String returns the string representation of the waiter match mode.
+func (m WaiterMatchMode) String() string {
+ switch m {
+ case PathAllWaiterMatch:
+ return "pathAll"
+ case PathWaiterMatch:
+ return "path"
+ case PathAnyWaiterMatch:
+ return "pathAny"
+ case PathListWaiterMatch:
+ return "pathList"
+ case StatusWaiterMatch:
+ return "status"
+ case ErrorWaiterMatch:
+ return "error"
+ default:
+ return "unknown waiter match mode"
+ }
+}
+
+// WaitWithContext will make requests for the API operation using NewRequest to
+// build API requests. The request's response will be compared against the
+// Waiter's Acceptors to determine the successful state of the resource the
+// waiter is inspecting.
+//
+// The passed in context must not be nil. If it is nil a panic will occur. The
+// Context will be used to cancel the waiter's pending requests and retry delays.
+// Use aws.BackgroundContext if no context is available.
+//
+// The waiter will continue until the target state defined by the Acceptors,
+// or the max attempts expires.
+//
+// Will return the WaiterResourceNotReadyErrorCode error code if the waiter's
+// retryer ShouldRetry returns false. This normally will happen when the max
+// wait attempts expires.
+func (w Waiter) WaitWithContext(ctx aws.Context) error {
+
+ for attempt := 1; ; attempt++ {
+ req, err := w.NewRequest(w.RequestOptions)
+ if err != nil {
+ waiterLogf(w.Logger, "unable to create request %v", err)
+ return err
+ }
+ req.Handlers.Build.PushBack(MakeAddToUserAgentFreeFormHandler("Waiter"))
+ err = req.Send()
+
+ // See if any of the acceptors match the request's response, or error
+ for _, a := range w.Acceptors {
+ if matched, matchErr := a.match(w.Name, w.Logger, req, err); matched {
+ return matchErr
+ }
+ }
+
+ // The Waiter should only check the resource state MaxAttempts times
+ // This is here instead of in the for loop above to prevent delaying
+ // unnecessary when the waiter will not retry.
+ if attempt == w.MaxAttempts {
+ break
+ }
+
+ // Delay to wait before inspecting the resource again
+ delay := w.Delay(attempt)
+ if sleepFn := req.Config.SleepDelay; sleepFn != nil {
+ // Support SleepDelay for backwards compatibility and testing
+ sleepFn(delay)
+ } else {
+ sleepCtxFn := w.SleepWithContext
+ if sleepCtxFn == nil {
+ sleepCtxFn = aws.SleepWithContext
+ }
+
+ if err := sleepCtxFn(ctx, delay); err != nil {
+ return awserr.New(CanceledErrorCode, "waiter context canceled", err)
+ }
+ }
+ }
+
+ return awserr.New(WaiterResourceNotReadyErrorCode, "exceeded wait attempts", nil)
+}
+
+// A WaiterAcceptor provides the information needed to wait for an API operation
+// to complete.
+type WaiterAcceptor struct {
+ State WaiterState
+ Matcher WaiterMatchMode
+ Argument string
+ Expected interface{}
+}
+
+// match returns if the acceptor found a match with the passed in request
+// or error. True is returned if the acceptor made a match, error is returned
+// if there was an error attempting to perform the match.
+func (a *WaiterAcceptor) match(name string, l aws.Logger, req *Request, err error) (bool, error) {
+ result := false
+ var vals []interface{}
+
+ switch a.Matcher {
+ case PathAllWaiterMatch, PathWaiterMatch:
+ // Require all matches to be equal for result to match
+ vals, _ = awsutil.ValuesAtPath(req.Data, a.Argument)
+ if len(vals) == 0 {
+ break
+ }
+ result = true
+ for _, val := range vals {
+ if !awsutil.DeepEqual(val, a.Expected) {
+ result = false
+ break
+ }
+ }
+ case PathAnyWaiterMatch:
+ // Only a single match needs to equal for the result to match
+ vals, _ = awsutil.ValuesAtPath(req.Data, a.Argument)
+ for _, val := range vals {
+ if awsutil.DeepEqual(val, a.Expected) {
+ result = true
+ break
+ }
+ }
+ case PathListWaiterMatch:
+ // ignored matcher
+ case StatusWaiterMatch:
+ s := a.Expected.(int)
+ result = s == req.HTTPResponse.StatusCode
+ case ErrorWaiterMatch:
+ if aerr, ok := err.(awserr.Error); ok {
+ result = aerr.Code() == a.Expected.(string)
+ }
+ default:
+ waiterLogf(l, "WARNING: Waiter %s encountered unexpected matcher: %s",
+ name, a.Matcher)
+ }
+
+ if !result {
+ // If there was no matching result found there is nothing more to do
+ // for this response, retry the request.
+ return false, nil
+ }
+
+ switch a.State {
+ case SuccessWaiterState:
+ // waiter completed
+ return true, nil
+ case FailureWaiterState:
+ // Waiter failure state triggered
+ return true, awserr.New(WaiterResourceNotReadyErrorCode,
+ "failed waiting for successful resource state", err)
+ case RetryWaiterState:
+ // clear the error and retry the operation
+ return false, nil
+ default:
+ waiterLogf(l, "WARNING: Waiter %s encountered unexpected state: %s",
+ name, a.State)
+ return false, nil
+ }
+}
+
+func waiterLogf(logger aws.Logger, msg string, args ...interface{}) {
+ if logger != nil {
+ logger.Log(fmt.Sprintf(msg, args...))
+ }
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go b/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go
index 4ad78d7f3..ea7b886f8 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go
@@ -23,7 +23,7 @@ additional config if the AWS_SDK_LOAD_CONFIG environment variable is set.
Alternatively you can explicitly create a Session with shared config enabled.
To do this you can use NewSessionWithOptions to configure how the Session will
be created. Using the NewSessionWithOptions with SharedConfigState set to
-SharedConfigEnabled will create the session as if the AWS_SDK_LOAD_CONFIG
+SharedConfigEnable will create the session as if the AWS_SDK_LOAD_CONFIG
environment variable was set.
Creating Sessions
@@ -45,16 +45,16 @@ region, and profile loaded from the environment and shared config automatically.
Requires the AWS_PROFILE to be set, or "default" is used.
// Create Session
- sess, err := session.NewSession()
+ sess := session.Must(session.NewSession())
// Create a Session with a custom region
- sess, err := session.NewSession(&aws.Config{Region: aws.String("us-east-1")})
+ sess := session.Must(session.NewSession(&aws.Config{
+ Region: aws.String("us-east-1"),
+ }))
// Create a S3 client instance from a session
- sess, err := session.NewSession()
- if err != nil {
- // Handle Session creation error
- }
+ sess := session.Must(session.NewSession())
+
svc := s3.New(sess)
Create Session With Option Overrides
@@ -66,30 +66,26 @@ through code instead of being driven by environment variables only.
Use NewSessionWithOptions when you want to provide the config profile, or
override the shared config state (AWS_SDK_LOAD_CONFIG).
- // Equivalent to session.New
- sess, err := session.NewSessionWithOptions(session.Options{})
+ // Equivalent to session.NewSession()
+ sess := session.Must(session.NewSessionWithOptions(session.Options{
+ // Options
+ }))
// Specify profile to load for the session's config
- sess, err := session.NewSessionWithOptions(session.Options{
+ sess := session.Must(session.NewSessionWithOptions(session.Options{
Profile: "profile_name",
- })
+ }))
// Specify profile for config and region for requests
- sess, err := session.NewSessionWithOptions(session.Options{
+ sess := session.Must(session.NewSessionWithOptions(session.Options{
Config: aws.Config{Region: aws.String("us-east-1")},
Profile: "profile_name",
- })
+ }))
// Force enable Shared Config support
- sess, err := session.NewSessionWithOptions(session.Options{
- SharedConfigState: SharedConfigEnable,
- })
-
-Deprecated "New" function
-
-The New session function has been deprecated because it does not provide good
-way to return errors that occur when loading the configuration files and values.
-Because of this, the NewWithError
+ sess := session.Must(session.NewSessionWithOptions(session.Options{
+ SharedConfigState: session.SharedConfigEnable,
+ }))
Adding Handlers
@@ -99,7 +95,8 @@ handler logs every request and its payload made by a service client:
// Create a session, and add additional handlers for all service
// clients created with the Session to inherit. Adds logging handler.
- sess, err := session.NewSession()
+ sess := session.Must(session.NewSession())
+
sess.Handlers.Send.PushFront(func(r *request.Request) {
// Log every request made and its payload
logger.Println("Request: %s/%s, Payload: %s",
@@ -127,9 +124,8 @@ file (~/.aws/config) and shared credentials file (~/.aws/credentials). Both
files have the same format.
If both config files are present the configuration from both files will be
-read. The Session will be created from configuration values from the shared
-credentials file (~/.aws/credentials) over those in the shared credentials
-file (~/.aws/config).
+read. The Session will be created from configuration values from the shared
+credentials file (~/.aws/credentials) over those in the shared config file (~/.aws/config).
Credentials are the values the SDK should use for authenticating requests with
AWS Services. They arfrom a configuration file will need to include both
@@ -144,15 +140,14 @@ the other two fields are also provided.
Assume Role values allow you to configure the SDK to assume an IAM role using
a set of credentials provided in a config file via the source_profile field.
-Both "role_arn" and "source_profile" are required. The SDK does not support
-assuming a role with MFA token Via the Session's constructor. You can use the
-stscreds.AssumeRoleProvider credentials provider to specify custom
-configuration and support for MFA.
+Both "role_arn" and "source_profile" are required. The SDK supports assuming
+a role with MFA token if the session option AssumeRoleTokenProvider
+is set.
role_arn = arn:aws:iam:::role/
source_profile = profile_with_creds
external_id = 1234
- mfa_serial = not supported!
+ mfa_serial =
role_session_name = session_name
Region is the region the SDK should use for looking up AWS service endpoints
@@ -160,6 +155,37 @@ and signing requests.
region = us-east-1
+Assume Role with MFA token
+
+To create a session with support for assuming an IAM role with MFA set the
+session option AssumeRoleTokenProvider to a function that will prompt for the
+MFA token code when the SDK assumes the role and refreshes the role's credentials.
+This allows you to configure the SDK via the shared config to assumea role
+with MFA tokens.
+
+In order for the SDK to assume a role with MFA the SharedConfigState
+session option must be set to SharedConfigEnable, or AWS_SDK_LOAD_CONFIG
+environment variable set.
+
+The shared configuration instructs the SDK to assume an IAM role with MFA
+when the mfa_serial configuration field is set in the shared config
+(~/.aws/config) or shared credentials (~/.aws/credentials) file.
+
+If mfa_serial is set in the configuration, the SDK will assume the role, and
+the AssumeRoleTokenProvider session option is not set an an error will
+be returned when creating the session.
+
+ sess := session.Must(session.NewSessionWithOptions(session.Options{
+ AssumeRoleTokenProvider: stscreds.StdinTokenProvider,
+ }))
+
+ // Create service client value configured for credentials
+ // from assumed role.
+ svc := s3.New(sess)
+
+To setup assume role outside of a session see the stscrds.AssumeRoleProvider
+documentation.
+
Environment Variables
When a Session is created several environment variables can be set to adjust
@@ -224,6 +250,24 @@ $HOME/.aws/config on Linux/Unix based systems, and
AWS_CONFIG_FILE=$HOME/my_shared_config
+Path to a custom Credentials Authority (CA) bundle PEM file that the SDK
+will use instead of the default system's root CA bundle. Use this only
+if you want to replace the CA bundle the SDK uses for TLS requests.
+ AWS_CA_BUNDLE=$HOME/my_custom_ca_bundle
+
+Enabling this option will attempt to merge the Transport into the SDK's HTTP
+client. If the client's Transport is not a http.Transport an error will be
+returned. If the Transport's TLS config is set this option will cause the SDK
+to overwrite the Transport's TLS config's RootCAs value. If the CA bundle file
+contains multiple certificates all of them will be loaded.
+
+The Session option CustomCABundle is also available when creating sessions
+to also enable this feature. CustomCABundle session option field has priority
+over the AWS_CA_BUNDLE environment variable, and will be used if both are set.
+
+Setting a custom HTTPClient in the aws.Config options will override this setting.
+To use this option and custom HTTP client, the HTTP client needs to be provided
+when creating the session. Not the service client.
*/
package session
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go b/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go
index d2f0c8448..f1adcf481 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go
@@ -2,12 +2,14 @@ package session
import (
"os"
- "path/filepath"
"strconv"
"github.com/aws/aws-sdk-go/aws/credentials"
)
+// EnvProviderName provides a name of the provider when config is loaded from environment.
+const EnvProviderName = "EnvConfigCredentials"
+
// envConfig is a collection of environment values the SDK will read
// setup config from. All environment values are optional. But some values
// such as credentials require multiple values to be complete or the values
@@ -75,6 +77,24 @@ type envConfig struct {
//
// AWS_CONFIG_FILE=$HOME/my_shared_config
SharedConfigFile string
+
+ // Sets the path to a custom Credentials Authroity (CA) Bundle PEM file
+ // that the SDK will use instead of the system's root CA bundle.
+ // Only use this if you want to configure the SDK to use a custom set
+ // of CAs.
+ //
+ // Enabling this option will attempt to merge the Transport
+ // into the SDK's HTTP client. If the client's Transport is
+ // not a http.Transport an error will be returned. If the
+ // Transport's TLS config is set this option will cause the
+ // SDK to overwrite the Transport's TLS config's RootCAs value.
+ //
+ // Setting a custom HTTPClient in the aws.Config options will override this setting.
+ // To use this option and custom HTTP client, the HTTP client needs to be provided
+ // when creating the session. Not the service client.
+ //
+ // AWS_CA_BUNDLE=$HOME/my_custom_ca_bundle
+ CustomCABundle string
}
var (
@@ -98,6 +118,12 @@ var (
"AWS_PROFILE",
"AWS_DEFAULT_PROFILE", // Only read if AWS_SDK_LOAD_CONFIG is also set
}
+ sharedCredsFileEnvKey = []string{
+ "AWS_SHARED_CREDENTIALS_FILE",
+ }
+ sharedConfigFileEnvKey = []string{
+ "AWS_CONFIG_FILE",
+ }
)
// loadEnvConfig retrieves the SDK's environment configuration.
@@ -134,7 +160,7 @@ func envConfigLoad(enableSharedConfig bool) envConfig {
if len(cfg.Creds.AccessKeyID) == 0 || len(cfg.Creds.SecretAccessKey) == 0 {
cfg.Creds = credentials.Value{}
} else {
- cfg.Creds.ProviderName = "EnvConfigCredentials"
+ cfg.Creds.ProviderName = EnvProviderName
}
regionKeys := regionEnvKeys
@@ -147,8 +173,10 @@ func envConfigLoad(enableSharedConfig bool) envConfig {
setFromEnvVal(&cfg.Region, regionKeys)
setFromEnvVal(&cfg.Profile, profileKeys)
- cfg.SharedCredentialsFile = sharedCredentialsFilename()
- cfg.SharedConfigFile = sharedConfigFilename()
+ setFromEnvVal(&cfg.SharedCredentialsFile, sharedCredsFileEnvKey)
+ setFromEnvVal(&cfg.SharedConfigFile, sharedConfigFileEnvKey)
+
+ cfg.CustomCABundle = os.Getenv("AWS_CA_BUNDLE")
return cfg
}
@@ -161,28 +189,3 @@ func setFromEnvVal(dst *string, keys []string) {
}
}
}
-
-func sharedCredentialsFilename() string {
- if name := os.Getenv("AWS_SHARED_CREDENTIALS_FILE"); len(name) > 0 {
- return name
- }
-
- return filepath.Join(userHomeDir(), ".aws", "credentials")
-}
-
-func sharedConfigFilename() string {
- if name := os.Getenv("AWS_CONFIG_FILE"); len(name) > 0 {
- return name
- }
-
- return filepath.Join(userHomeDir(), ".aws", "config")
-}
-
-func userHomeDir() string {
- homeDir := os.Getenv("HOME") // *nix
- if len(homeDir) == 0 { // windows
- homeDir = os.Getenv("USERPROFILE")
- }
-
- return homeDir
-}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/session.go b/vendor/github.com/aws/aws-sdk-go/aws/session/session.go
index 2374b1f27..9f75d5ac5 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/session/session.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/session/session.go
@@ -1,7 +1,13 @@
package session
import (
+ "crypto/tls"
+ "crypto/x509"
"fmt"
+ "io"
+ "io/ioutil"
+ "net/http"
+ "os"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awserr"
@@ -10,8 +16,8 @@ import (
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/credentials/stscreds"
"github.com/aws/aws-sdk-go/aws/defaults"
+ "github.com/aws/aws-sdk-go/aws/endpoints"
"github.com/aws/aws-sdk-go/aws/request"
- "github.com/aws/aws-sdk-go/private/endpoints"
)
// A Session provides a central location to create service clients from and
@@ -34,17 +40,17 @@ type Session struct {
// If the AWS_SDK_LOAD_CONFIG environment is set to a truthy value, the New
// method could now encounter an error when loading the configuration. When
// The environment variable is set, and an error occurs, New will return a
-// session that will fail all requests reporting the error that occured while
+// session that will fail all requests reporting the error that occurred while
// loading the session. Use NewSession to get the error when creating the
// session.
//
// If the AWS_SDK_LOAD_CONFIG environment variable is set to a truthy value
// the shared config file (~/.aws/config) will also be loaded, in addition to
-// the shared credentials file (~/.aws/config). Values set in both the
+// the shared credentials file (~/.aws/credentials). Values set in both the
// shared config, and shared credentials will be taken from the shared
// credentials file.
//
-// Deprecated: Use NewSession functiions to create sessions instead. NewSession
+// Deprecated: Use NewSession functions to create sessions instead. NewSession
// has the same functionality as New except an error can be returned when the
// func is called instead of waiting to receive an error until a request is made.
func New(cfgs ...*aws.Config) *Session {
@@ -52,14 +58,14 @@ func New(cfgs ...*aws.Config) *Session {
envCfg := loadEnvConfig()
if envCfg.EnableSharedConfig {
- s, err := newSession(envCfg, cfgs...)
+ s, err := newSession(Options{}, envCfg, cfgs...)
if err != nil {
// Old session.New expected all errors to be discovered when
// a request is made, and would report the errors then. This
// needs to be replicated if an error occurs while creating
// the session.
msg := "failed to create session with AWS_SDK_LOAD_CONFIG enabled. " +
- "Use session.NewSession to handle errors occuring during session creation."
+ "Use session.NewSession to handle errors occurring during session creation."
// Session creation failed, need to report the error and prevent
// any requests from succeeding.
@@ -73,7 +79,7 @@ func New(cfgs ...*aws.Config) *Session {
return s
}
- return oldNewSession(cfgs...)
+ return deprecatedNewSession(cfgs...)
}
// NewSession returns a new Session created from SDK defaults, config files,
@@ -83,18 +89,19 @@ func New(cfgs ...*aws.Config) *Session {
//
// If the AWS_SDK_LOAD_CONFIG environment variable is set to a truthy value
// the shared config file (~/.aws/config) will also be loaded in addition to
-// the shared credentials file (~/.aws/config). Values set in both the
+// the shared credentials file (~/.aws/credentials). Values set in both the
// shared config, and shared credentials will be taken from the shared
// credentials file. Enabling the Shared Config will also allow the Session
// to be built with retrieving credentials with AssumeRole set in the config.
//
// See the NewSessionWithOptions func for information on how to override or
-// control through code how the Session will be created. Such as specifing the
+// control through code how the Session will be created. Such as specifying the
// config profile, and controlling if shared config is enabled or not.
func NewSession(cfgs ...*aws.Config) (*Session, error) {
- envCfg := loadEnvConfig()
+ opts := Options{}
+ opts.Config.MergeIn(cfgs...)
- return newSession(envCfg, cfgs...)
+ return NewSessionWithOptions(opts)
}
// SharedConfigState provides the ability to optionally override the state
@@ -124,7 +131,7 @@ type Options struct {
// Provides config values for the SDK to use when creating service clients
// and making API requests to services. Any value set in with this field
// will override the associated value provided by the SDK defaults,
- // environment or config files where relevent.
+ // environment or config files where relevant.
//
// If not set, configuration values from from SDK defaults, environment,
// config will be used.
@@ -147,6 +154,45 @@ type Options struct {
// will allow you to override the AWS_SDK_LOAD_CONFIG environment variable
// and enable or disable the shared config functionality.
SharedConfigState SharedConfigState
+
+ // Ordered list of files the session will load configuration from.
+ // It will override environment variable AWS_SHARED_CREDENTIALS_FILE, AWS_CONFIG_FILE.
+ SharedConfigFiles []string
+
+ // When the SDK's shared config is configured to assume a role with MFA
+ // this option is required in order to provide the mechanism that will
+ // retrieve the MFA token. There is no default value for this field. If
+ // it is not set an error will be returned when creating the session.
+ //
+ // This token provider will be called when ever the assumed role's
+ // credentials need to be refreshed. Within the context of service clients
+ // all sharing the same session the SDK will ensure calls to the token
+ // provider are atomic. When sharing a token provider across multiple
+ // sessions additional synchronization logic is needed to ensure the
+ // token providers do not introduce race conditions. It is recommend to
+ // share the session where possible.
+ //
+ // stscreds.StdinTokenProvider is a basic implementation that will prompt
+ // from stdin for the MFA token code.
+ //
+ // This field is only used if the shared configuration is enabled, and
+ // the config enables assume role wit MFA via the mfa_serial field.
+ AssumeRoleTokenProvider func() (string, error)
+
+ // Reader for a custom Credentials Authority (CA) bundle in PEM format that
+ // the SDK will use instead of the default system's root CA bundle. Use this
+ // only if you want to replace the CA bundle the SDK uses for TLS requests.
+ //
+ // Enabling this option will attempt to merge the Transport into the SDK's HTTP
+ // client. If the client's Transport is not a http.Transport an error will be
+ // returned. If the Transport's TLS config is set this option will cause the SDK
+ // to overwrite the Transport's TLS config's RootCAs value. If the CA
+ // bundle reader contains multiple certificates all of them will be loaded.
+ //
+ // The Session option CustomCABundle is also available when creating sessions
+ // to also enable this feature. CustomCABundle session option field has priority
+ // over the AWS_CA_BUNDLE environment variable, and will be used if both are set.
+ CustomCABundle io.Reader
}
// NewSessionWithOptions returns a new Session created from SDK defaults, config files,
@@ -155,31 +201,36 @@ type Options struct {
//
// If the AWS_SDK_LOAD_CONFIG environment variable is set to a truthy value
// the shared config file (~/.aws/config) will also be loaded in addition to
-// the shared credentials file (~/.aws/config). Values set in both the
+// the shared credentials file (~/.aws/credentials). Values set in both the
// shared config, and shared credentials will be taken from the shared
// credentials file. Enabling the Shared Config will also allow the Session
// to be built with retrieving credentials with AssumeRole set in the config.
//
// // Equivalent to session.New
-// sess, err := session.NewSessionWithOptions(session.Options{})
+// sess := session.Must(session.NewSessionWithOptions(session.Options{}))
//
// // Specify profile to load for the session's config
-// sess, err := session.NewSessionWithOptions(session.Options{
+// sess := session.Must(session.NewSessionWithOptions(session.Options{
// Profile: "profile_name",
-// })
+// }))
//
// // Specify profile for config and region for requests
-// sess, err := session.NewSessionWithOptions(session.Options{
+// sess := session.Must(session.NewSessionWithOptions(session.Options{
// Config: aws.Config{Region: aws.String("us-east-1")},
// Profile: "profile_name",
-// })
+// }))
//
// // Force enable Shared Config support
-// sess, err := session.NewSessionWithOptions(session.Options{
-// SharedConfigState: SharedConfigEnable,
-// })
+// sess := session.Must(session.NewSessionWithOptions(session.Options{
+// SharedConfigState: session.SharedConfigEnable,
+// }))
func NewSessionWithOptions(opts Options) (*Session, error) {
- envCfg := loadEnvConfig()
+ var envCfg envConfig
+ if opts.SharedConfigState == SharedConfigEnable {
+ envCfg = loadSharedEnvConfig()
+ } else {
+ envCfg = loadEnvConfig()
+ }
if len(opts.Profile) > 0 {
envCfg.Profile = opts.Profile
@@ -192,7 +243,25 @@ func NewSessionWithOptions(opts Options) (*Session, error) {
envCfg.EnableSharedConfig = true
}
- return newSession(envCfg, &opts.Config)
+ if len(envCfg.SharedCredentialsFile) == 0 {
+ envCfg.SharedCredentialsFile = defaults.SharedCredentialsFilename()
+ }
+ if len(envCfg.SharedConfigFile) == 0 {
+ envCfg.SharedConfigFile = defaults.SharedConfigFilename()
+ }
+
+ // Only use AWS_CA_BUNDLE if session option is not provided.
+ if len(envCfg.CustomCABundle) != 0 && opts.CustomCABundle == nil {
+ f, err := os.Open(envCfg.CustomCABundle)
+ if err != nil {
+ return nil, awserr.New("LoadCustomCABundleError",
+ "failed to open custom CA bundle PEM file", err)
+ }
+ defer f.Close()
+ opts.CustomCABundle = f
+ }
+
+ return newSession(opts, envCfg, &opts.Config)
}
// Must is a helper function to ensure the Session is valid and there was no
@@ -210,13 +279,18 @@ func Must(sess *Session, err error) *Session {
return sess
}
-func oldNewSession(cfgs ...*aws.Config) *Session {
+func deprecatedNewSession(cfgs ...*aws.Config) *Session {
cfg := defaults.Config()
handlers := defaults.Handlers()
// Apply the passed in configs so the configuration can be applied to the
// default credential chain
cfg.MergeIn(cfgs...)
+ if cfg.EndpointResolver == nil {
+ // An endpoint resolver is required for a session to be able to provide
+ // endpoints for service client configurations.
+ cfg.EndpointResolver = endpoints.DefaultResolver()
+ }
cfg.Credentials = defaults.CredChain(cfg, handlers)
// Reapply any passed in configs to override credentials if set
@@ -232,7 +306,7 @@ func oldNewSession(cfgs ...*aws.Config) *Session {
return s
}
-func newSession(envCfg envConfig, cfgs ...*aws.Config) (*Session, error) {
+func newSession(opts Options, envCfg envConfig, cfgs ...*aws.Config) (*Session, error) {
cfg := defaults.Config()
handlers := defaults.Handlers()
@@ -241,13 +315,18 @@ func newSession(envCfg envConfig, cfgs ...*aws.Config) (*Session, error) {
userCfg := &aws.Config{}
userCfg.MergeIn(cfgs...)
- // Order config files will be loaded in with later files overwriting
+ // Ordered config files will be loaded in with later files overwriting
// previous config file values.
- cfgFiles := []string{envCfg.SharedConfigFile, envCfg.SharedCredentialsFile}
- if !envCfg.EnableSharedConfig {
- // The shared config file (~/.aws/config) is only loaded if instructed
- // to load via the envConfig.EnableSharedConfig (AWS_SDK_LOAD_CONFIG).
- cfgFiles = cfgFiles[1:]
+ var cfgFiles []string
+ if opts.SharedConfigFiles != nil {
+ cfgFiles = opts.SharedConfigFiles
+ } else {
+ cfgFiles = []string{envCfg.SharedConfigFile, envCfg.SharedCredentialsFile}
+ if !envCfg.EnableSharedConfig {
+ // The shared config file (~/.aws/config) is only loaded if instructed
+ // to load via the envConfig.EnableSharedConfig (AWS_SDK_LOAD_CONFIG).
+ cfgFiles = cfgFiles[1:]
+ }
}
// Load additional config from file(s)
@@ -256,7 +335,9 @@ func newSession(envCfg envConfig, cfgs ...*aws.Config) (*Session, error) {
return nil, err
}
- mergeConfigSrcs(cfg, userCfg, envCfg, sharedCfg, handlers)
+ if err := mergeConfigSrcs(cfg, userCfg, envCfg, sharedCfg, handlers, opts); err != nil {
+ return nil, err
+ }
s := &Session{
Config: cfg,
@@ -265,10 +346,62 @@ func newSession(envCfg envConfig, cfgs ...*aws.Config) (*Session, error) {
initHandlers(s)
+ // Setup HTTP client with custom cert bundle if enabled
+ if opts.CustomCABundle != nil {
+ if err := loadCustomCABundle(s, opts.CustomCABundle); err != nil {
+ return nil, err
+ }
+ }
+
return s, nil
}
-func mergeConfigSrcs(cfg, userCfg *aws.Config, envCfg envConfig, sharedCfg sharedConfig, handlers request.Handlers) {
+func loadCustomCABundle(s *Session, bundle io.Reader) error {
+ var t *http.Transport
+ switch v := s.Config.HTTPClient.Transport.(type) {
+ case *http.Transport:
+ t = v
+ default:
+ if s.Config.HTTPClient.Transport != nil {
+ return awserr.New("LoadCustomCABundleError",
+ "unable to load custom CA bundle, HTTPClient's transport unsupported type", nil)
+ }
+ }
+ if t == nil {
+ t = &http.Transport{}
+ }
+
+ p, err := loadCertPool(bundle)
+ if err != nil {
+ return err
+ }
+ if t.TLSClientConfig == nil {
+ t.TLSClientConfig = &tls.Config{}
+ }
+ t.TLSClientConfig.RootCAs = p
+
+ s.Config.HTTPClient.Transport = t
+
+ return nil
+}
+
+func loadCertPool(r io.Reader) (*x509.CertPool, error) {
+ b, err := ioutil.ReadAll(r)
+ if err != nil {
+ return nil, awserr.New("LoadCustomCABundleError",
+ "failed to read custom CA bundle PEM file", err)
+ }
+
+ p := x509.NewCertPool()
+ if !p.AppendCertsFromPEM(b) {
+ return nil, awserr.New("LoadCustomCABundleError",
+ "failed to load custom CA bundle PEM file", err)
+ }
+
+ return p, nil
+}
+
+func mergeConfigSrcs(cfg, userCfg *aws.Config, envCfg envConfig, sharedCfg sharedConfig, handlers request.Handlers, sessOpts Options) error {
// Merge in user provided configuration
cfg.MergeIn(userCfg)
@@ -292,6 +425,11 @@ func mergeConfigSrcs(cfg, userCfg *aws.Config, envCfg envConfig, sharedCfg share
cfgCp.Credentials = credentials.NewStaticCredentialsFromCreds(
sharedCfg.AssumeRoleSource.Creds,
)
+ if len(sharedCfg.AssumeRole.MFASerial) > 0 && sessOpts.AssumeRoleTokenProvider == nil {
+ // AssumeRole Token provider is required if doing Assume Role
+ // with MFA.
+ return AssumeRoleTokenProviderNotSetError{}
+ }
cfg.Credentials = stscreds.NewCredentials(
&Session{
Config: &cfgCp,
@@ -301,11 +439,16 @@ func mergeConfigSrcs(cfg, userCfg *aws.Config, envCfg envConfig, sharedCfg share
func(opt *stscreds.AssumeRoleProvider) {
opt.RoleSessionName = sharedCfg.AssumeRole.RoleSessionName
+ // Assume role with external ID
if len(sharedCfg.AssumeRole.ExternalID) > 0 {
opt.ExternalID = aws.String(sharedCfg.AssumeRole.ExternalID)
}
- // MFA not supported
+ // Assume role with MFA
+ if len(sharedCfg.AssumeRole.MFASerial) > 0 {
+ opt.SerialNumber = aws.String(sharedCfg.AssumeRole.MFASerial)
+ opt.TokenProvider = sessOpts.AssumeRoleTokenProvider
+ }
},
)
} else if len(sharedCfg.Creds.AccessKeyID) > 0 {
@@ -326,6 +469,33 @@ func mergeConfigSrcs(cfg, userCfg *aws.Config, envCfg envConfig, sharedCfg share
})
}
}
+
+ return nil
+}
+
+// AssumeRoleTokenProviderNotSetError is an error returned when creating a session when the
+// MFAToken option is not set when shared config is configured load assume a
+// role with an MFA token.
+type AssumeRoleTokenProviderNotSetError struct{}
+
+// Code is the short id of the error.
+func (e AssumeRoleTokenProviderNotSetError) Code() string {
+ return "AssumeRoleTokenProviderNotSetError"
+}
+
+// Message is the description of the error
+func (e AssumeRoleTokenProviderNotSetError) Message() string {
+ return fmt.Sprintf("assume role with MFA enabled, but AssumeRoleTokenProvider session option not set.")
+}
+
+// OrigErr is the underlying error that caused the failure.
+func (e AssumeRoleTokenProviderNotSetError) OrigErr() error {
+ return nil
+}
+
+// Error satisfies the error interface.
+func (e AssumeRoleTokenProviderNotSetError) Error() string {
+ return awserr.SprintError(e.Code(), e.Message(), "", nil)
}
type credProviderError struct {
@@ -370,19 +540,67 @@ func (s *Session) Copy(cfgs ...*aws.Config) *Session {
// configure the service client instances. Passing the Session to the service
// client's constructor (New) will use this method to configure the client.
func (s *Session) ClientConfig(serviceName string, cfgs ...*aws.Config) client.Config {
+ // Backwards compatibility, the error will be eaten if user calls ClientConfig
+ // directly. All SDK services will use ClientconfigWithError.
+ cfg, _ := s.clientConfigWithErr(serviceName, cfgs...)
+
+ return cfg
+}
+
+func (s *Session) clientConfigWithErr(serviceName string, cfgs ...*aws.Config) (client.Config, error) {
s = s.Copy(cfgs...)
- endpoint, signingRegion := endpoints.NormalizeEndpoint(
- aws.StringValue(s.Config.Endpoint),
- serviceName,
- aws.StringValue(s.Config.Region),
- aws.BoolValue(s.Config.DisableSSL),
- aws.BoolValue(s.Config.UseDualStack),
- )
+
+ var resolved endpoints.ResolvedEndpoint
+ var err error
+
+ region := aws.StringValue(s.Config.Region)
+
+ if endpoint := aws.StringValue(s.Config.Endpoint); len(endpoint) != 0 {
+ resolved.URL = endpoints.AddScheme(endpoint, aws.BoolValue(s.Config.DisableSSL))
+ resolved.SigningRegion = region
+ } else {
+ resolved, err = s.Config.EndpointResolver.EndpointFor(
+ serviceName, region,
+ func(opt *endpoints.Options) {
+ opt.DisableSSL = aws.BoolValue(s.Config.DisableSSL)
+ opt.UseDualStack = aws.BoolValue(s.Config.UseDualStack)
+
+ // Support the condition where the service is modeled but its
+ // endpoint metadata is not available.
+ opt.ResolveUnknownService = true
+ },
+ )
+ }
return client.Config{
Config: s.Config,
Handlers: s.Handlers,
- Endpoint: endpoint,
- SigningRegion: signingRegion,
+ Endpoint: resolved.URL,
+ SigningRegion: resolved.SigningRegion,
+ SigningName: resolved.SigningName,
+ }, err
+}
+
+// ClientConfigNoResolveEndpoint is the same as ClientConfig with the exception
+// that the EndpointResolver will not be used to resolve the endpoint. The only
+// endpoint set must come from the aws.Config.Endpoint field.
+func (s *Session) ClientConfigNoResolveEndpoint(cfgs ...*aws.Config) client.Config {
+ s = s.Copy(cfgs...)
+
+ var resolved endpoints.ResolvedEndpoint
+
+ region := aws.StringValue(s.Config.Region)
+
+ if ep := aws.StringValue(s.Config.Endpoint); len(ep) > 0 {
+ resolved.URL = endpoints.AddScheme(ep, aws.BoolValue(s.Config.DisableSSL))
+ resolved.SigningRegion = region
+ }
+
+ return client.Config{
+ Config: s.Config,
+ Handlers: s.Handlers,
+ Endpoint: resolved.URL,
+ SigningRegion: resolved.SigningRegion,
+ SigningName: resolved.SigningName,
}
}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go b/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go
index 0147eedeb..09c8e5bc7 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go
@@ -2,7 +2,7 @@ package session
import (
"fmt"
- "os"
+ "io/ioutil"
"github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/aws/credentials"
@@ -105,14 +105,15 @@ func loadSharedConfigIniFiles(filenames []string) ([]sharedConfigFile, error) {
files := make([]sharedConfigFile, 0, len(filenames))
for _, filename := range filenames {
- if _, err := os.Stat(filename); os.IsNotExist(err) {
- // Trim files from the list that don't exist.
+ b, err := ioutil.ReadFile(filename)
+ if err != nil {
+ // Skip files which can't be opened and read for whatever reason
continue
}
- f, err := ini.Load(filename)
+ f, err := ini.Load(b)
if err != nil {
- return nil, SharedConfigLoadError{Filename: filename}
+ return nil, SharedConfigLoadError{Filename: filename, Err: err}
}
files = append(files, sharedConfigFile{
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/options.go b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/options.go
new file mode 100644
index 000000000..6aa2ed241
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/options.go
@@ -0,0 +1,7 @@
+package v4
+
+// WithUnsignedPayload will enable and set the UnsignedPayload field to
+// true of the signer.
+func WithUnsignedPayload(v4 *Signer) {
+ v4.UnsignedPayload = true
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/uri_path.go b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/uri_path.go
new file mode 100644
index 000000000..bd082e9d1
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/uri_path.go
@@ -0,0 +1,24 @@
+// +build go1.5
+
+package v4
+
+import (
+ "net/url"
+ "strings"
+)
+
+func getURIPath(u *url.URL) string {
+ var uri string
+
+ if len(u.Opaque) > 0 {
+ uri = "/" + strings.Join(strings.Split(u.Opaque, "/")[3:], "/")
+ } else {
+ uri = u.EscapedPath()
+ }
+
+ if len(uri) == 0 {
+ uri = "/"
+ }
+
+ return uri
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go
index 7d99f54d1..d9a3b8b0a 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go
@@ -2,15 +2,65 @@
//
// Provides request signing for request that need to be signed with
// AWS V4 Signatures.
+//
+// Standalone Signer
+//
+// Generally using the signer outside of the SDK should not require any additional
+// logic when using Go v1.5 or higher. The signer does this by taking advantage
+// of the URL.EscapedPath method. If your request URI requires additional escaping
+// you many need to use the URL.Opaque to define what the raw URI should be sent
+// to the service as.
+//
+// The signer will first check the URL.Opaque field, and use its value if set.
+// The signer does require the URL.Opaque field to be set in the form of:
+//
+// "///"
+//
+// // e.g.
+// "//example.com/some/path"
+//
+// The leading "//" and hostname are required or the URL.Opaque escaping will
+// not work correctly.
+//
+// If URL.Opaque is not set the signer will fallback to the URL.EscapedPath()
+// method and using the returned value. If you're using Go v1.4 you must set
+// URL.Opaque if the URI path needs escaping. If URL.Opaque is not set with
+// Go v1.5 the signer will fallback to URL.Path.
+//
+// AWS v4 signature validation requires that the canonical string's URI path
+// element must be the URI escaped form of the HTTP request's path.
+// http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html
+//
+// The Go HTTP client will perform escaping automatically on the request. Some
+// of these escaping may cause signature validation errors because the HTTP
+// request differs from the URI path or query that the signature was generated.
+// https://golang.org/pkg/net/url/#URL.EscapedPath
+//
+// Because of this, it is recommended that when using the signer outside of the
+// SDK that explicitly escaping the request prior to being signed is preferable,
+// and will help prevent signature validation errors. This can be done by setting
+// the URL.Opaque or URL.RawPath. The SDK will use URL.Opaque first and then
+// call URL.EscapedPath() if Opaque is not set.
+//
+// If signing a request intended for HTTP2 server, and you're using Go 1.6.2
+// through 1.7.4 you should use the URL.RawPath as the pre-escaped form of the
+// request URL. https://github.com/golang/go/issues/16847 points to a bug in
+// Go pre 1.8 that fails to make HTTP2 requests using absolute URL in the HTTP
+// message. URL.Opaque generally will force Go to make requests with absolute URL.
+// URL.RawPath does not do this, but RawPath must be a valid escaping of Path
+// or url.EscapedPath will ignore the RawPath escaping.
+//
+// Test `TestStandaloneSign` provides a complete example of using the signer
+// outside of the SDK and pre-escaping the URI path.
package v4
import (
- "bytes"
"crypto/hmac"
"crypto/sha256"
"encoding/hex"
"fmt"
"io"
+ "io/ioutil"
"net/http"
"net/url"
"sort"
@@ -36,8 +86,9 @@ const (
var ignoredHeaders = rules{
blacklist{
mapRule{
- "Authorization": struct{}{},
- "User-Agent": struct{}{},
+ "Authorization": struct{}{},
+ "User-Agent": struct{}{},
+ "X-Amzn-Trace-Id": struct{}{},
},
},
}
@@ -119,10 +170,33 @@ type Signer struct {
// request's query string.
DisableHeaderHoisting bool
+ // Disables the automatic escaping of the URI path of the request for the
+ // siganture's canonical string's path. For services that do not need additional
+ // escaping then use this to disable the signer escaping the path.
+ //
+ // S3 is an example of a service that does not need additional escaping.
+ //
+ // http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html
+ DisableURIPathEscaping bool
+
+ // Disales the automatical setting of the HTTP request's Body field with the
+ // io.ReadSeeker passed in to the signer. This is useful if you're using a
+ // custom wrapper around the body for the io.ReadSeeker and want to preserve
+ // the Body value on the Request.Body.
+ //
+ // This does run the risk of signing a request with a body that will not be
+ // sent in the request. Need to ensure that the underlying data of the Body
+ // values are the same.
+ DisableRequestBodyOverwrite bool
+
// currentTimeFn returns the time value which represents the current time.
// This value should only be used for testing. If it is nil the default
// time.Now will be used.
currentTimeFn func() time.Time
+
+ // UnsignedPayload will prevent signing of the payload. This will only
+ // work for services that have support for this.
+ UnsignedPayload bool
}
// NewSigner returns a Signer pointer configured with the credentials and optional
@@ -150,10 +224,13 @@ type signingCtx struct {
ExpireTime time.Duration
SignedHeaderVals http.Header
+ DisableURIPathEscaping bool
+
credValues credentials.Value
isPresign bool
formattedTime string
formattedShortTime string
+ unsignedPayload bool
bodyDigest string
signedHeaders string
@@ -175,6 +252,12 @@ type signingCtx struct {
// is not needed as the full request context will be captured by the http.Request
// value. It is included for reference though.
//
+// Sign will set the request's Body to be the `body` parameter passed in. If
+// the body is not already an io.ReadCloser, it will be wrapped within one. If
+// a `nil` body parameter passed to Sign, the request's Body field will be
+// also set to nil. Its important to note that this functionality will not
+// change the request's ContentLength of the request.
+//
// Sign differs from Presign in that it will sign the request using HTTP
// header values. This type of signing is intended for http.Request values that
// will not be shared, or are shared in a way the header values on the request
@@ -185,7 +268,7 @@ type signingCtx struct {
// "X-Amz-Content-Sha256" header with a precomputed value. The signer will
// only compute the hash if the request header value is empty.
func (v4 Signer) Sign(r *http.Request, body io.ReadSeeker, service, region string, signTime time.Time) (http.Header, error) {
- return v4.signWithBody(r, body, service, region, 0, signTime)
+ return v4.signWithBody(r, body, service, region, 0, false, signTime)
}
// Presign signs AWS v4 requests with the provided body, service name, region
@@ -219,32 +302,33 @@ func (v4 Signer) Sign(r *http.Request, body io.ReadSeeker, service, region strin
// presigned request's signature you can set the "X-Amz-Content-Sha256"
// HTTP header and that will be included in the request's signature.
func (v4 Signer) Presign(r *http.Request, body io.ReadSeeker, service, region string, exp time.Duration, signTime time.Time) (http.Header, error) {
- return v4.signWithBody(r, body, service, region, exp, signTime)
+ return v4.signWithBody(r, body, service, region, exp, true, signTime)
}
-func (v4 Signer) signWithBody(r *http.Request, body io.ReadSeeker, service, region string, exp time.Duration, signTime time.Time) (http.Header, error) {
+func (v4 Signer) signWithBody(r *http.Request, body io.ReadSeeker, service, region string, exp time.Duration, isPresign bool, signTime time.Time) (http.Header, error) {
currentTimeFn := v4.currentTimeFn
if currentTimeFn == nil {
currentTimeFn = time.Now
}
ctx := &signingCtx{
- Request: r,
- Body: body,
- Query: r.URL.Query(),
- Time: signTime,
- ExpireTime: exp,
- isPresign: exp != 0,
- ServiceName: service,
- Region: region,
+ Request: r,
+ Body: body,
+ Query: r.URL.Query(),
+ Time: signTime,
+ ExpireTime: exp,
+ isPresign: isPresign,
+ ServiceName: service,
+ Region: region,
+ DisableURIPathEscaping: v4.DisableURIPathEscaping,
+ unsignedPayload: v4.UnsignedPayload,
+ }
+
+ for key := range ctx.Query {
+ sort.Strings(ctx.Query[key])
}
if ctx.isRequestSigned() {
- if !v4.Credentials.IsExpired() && currentTimeFn().Before(ctx.Time.Add(10*time.Minute)) {
- // If the request is already signed, and the credentials have not
- // expired, and the request is not too old ignore the signing request.
- return ctx.SignedHeaderVals, nil
- }
ctx.Time = currentTimeFn()
ctx.handlePresignRemoval()
}
@@ -258,6 +342,20 @@ func (v4 Signer) signWithBody(r *http.Request, body io.ReadSeeker, service, regi
ctx.assignAmzQueryValues()
ctx.build(v4.DisableHeaderHoisting)
+ // If the request is not presigned the body should be attached to it. This
+ // prevents the confusion of wanting to send a signed request without
+ // the body the request was signed for attached.
+ if !(v4.DisableRequestBodyOverwrite || ctx.isPresign) {
+ var reader io.ReadCloser
+ if body != nil {
+ var ok bool
+ if reader, ok = body.(io.ReadCloser); !ok {
+ reader = ioutil.NopCloser(body)
+ }
+ }
+ r.Body = reader
+ }
+
if v4.Debug.Matches(aws.LogDebugWithSigning) {
v4.logSigningInfo(ctx)
}
@@ -303,7 +401,7 @@ var SignRequestHandler = request.NamedHandler{
}
// SignSDKRequest signs an AWS request with the V4 signature. This
-// request handler is bested used only with the SDK's built in service client's
+// request handler should only be used with the SDK's built in service client's
// API operation requests.
//
// This function should not be used on its on its own, but in conjunction with
@@ -316,7 +414,18 @@ var SignRequestHandler = request.NamedHandler{
func SignSDKRequest(req *request.Request) {
signSDKRequestWithCurrTime(req, time.Now)
}
-func signSDKRequestWithCurrTime(req *request.Request, curTimeFn func() time.Time) {
+
+// BuildNamedHandler will build a generic handler for signing.
+func BuildNamedHandler(name string, opts ...func(*Signer)) request.NamedHandler {
+ return request.NamedHandler{
+ Name: name,
+ Fn: func(req *request.Request) {
+ signSDKRequestWithCurrTime(req, time.Now, opts...)
+ },
+ }
+}
+
+func signSDKRequestWithCurrTime(req *request.Request, curTimeFn func() time.Time, opts ...func(*Signer)) {
// If the request does not need to be signed ignore the signing of the
// request if the AnonymousCredentials object is used.
if req.Config.Credentials == credentials.AnonymousCredentials {
@@ -338,14 +447,28 @@ func signSDKRequestWithCurrTime(req *request.Request, curTimeFn func() time.Time
v4.Logger = req.Config.Logger
v4.DisableHeaderHoisting = req.NotHoist
v4.currentTimeFn = curTimeFn
+ if name == "s3" {
+ // S3 service should not have any escaping applied
+ v4.DisableURIPathEscaping = true
+ }
+ // Prevents setting the HTTPRequest's Body. Since the Body could be
+ // wrapped in a custom io.Closer that we do not want to be stompped
+ // on top of by the signer.
+ v4.DisableRequestBodyOverwrite = true
})
+ for _, opt := range opts {
+ opt(v4)
+ }
+
signingTime := req.Time
if !req.LastSignedAt.IsZero() {
signingTime = req.LastSignedAt
}
- signedHeaders, err := v4.signWithBody(req.HTTPRequest, req.Body, name, region, req.ExpireTime, signingTime)
+ signedHeaders, err := v4.signWithBody(req.HTTPRequest, req.GetBody(),
+ name, region, req.ExpireTime, req.ExpireTime > 0, signingTime,
+ )
if err != nil {
req.Error = err
req.SignedHeaderVals = nil
@@ -356,7 +479,7 @@ func signSDKRequestWithCurrTime(req *request.Request, curTimeFn func() time.Time
req.LastSignedAt = curTimeFn()
}
-const logSignInfoMsg = `DEBUG: Request Signiture:
+const logSignInfoMsg = `DEBUG: Request Signature:
---[ CANONICAL STRING ]-----------------------------
%s
---[ STRING TO SIGN ]--------------------------------
@@ -379,6 +502,8 @@ func (ctx *signingCtx) build(disableHeaderHoisting bool) {
ctx.buildTime() // no depends
ctx.buildCredentialString() // no depends
+ ctx.buildBodyDigest()
+
unsignedHeaders := ctx.Request.Header
if ctx.isPresign {
if !disableHeaderHoisting {
@@ -390,7 +515,6 @@ func (ctx *signingCtx) build(disableHeaderHoisting bool) {
}
}
- ctx.buildBodyDigest()
ctx.buildCanonicalHeaders(ignoredHeaders, unsignedHeaders)
ctx.buildCanonicalString() // depends on canon headers / signed headers
ctx.buildStringToSign() // depends on canon string
@@ -480,29 +604,26 @@ func (ctx *signingCtx) buildCanonicalHeaders(r rule, header http.Header) {
headerValues := make([]string, len(headers))
for i, k := range headers {
if k == "host" {
- headerValues[i] = "host:" + ctx.Request.URL.Host
+ if ctx.Request.Host != "" {
+ headerValues[i] = "host:" + ctx.Request.Host
+ } else {
+ headerValues[i] = "host:" + ctx.Request.URL.Host
+ }
} else {
headerValues[i] = k + ":" +
strings.Join(ctx.SignedHeaderVals[k], ",")
}
}
-
- ctx.canonicalHeaders = strings.Join(stripExcessSpaces(headerValues), "\n")
+ stripExcessSpaces(headerValues)
+ ctx.canonicalHeaders = strings.Join(headerValues, "\n")
}
func (ctx *signingCtx) buildCanonicalString() {
ctx.Request.URL.RawQuery = strings.Replace(ctx.Query.Encode(), "+", "%20", -1)
- uri := ctx.Request.URL.Opaque
- if uri != "" {
- uri = "/" + strings.Join(strings.Split(uri, "/")[3:], "/")
- } else {
- uri = ctx.Request.URL.Path
- }
- if uri == "" {
- uri = "/"
- }
- if ctx.ServiceName != "s3" {
+ uri := getURIPath(ctx.Request.URL)
+
+ if !ctx.DisableURIPathEscaping {
uri = rest.EscapePath(uri, false)
}
@@ -538,14 +659,14 @@ func (ctx *signingCtx) buildSignature() {
func (ctx *signingCtx) buildBodyDigest() {
hash := ctx.Request.Header.Get("X-Amz-Content-Sha256")
if hash == "" {
- if ctx.isPresign && ctx.ServiceName == "s3" {
+ if ctx.unsignedPayload || (ctx.isPresign && ctx.ServiceName == "s3") {
hash = "UNSIGNED-PAYLOAD"
} else if ctx.Body == nil {
hash = emptyStringSHA256
} else {
hash = hex.EncodeToString(makeSha256Reader(ctx.Body))
}
- if ctx.ServiceName == "s3" || ctx.ServiceName == "glacier" {
+ if ctx.unsignedPayload || ctx.ServiceName == "s3" || ctx.ServiceName == "glacier" {
ctx.Request.Header.Set("X-Amz-Content-Sha256", hash)
}
}
@@ -596,49 +717,46 @@ func makeSha256Reader(reader io.ReadSeeker) []byte {
return hash.Sum(nil)
}
-const doubleSpaces = " "
+const doubleSpace = " "
-var doubleSpaceBytes = []byte(doubleSpaces)
+// stripExcessSpaces will rewrite the passed in slice's string values to not
+// contain muliple side-by-side spaces.
+func stripExcessSpaces(vals []string) {
+ var j, k, l, m, spaces int
+ for i, str := range vals {
+ // Trim trailing spaces
+ for j = len(str) - 1; j >= 0 && str[j] == ' '; j-- {
+ }
-func stripExcessSpaces(headerVals []string) []string {
- vals := make([]string, len(headerVals))
- for i, str := range headerVals {
- // Trim leading and trailing spaces
- trimmed := strings.TrimSpace(str)
+ // Trim leading spaces
+ for k = 0; k < j && str[k] == ' '; k++ {
+ }
+ str = str[k : j+1]
- idx := strings.Index(trimmed, doubleSpaces)
- var buf []byte
- for idx > -1 {
- // Multiple adjacent spaces found
- if buf == nil {
- // first time create the buffer
- buf = []byte(trimmed)
- }
+ // Strip multiple spaces.
+ j = strings.Index(str, doubleSpace)
+ if j < 0 {
+ vals[i] = str
+ continue
+ }
- stripToIdx := -1
- for j := idx + 1; j < len(buf); j++ {
- if buf[j] != ' ' {
- buf = append(buf[:idx+1], buf[j:]...)
- stripToIdx = j
- break
- }
- }
-
- if stripToIdx >= 0 {
- idx = bytes.Index(buf[stripToIdx:], doubleSpaceBytes)
- if idx >= 0 {
- idx += stripToIdx
+ buf := []byte(str)
+ for k, m, l = j, j, len(buf); k < l; k++ {
+ if buf[k] == ' ' {
+ if spaces == 0 {
+ // First space.
+ buf[m] = buf[k]
+ m++
}
+ spaces++
} else {
- idx = -1
+ // End of multiple spaces.
+ spaces = 0
+ buf[m] = buf[k]
+ m++
}
}
- if buf != nil {
- vals[i] = string(buf)
- } else {
- vals[i] = trimmed
- }
+ vals[i] = string(buf[:m])
}
- return vals
}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/types.go b/vendor/github.com/aws/aws-sdk-go/aws/types.go
index fa014b49e..0e2d864e1 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/types.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/types.go
@@ -5,7 +5,13 @@ import (
"sync"
)
-// ReadSeekCloser wraps a io.Reader returning a ReaderSeekerCloser
+// ReadSeekCloser wraps a io.Reader returning a ReaderSeekerCloser. Should
+// only be used with an io.Reader that is also an io.Seeker. Doing so may
+// cause request signature errors, or request body's not sent for GET, HEAD
+// and DELETE HTTP methods.
+//
+// Deprecated: Should only be used with io.ReadSeeker. If using for
+// S3 PutObject to stream content use s3manager.Uploader instead.
func ReadSeekCloser(r io.Reader) ReaderSeekerCloser {
return ReaderSeekerCloser{r}
}
@@ -44,6 +50,12 @@ func (r ReaderSeekerCloser) Seek(offset int64, whence int) (int64, error) {
return int64(0), nil
}
+// IsSeeker returns if the underlying reader is also a seeker.
+func (r ReaderSeekerCloser) IsSeeker() bool {
+ _, ok := r.r.(io.Seeker)
+ return ok
+}
+
// Close closes the ReaderSeekerCloser.
//
// If the ReaderSeekerCloser is not an io.Closer nothing will be done.
@@ -102,5 +114,5 @@ func (b *WriteAtBuffer) WriteAt(p []byte, pos int64) (n int, err error) {
func (b *WriteAtBuffer) Bytes() []byte {
b.m.Lock()
defer b.m.Unlock()
- return b.buf[:len(b.buf):len(b.buf)]
+ return b.buf
}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/url.go b/vendor/github.com/aws/aws-sdk-go/aws/url.go
new file mode 100644
index 000000000..6192b2455
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/url.go
@@ -0,0 +1,12 @@
+// +build go1.8
+
+package aws
+
+import "net/url"
+
+// URLHostname will extract the Hostname without port from the URL value.
+//
+// Wrapper of net/url#URL.Hostname for backwards Go version compatibility.
+func URLHostname(url *url.URL) string {
+ return url.Hostname()
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/url_1_7.go b/vendor/github.com/aws/aws-sdk-go/aws/url_1_7.go
new file mode 100644
index 000000000..0210d2720
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/url_1_7.go
@@ -0,0 +1,29 @@
+// +build !go1.8
+
+package aws
+
+import (
+ "net/url"
+ "strings"
+)
+
+// URLHostname will extract the Hostname without port from the URL value.
+//
+// Copy of Go 1.8's net/url#URL.Hostname functionality.
+func URLHostname(url *url.URL) string {
+ return stripPort(url.Host)
+
+}
+
+// stripPort is copy of Go 1.8 url#URL.Hostname functionality.
+// https://golang.org/src/net/url/url.go
+func stripPort(hostport string) string {
+ colon := strings.IndexByte(hostport, ':')
+ if colon == -1 {
+ return hostport
+ }
+ if i := strings.IndexByte(hostport, ']'); i != -1 {
+ return strings.TrimPrefix(hostport[:i], "[")
+ }
+ return hostport[:colon]
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/version.go b/vendor/github.com/aws/aws-sdk-go/aws/version.go
index 1fa57165f..678b53a04 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/version.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/version.go
@@ -5,4 +5,4 @@ package aws
const SDKName = "aws-sdk-go"
// SDKVersion is the version of this SDK
-const SDKVersion = "1.4.1"
+const SDKVersion = "1.12.25"
diff --git a/vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/shared_config.go b/vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/shared_config.go
new file mode 100644
index 000000000..ebcbc2b40
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/shared_config.go
@@ -0,0 +1,40 @@
+package shareddefaults
+
+import (
+ "os"
+ "path/filepath"
+ "runtime"
+)
+
+// SharedCredentialsFilename returns the SDK's default file path
+// for the shared credentials file.
+//
+// Builds the shared config file path based on the OS's platform.
+//
+// - Linux/Unix: $HOME/.aws/credentials
+// - Windows: %USERPROFILE%\.aws\credentials
+func SharedCredentialsFilename() string {
+ return filepath.Join(UserHomeDir(), ".aws", "credentials")
+}
+
+// SharedConfigFilename returns the SDK's default file path for
+// the shared config file.
+//
+// Builds the shared config file path based on the OS's platform.
+//
+// - Linux/Unix: $HOME/.aws/config
+// - Windows: %USERPROFILE%\.aws\config
+func SharedConfigFilename() string {
+ return filepath.Join(UserHomeDir(), ".aws", "config")
+}
+
+// UserHomeDir returns the home directory for the user the process is
+// running under.
+func UserHomeDir() string {
+ if runtime.GOOS == "windows" { // Windows
+ return os.Getenv("USERPROFILE")
+ }
+
+ // *nix
+ return os.Getenv("HOME")
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints.go b/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints.go
deleted file mode 100644
index b4ad7405c..000000000
--- a/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints.go
+++ /dev/null
@@ -1,70 +0,0 @@
-// Package endpoints validates regional endpoints for services.
-package endpoints
-
-//go:generate go run ../model/cli/gen-endpoints/main.go endpoints.json endpoints_map.go
-//go:generate gofmt -s -w endpoints_map.go
-
-import (
- "fmt"
- "regexp"
- "strings"
-)
-
-// NormalizeEndpoint takes and endpoint and service API information to return a
-// normalized endpoint and signing region. If the endpoint is not an empty string
-// the service name and region will be used to look up the service's API endpoint.
-// If the endpoint is provided the scheme will be added if it is not present.
-func NormalizeEndpoint(endpoint, serviceName, region string, disableSSL, useDualStack bool) (normEndpoint, signingRegion string) {
- if endpoint == "" {
- return EndpointForRegion(serviceName, region, disableSSL, useDualStack)
- }
-
- return AddScheme(endpoint, disableSSL), ""
-}
-
-// EndpointForRegion returns an endpoint and its signing region for a service and region.
-// if the service and region pair are not found endpoint and signingRegion will be empty.
-func EndpointForRegion(svcName, region string, disableSSL, useDualStack bool) (endpoint, signingRegion string) {
- dualStackField := ""
- if useDualStack {
- dualStackField = "/dualstack"
- }
-
- derivedKeys := []string{
- region + "/" + svcName + dualStackField,
- region + "/*" + dualStackField,
- "*/" + svcName + dualStackField,
- "*/*" + dualStackField,
- }
-
- for _, key := range derivedKeys {
- if val, ok := endpointsMap.Endpoints[key]; ok {
- ep := val.Endpoint
- ep = strings.Replace(ep, "{region}", region, -1)
- ep = strings.Replace(ep, "{service}", svcName, -1)
-
- endpoint = ep
- signingRegion = val.SigningRegion
- break
- }
- }
-
- return AddScheme(endpoint, disableSSL), signingRegion
-}
-
-// Regular expression to determine if the endpoint string is prefixed with a scheme.
-var schemeRE = regexp.MustCompile("^([^:]+)://")
-
-// AddScheme adds the HTTP or HTTPS schemes to a endpoint URL if there is no
-// scheme. If disableSSL is true HTTP will be added instead of the default HTTPS.
-func AddScheme(endpoint string, disableSSL bool) string {
- if endpoint != "" && !schemeRE.MatchString(endpoint) {
- scheme := "https"
- if disableSSL {
- scheme = "http"
- }
- endpoint = fmt.Sprintf("%s://%s", scheme, endpoint)
- }
-
- return endpoint
-}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints.json b/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints.json
deleted file mode 100644
index c5bf3c7c3..000000000
--- a/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "version": 2,
- "endpoints": {
- "*/*": {
- "endpoint": "{service}.{region}.amazonaws.com"
- },
- "cn-north-1/*": {
- "endpoint": "{service}.{region}.amazonaws.com.cn",
- "signatureVersion": "v4"
- },
- "cn-north-1/ec2metadata": {
- "endpoint": "http://169.254.169.254/latest"
- },
- "us-gov-west-1/iam": {
- "endpoint": "iam.us-gov.amazonaws.com"
- },
- "us-gov-west-1/sts": {
- "endpoint": "sts.us-gov-west-1.amazonaws.com"
- },
- "us-gov-west-1/s3": {
- "endpoint": "s3-{region}.amazonaws.com"
- },
- "us-gov-west-1/ec2metadata": {
- "endpoint": "http://169.254.169.254/latest"
- },
- "*/cloudfront": {
- "endpoint": "cloudfront.amazonaws.com",
- "signingRegion": "us-east-1"
- },
- "*/cloudsearchdomain": {
- "endpoint": "",
- "signingRegion": "us-east-1"
- },
- "*/data.iot": {
- "endpoint": "",
- "signingRegion": "us-east-1"
- },
- "*/ec2metadata": {
- "endpoint": "http://169.254.169.254/latest"
- },
- "*/iam": {
- "endpoint": "iam.amazonaws.com",
- "signingRegion": "us-east-1"
- },
- "*/importexport": {
- "endpoint": "importexport.amazonaws.com",
- "signingRegion": "us-east-1"
- },
- "*/route53": {
- "endpoint": "route53.amazonaws.com",
- "signingRegion": "us-east-1"
- },
- "*/sts": {
- "endpoint": "sts.amazonaws.com",
- "signingRegion": "us-east-1"
- },
- "*/waf": {
- "endpoint": "waf.amazonaws.com",
- "signingRegion": "us-east-1"
- },
- "us-east-1/sdb": {
- "endpoint": "sdb.amazonaws.com",
- "signingRegion": "us-east-1"
- },
- "*/s3": {
- "endpoint": "s3-{region}.amazonaws.com"
- },
- "*/s3/dualstack": {
- "endpoint": "s3.dualstack.{region}.amazonaws.com"
- },
- "us-east-1/s3": {
- "endpoint": "s3.amazonaws.com"
- },
- "eu-central-1/s3": {
- "endpoint": "{service}.{region}.amazonaws.com"
- }
- }
-}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints_map.go b/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints_map.go
deleted file mode 100644
index a81d158c3..000000000
--- a/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints_map.go
+++ /dev/null
@@ -1,91 +0,0 @@
-package endpoints
-
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
-
-type endpointStruct struct {
- Version int
- Endpoints map[string]endpointEntry
-}
-
-type endpointEntry struct {
- Endpoint string
- SigningRegion string
-}
-
-var endpointsMap = endpointStruct{
- Version: 2,
- Endpoints: map[string]endpointEntry{
- "*/*": {
- Endpoint: "{service}.{region}.amazonaws.com",
- },
- "*/cloudfront": {
- Endpoint: "cloudfront.amazonaws.com",
- SigningRegion: "us-east-1",
- },
- "*/cloudsearchdomain": {
- Endpoint: "",
- SigningRegion: "us-east-1",
- },
- "*/data.iot": {
- Endpoint: "",
- SigningRegion: "us-east-1",
- },
- "*/ec2metadata": {
- Endpoint: "http://169.254.169.254/latest",
- },
- "*/iam": {
- Endpoint: "iam.amazonaws.com",
- SigningRegion: "us-east-1",
- },
- "*/importexport": {
- Endpoint: "importexport.amazonaws.com",
- SigningRegion: "us-east-1",
- },
- "*/route53": {
- Endpoint: "route53.amazonaws.com",
- SigningRegion: "us-east-1",
- },
- "*/s3": {
- Endpoint: "s3-{region}.amazonaws.com",
- },
- "*/s3/dualstack": {
- Endpoint: "s3.dualstack.{region}.amazonaws.com",
- },
- "*/sts": {
- Endpoint: "sts.amazonaws.com",
- SigningRegion: "us-east-1",
- },
- "*/waf": {
- Endpoint: "waf.amazonaws.com",
- SigningRegion: "us-east-1",
- },
- "cn-north-1/*": {
- Endpoint: "{service}.{region}.amazonaws.com.cn",
- },
- "cn-north-1/ec2metadata": {
- Endpoint: "http://169.254.169.254/latest",
- },
- "eu-central-1/s3": {
- Endpoint: "{service}.{region}.amazonaws.com",
- },
- "us-east-1/s3": {
- Endpoint: "s3.amazonaws.com",
- },
- "us-east-1/sdb": {
- Endpoint: "sdb.amazonaws.com",
- SigningRegion: "us-east-1",
- },
- "us-gov-west-1/ec2metadata": {
- Endpoint: "http://169.254.169.254/latest",
- },
- "us-gov-west-1/iam": {
- Endpoint: "iam.us-gov.amazonaws.com",
- },
- "us-gov-west-1/s3": {
- Endpoint: "s3-{region}.amazonaws.com",
- },
- "us-gov-west-1/sts": {
- Endpoint: "sts.us-gov-west-1.amazonaws.com",
- },
- },
-}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go
index c705481c3..18169f0f8 100644
--- a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go
@@ -1,7 +1,7 @@
// Package query provides serialization of AWS query requests, and responses.
package query
-//go:generate go run ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/query.json build_test.go
+//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/query.json build_test.go
import (
"net/url"
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go
index 60ea0bd1e..5ce9cba32 100644
--- a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go
@@ -76,6 +76,9 @@ func (q *queryParser) parseStruct(v url.Values, value reflect.Value, prefix stri
if field.PkgPath != "" {
continue // ignore unexported fields
}
+ if field.Tag.Get("ignore") != "" {
+ continue
+ }
if protocol.CanSetIdempotencyToken(value.Field(i), field) {
token := protocol.GetIdempotencyToken()
@@ -118,9 +121,17 @@ func (q *queryParser) parseList(v url.Values, value reflect.Value, prefix string
return nil
}
+ if _, ok := value.Interface().([]byte); ok {
+ return q.parseScalar(v, value, prefix, tag)
+ }
+
// check for unflattened list member
if !q.isEC2 && tag.Get("flattened") == "" {
- prefix += ".member"
+ if listName := tag.Get("locationNameList"); listName == "" {
+ prefix += ".member"
+ } else {
+ prefix += "." + listName
+ }
}
for i := 0; i < value.Len(); i++ {
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.go
index a3ea40955..e0f4d5a54 100644
--- a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.go
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.go
@@ -1,6 +1,6 @@
package query
-//go:generate go run ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/query.json unmarshal_test.go
+//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/query.json unmarshal_test.go
import (
"encoding/xml"
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go
index 5f412516d..716183564 100644
--- a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go
@@ -4,6 +4,7 @@ package rest
import (
"bytes"
"encoding/base64"
+ "encoding/json"
"fmt"
"io"
"net/http"
@@ -14,6 +15,7 @@ import (
"strings"
"time"
+ "github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/aws/request"
)
@@ -46,14 +48,29 @@ var BuildHandler = request.NamedHandler{Name: "awssdk.rest.Build", Fn: Build}
func Build(r *request.Request) {
if r.ParamsFilled() {
v := reflect.ValueOf(r.Params).Elem()
- buildLocationElements(r, v)
+ buildLocationElements(r, v, false)
buildBody(r, v)
}
}
-func buildLocationElements(r *request.Request, v reflect.Value) {
+// BuildAsGET builds the REST component of a service request with the ability to hoist
+// data from the body.
+func BuildAsGET(r *request.Request) {
+ if r.ParamsFilled() {
+ v := reflect.ValueOf(r.Params).Elem()
+ buildLocationElements(r, v, true)
+ buildBody(r, v)
+ }
+}
+
+func buildLocationElements(r *request.Request, v reflect.Value, buildGETQuery bool) {
query := r.HTTPRequest.URL.Query()
+ // Setup the raw path to match the base path pattern. This is needed
+ // so that when the path is mutated a custom escaped version can be
+ // stored in RawPath that will be used by the Go client.
+ r.HTTPRequest.URL.RawPath = r.HTTPRequest.URL.Path
+
for i := 0; i < v.NumField(); i++ {
m := v.Field(i)
if n := v.Type().Field(i).Name; n[0:1] == strings.ToLower(n[0:1]) {
@@ -66,23 +83,34 @@ func buildLocationElements(r *request.Request, v reflect.Value) {
if name == "" {
name = field.Name
}
- if m.Kind() == reflect.Ptr {
+ if kind := m.Kind(); kind == reflect.Ptr {
m = m.Elem()
+ } else if kind == reflect.Interface {
+ if !m.Elem().IsValid() {
+ continue
+ }
}
if !m.IsValid() {
continue
}
+ if field.Tag.Get("ignore") != "" {
+ continue
+ }
var err error
switch field.Tag.Get("location") {
case "headers": // header maps
- err = buildHeaderMap(&r.HTTPRequest.Header, m, field.Tag.Get("locationName"))
+ err = buildHeaderMap(&r.HTTPRequest.Header, m, field.Tag)
case "header":
- err = buildHeader(&r.HTTPRequest.Header, m, name)
+ err = buildHeader(&r.HTTPRequest.Header, m, name, field.Tag)
case "uri":
- err = buildURI(r.HTTPRequest.URL, m, name)
+ err = buildURI(r.HTTPRequest.URL, m, name, field.Tag)
case "querystring":
- err = buildQueryString(query, m, name)
+ err = buildQueryString(query, m, name, field.Tag)
+ default:
+ if buildGETQuery {
+ err = buildQueryString(query, m, name, field.Tag)
+ }
}
r.Error = err
}
@@ -92,7 +120,9 @@ func buildLocationElements(r *request.Request, v reflect.Value) {
}
r.HTTPRequest.URL.RawQuery = query.Encode()
- updatePath(r.HTTPRequest.URL, r.HTTPRequest.URL.Path)
+ if !aws.BoolValue(r.Config.DisableRestProtocolURICleaning) {
+ cleanPath(r.HTTPRequest.URL)
+ }
}
func buildBody(r *request.Request, v reflect.Value) {
@@ -120,8 +150,8 @@ func buildBody(r *request.Request, v reflect.Value) {
}
}
-func buildHeader(header *http.Header, v reflect.Value, name string) error {
- str, err := convertType(v)
+func buildHeader(header *http.Header, v reflect.Value, name string, tag reflect.StructTag) error {
+ str, err := convertType(v, tag)
if err == errValueNotSet {
return nil
} else if err != nil {
@@ -133,9 +163,10 @@ func buildHeader(header *http.Header, v reflect.Value, name string) error {
return nil
}
-func buildHeaderMap(header *http.Header, v reflect.Value, prefix string) error {
+func buildHeaderMap(header *http.Header, v reflect.Value, tag reflect.StructTag) error {
+ prefix := tag.Get("locationName")
for _, key := range v.MapKeys() {
- str, err := convertType(v.MapIndex(key))
+ str, err := convertType(v.MapIndex(key), tag)
if err == errValueNotSet {
continue
} else if err != nil {
@@ -148,23 +179,24 @@ func buildHeaderMap(header *http.Header, v reflect.Value, prefix string) error {
return nil
}
-func buildURI(u *url.URL, v reflect.Value, name string) error {
- value, err := convertType(v)
+func buildURI(u *url.URL, v reflect.Value, name string, tag reflect.StructTag) error {
+ value, err := convertType(v, tag)
if err == errValueNotSet {
return nil
} else if err != nil {
return awserr.New("SerializationError", "failed to encode REST request", err)
}
- uri := u.Path
- uri = strings.Replace(uri, "{"+name+"}", EscapePath(value, true), -1)
- uri = strings.Replace(uri, "{"+name+"+}", EscapePath(value, false), -1)
- u.Path = uri
+ u.Path = strings.Replace(u.Path, "{"+name+"}", value, -1)
+ u.Path = strings.Replace(u.Path, "{"+name+"+}", value, -1)
+
+ u.RawPath = strings.Replace(u.RawPath, "{"+name+"}", EscapePath(value, true), -1)
+ u.RawPath = strings.Replace(u.RawPath, "{"+name+"+}", EscapePath(value, false), -1)
return nil
}
-func buildQueryString(query url.Values, v reflect.Value, name string) error {
+func buildQueryString(query url.Values, v reflect.Value, name string, tag reflect.StructTag) error {
switch value := v.Interface().(type) {
case []*string:
for _, item := range value {
@@ -181,7 +213,7 @@ func buildQueryString(query url.Values, v reflect.Value, name string) error {
}
}
default:
- str, err := convertType(v)
+ str, err := convertType(v, tag)
if err == errValueNotSet {
return nil
} else if err != nil {
@@ -193,25 +225,17 @@ func buildQueryString(query url.Values, v reflect.Value, name string) error {
return nil
}
-func updatePath(url *url.URL, urlPath string) {
- scheme, query := url.Scheme, url.RawQuery
+func cleanPath(u *url.URL) {
+ hasSlash := strings.HasSuffix(u.Path, "/")
- hasSlash := strings.HasSuffix(urlPath, "/")
+ // clean up path, removing duplicate `/`
+ u.Path = path.Clean(u.Path)
+ u.RawPath = path.Clean(u.RawPath)
- // clean up path
- urlPath = path.Clean(urlPath)
- if hasSlash && !strings.HasSuffix(urlPath, "/") {
- urlPath += "/"
+ if hasSlash && !strings.HasSuffix(u.Path, "/") {
+ u.Path += "/"
+ u.RawPath += "/"
}
-
- // get formatted URL minus scheme so we can build this into Opaque
- url.Scheme, url.Path, url.RawQuery = "", "", ""
- s := url.String()
- url.Scheme = scheme
- url.RawQuery = query
-
- // build opaque URI
- url.Opaque = s + urlPath
}
// EscapePath escapes part of a URL path in Amazon style
@@ -228,7 +252,7 @@ func EscapePath(path string, encodeSep bool) string {
return buf.String()
}
-func convertType(v reflect.Value) (string, error) {
+func convertType(v reflect.Value, tag reflect.StructTag) (string, error) {
v = reflect.Indirect(v)
if !v.IsValid() {
return "", errValueNotSet
@@ -248,6 +272,16 @@ func convertType(v reflect.Value) (string, error) {
str = strconv.FormatFloat(value, 'f', -1, 64)
case time.Time:
str = value.UTC().Format(RFC822)
+ case aws.JSONValue:
+ b, err := json.Marshal(value)
+ if err != nil {
+ return "", err
+ }
+ if tag.Get("location") == "header" {
+ str = base64.StdEncoding.EncodeToString(b)
+ } else {
+ str = string(b)
+ }
default:
err := fmt.Errorf("Unsupported value for param %v (%s)", v.Interface(), v.Type())
return "", err
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go
index 2cba1d9aa..7a779ee22 100644
--- a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go
@@ -1,7 +1,9 @@
package rest
import (
+ "bytes"
"encoding/base64"
+ "encoding/json"
"fmt"
"io"
"io/ioutil"
@@ -70,10 +72,16 @@ func unmarshalBody(r *request.Request, v reflect.Value) {
}
default:
switch payload.Type().String() {
- case "io.ReadSeeker":
- payload.Set(reflect.ValueOf(aws.ReadSeekCloser(r.HTTPResponse.Body)))
- case "aws.ReadSeekCloser", "io.ReadCloser":
+ case "io.ReadCloser":
payload.Set(reflect.ValueOf(r.HTTPResponse.Body))
+ case "io.ReadSeeker":
+ b, err := ioutil.ReadAll(r.HTTPResponse.Body)
+ if err != nil {
+ r.Error = awserr.New("SerializationError",
+ "failed to read response body", err)
+ return
+ }
+ payload.Set(reflect.ValueOf(ioutil.NopCloser(bytes.NewReader(b))))
default:
io.Copy(ioutil.Discard, r.HTTPResponse.Body)
defer r.HTTPResponse.Body.Close()
@@ -105,7 +113,7 @@ func unmarshalLocationElements(r *request.Request, v reflect.Value) {
case "statusCode":
unmarshalStatusCode(m, r.HTTPResponse.StatusCode)
case "header":
- err := unmarshalHeader(m, r.HTTPResponse.Header.Get(name))
+ err := unmarshalHeader(m, r.HTTPResponse.Header.Get(name), field.Tag)
if err != nil {
r.Error = awserr.New("SerializationError", "failed to decode REST response", err)
break
@@ -152,8 +160,13 @@ func unmarshalHeaderMap(r reflect.Value, headers http.Header, prefix string) err
return nil
}
-func unmarshalHeader(v reflect.Value, header string) error {
- if !v.IsValid() || (header == "" && v.Elem().Kind() != reflect.String) {
+func unmarshalHeader(v reflect.Value, header string, tag reflect.StructTag) error {
+ isJSONValue := tag.Get("type") == "jsonvalue"
+ if isJSONValue {
+ if len(header) == 0 {
+ return nil
+ }
+ } else if !v.IsValid() || (header == "" && v.Elem().Kind() != reflect.String) {
return nil
}
@@ -190,6 +203,22 @@ func unmarshalHeader(v reflect.Value, header string) error {
return err
}
v.Set(reflect.ValueOf(&t))
+ case aws.JSONValue:
+ b := []byte(header)
+ var err error
+ if tag.Get("location") == "header" {
+ b, err = base64.StdEncoding.DecodeString(header)
+ if err != nil {
+ return err
+ }
+ }
+
+ m := aws.JSONValue{}
+ err = json.Unmarshal(b, &m)
+ if err != nil {
+ return err
+ }
+ v.Set(reflect.ValueOf(m))
default:
err := fmt.Errorf("Unsupported value for param %v (%s)", v.Interface(), v.Type())
return err
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/restxml.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/restxml.go
index c74b97e17..7bdf4c853 100644
--- a/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/restxml.go
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/restxml.go
@@ -2,8 +2,8 @@
// requests and responses.
package restxml
-//go:generate go run ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/rest-xml.json build_test.go
-//go:generate go run ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/rest-xml.json unmarshal_test.go
+//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/rest-xml.json build_test.go
+//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/rest-xml.json unmarshal_test.go
import (
"bytes"
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go
index 221029baf..7091b456d 100644
--- a/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go
@@ -127,6 +127,9 @@ func (b *xmlBuilder) buildStruct(value reflect.Value, current *XMLNode, tag refl
if field.PkgPath != "" {
continue // ignore unexported fields
}
+ if field.Tag.Get("ignore") != "" {
+ continue
+ }
mTag := field.Tag
if mTag.Get("location") != "" { // skip non-body members
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go
index 49f291a85..87584628a 100644
--- a/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go
@@ -15,7 +15,10 @@ import (
// needs to match the shape of the XML expected to be decoded.
// If the shape doesn't match unmarshaling will fail.
func UnmarshalXML(v interface{}, d *xml.Decoder, wrapper string) error {
- n, _ := XMLToStruct(d, nil)
+ n, err := XMLToStruct(d, nil)
+ if err != nil {
+ return err
+ }
if n.Children != nil {
for _, root := range n.Children {
for _, c := range root {
@@ -23,7 +26,7 @@ func UnmarshalXML(v interface{}, d *xml.Decoder, wrapper string) error {
c = wrappedChild[0] // pull out wrapped element
}
- err := parse(reflect.ValueOf(v), c, "")
+ err = parse(reflect.ValueOf(v), c, "")
if err != nil {
if err == io.EOF {
return nil
@@ -111,11 +114,8 @@ func parseStruct(r reflect.Value, node *XMLNode, tag reflect.StructTag) error {
elems := node.Children[name]
if elems == nil { // try to find the field in attributes
- for _, a := range node.Attr {
- if name == a.Name.Local {
- // turn this into a text node for de-serializing
- elems = []*XMLNode{{Text: a.Value}}
- }
+ if val, ok := node.findElem(name); ok {
+ elems = []*XMLNode{{Text: val}}
}
}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.go
index 72c198a9d..3e970b629 100644
--- a/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.go
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.go
@@ -2,6 +2,7 @@ package xmlutil
import (
"encoding/xml"
+ "fmt"
"io"
"sort"
)
@@ -12,6 +13,9 @@ type XMLNode struct {
Children map[string][]*XMLNode `json:",omitempty"`
Text string `json:",omitempty"`
Attr []xml.Attr `json:",omitempty"`
+
+ namespaces map[string]string
+ parent *XMLNode
}
// NewXMLElement returns a pointer to a new XMLNode initialized to default values.
@@ -36,11 +40,16 @@ func XMLToStruct(d *xml.Decoder, s *xml.StartElement) (*XMLNode, error) {
out := &XMLNode{}
for {
tok, err := d.Token()
- if tok == nil || err == io.EOF {
- break
- }
if err != nil {
- return out, err
+ if err == io.EOF {
+ break
+ } else {
+ return out, err
+ }
+ }
+
+ if tok == nil {
+ break
}
switch typed := tok.(type) {
@@ -59,21 +68,54 @@ func XMLToStruct(d *xml.Decoder, s *xml.StartElement) (*XMLNode, error) {
slice = []*XMLNode{}
}
node, e := XMLToStruct(d, &el)
+ out.findNamespaces()
if e != nil {
return out, e
}
node.Name = typed.Name
+ node.findNamespaces()
+ tempOut := *out
+ // Save into a temp variable, simply because out gets squashed during
+ // loop iterations
+ node.parent = &tempOut
slice = append(slice, node)
out.Children[name] = slice
case xml.EndElement:
if s != nil && s.Name.Local == typed.Name.Local { // matching end token
return out, nil
}
+ out = &XMLNode{}
}
}
return out, nil
}
+func (n *XMLNode) findNamespaces() {
+ ns := map[string]string{}
+ for _, a := range n.Attr {
+ if a.Name.Space == "xmlns" {
+ ns[a.Value] = a.Name.Local
+ }
+ }
+
+ n.namespaces = ns
+}
+
+func (n *XMLNode) findElem(name string) (string, bool) {
+ for node := n; node != nil; node = node.parent {
+ for _, a := range node.Attr {
+ namespace := a.Name.Space
+ if v, ok := node.namespaces[namespace]; ok {
+ namespace = v
+ }
+ if name == fmt.Sprintf("%s:%s", namespace, a.Name.Local) {
+ return a.Value, true
+ }
+ }
+ }
+ return "", false
+}
+
// StructToXML writes an XMLNode to a xml.Encoder as tokens.
func StructToXML(e *xml.Encoder, node *XMLNode, sorted bool) error {
e.EncodeToken(xml.StartElement{Name: node.Name, Attr: node.Attr})
diff --git a/vendor/github.com/aws/aws-sdk-go/private/waiter/waiter.go b/vendor/github.com/aws/aws-sdk-go/private/waiter/waiter.go
deleted file mode 100644
index b51e9449c..000000000
--- a/vendor/github.com/aws/aws-sdk-go/private/waiter/waiter.go
+++ /dev/null
@@ -1,134 +0,0 @@
-package waiter
-
-import (
- "fmt"
- "reflect"
- "time"
-
- "github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/aws/awserr"
- "github.com/aws/aws-sdk-go/aws/awsutil"
- "github.com/aws/aws-sdk-go/aws/request"
-)
-
-// A Config provides a collection of configuration values to setup a generated
-// waiter code with.
-type Config struct {
- Name string
- Delay int
- MaxAttempts int
- Operation string
- Acceptors []WaitAcceptor
-}
-
-// A WaitAcceptor provides the information needed to wait for an API operation
-// to complete.
-type WaitAcceptor struct {
- Expected interface{}
- Matcher string
- State string
- Argument string
-}
-
-// A Waiter provides waiting for an operation to complete.
-type Waiter struct {
- Config
- Client interface{}
- Input interface{}
-}
-
-// Wait waits for an operation to complete, expire max attempts, or fail. Error
-// is returned if the operation fails.
-func (w *Waiter) Wait() error {
- client := reflect.ValueOf(w.Client)
- in := reflect.ValueOf(w.Input)
- method := client.MethodByName(w.Config.Operation + "Request")
-
- for i := 0; i < w.MaxAttempts; i++ {
- res := method.Call([]reflect.Value{in})
- req := res[0].Interface().(*request.Request)
- req.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Waiter"))
-
- err := req.Send()
- for _, a := range w.Acceptors {
- result := false
- var vals []interface{}
- switch a.Matcher {
- case "pathAll", "path":
- // Require all matches to be equal for result to match
- vals, _ = awsutil.ValuesAtPath(req.Data, a.Argument)
- if len(vals) == 0 {
- break
- }
- result = true
- for _, val := range vals {
- if !awsutil.DeepEqual(val, a.Expected) {
- result = false
- break
- }
- }
- case "pathAny":
- // Only a single match needs to equal for the result to match
- vals, _ = awsutil.ValuesAtPath(req.Data, a.Argument)
- for _, val := range vals {
- if awsutil.DeepEqual(val, a.Expected) {
- result = true
- break
- }
- }
- case "status":
- s := a.Expected.(int)
- result = s == req.HTTPResponse.StatusCode
- case "error":
- if aerr, ok := err.(awserr.Error); ok {
- result = aerr.Code() == a.Expected.(string)
- }
- case "pathList":
- // ignored matcher
- default:
- logf(client, "WARNING: Waiter for %s encountered unexpected matcher: %s",
- w.Config.Operation, a.Matcher)
- }
-
- if !result {
- // If there was no matching result found there is nothing more to do
- // for this response, retry the request.
- continue
- }
-
- switch a.State {
- case "success":
- // waiter completed
- return nil
- case "failure":
- // Waiter failure state triggered
- return awserr.New("ResourceNotReady",
- fmt.Sprintf("failed waiting for successful resource state"), err)
- case "retry":
- // clear the error and retry the operation
- err = nil
- default:
- logf(client, "WARNING: Waiter for %s encountered unexpected state: %s",
- w.Config.Operation, a.State)
- }
- }
- if err != nil {
- return err
- }
-
- time.Sleep(time.Second * time.Duration(w.Delay))
- }
-
- return awserr.New("ResourceNotReady",
- fmt.Sprintf("exceeded %d wait attempts", w.MaxAttempts), nil)
-}
-
-func logf(client reflect.Value, msg string, args ...interface{}) {
- cfgVal := client.FieldByName("Config")
- if !cfgVal.IsValid() {
- return
- }
- if cfg, ok := cfgVal.Interface().(*aws.Config); ok && cfg.Logger != nil {
- cfg.Logger.Log(fmt.Sprintf(msg, args...))
- }
-}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53/api.go b/vendor/github.com/aws/aws-sdk-go/service/route53/api.go
index 5a07be987..bc0770073 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/route53/api.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/route53/api.go
@@ -1,12 +1,12 @@
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
-// Package route53 provides a client for Amazon Route 53.
package route53
import (
"fmt"
"time"
+ "github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awsutil"
"github.com/aws/aws-sdk-go/aws/request"
)
@@ -15,17 +15,18 @@ const opAssociateVPCWithHostedZone = "AssociateVPCWithHostedZone"
// AssociateVPCWithHostedZoneRequest generates a "aws/request.Request" representing the
// client's request for the AssociateVPCWithHostedZone operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AssociateVPCWithHostedZone method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AssociateVPCWithHostedZone for more information on using the AssociateVPCWithHostedZone
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AssociateVPCWithHostedZoneRequest method.
// req, resp := client.AssociateVPCWithHostedZoneRequest(params)
@@ -35,6 +36,7 @@ const opAssociateVPCWithHostedZone = "AssociateVPCWithHostedZone"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/AssociateVPCWithHostedZone
func (c *Route53) AssociateVPCWithHostedZoneRequest(input *AssociateVPCWithHostedZoneInput) (req *request.Request, output *AssociateVPCWithHostedZoneOutput) {
op := &request.Operation{
Name: opAssociateVPCWithHostedZone,
@@ -46,41 +48,108 @@ func (c *Route53) AssociateVPCWithHostedZoneRequest(input *AssociateVPCWithHoste
input = &AssociateVPCWithHostedZoneInput{}
}
- req = c.newRequest(op, input, output)
output = &AssociateVPCWithHostedZoneOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// This action associates a VPC with an hosted zone.
+// AssociateVPCWithHostedZone API operation for Amazon Route 53.
//
-// To associate a VPC with an hosted zone, send a POST request to the /Route
-// 53 API version/hostedzone/hosted zone ID/associatevpc resource. The request
-// body must include a document with a AssociateVPCWithHostedZoneRequest element.
-// The response returns the AssociateVPCWithHostedZoneResponse element that
-// contains ChangeInfo for you to track the progress of the AssociateVPCWithHostedZoneRequest
-// you made. See GetChange operation for how to track the progress of your change.
+// Associates an Amazon VPC with a private hosted zone.
+//
+// To perform the association, the VPC and the private hosted zone must already
+// exist. You can't convert a public hosted zone into a private hosted zone.
+//
+// If you want to associate a VPC that was created by using one AWS account
+// with a private hosted zone that was created by using a different account,
+// the AWS account that created the private hosted zone must first submit a
+// CreateVPCAssociationAuthorization request. Then the account that created
+// the VPC must submit an AssociateVPCWithHostedZone request.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation AssociateVPCWithHostedZone for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
+// No hosted zone exists with the ID that you specified.
+//
+// * ErrCodeNotAuthorizedException "NotAuthorizedException"
+// Associating the specified VPC with the specified hosted zone has not been
+// authorized.
+//
+// * ErrCodeInvalidVPCId "InvalidVPCId"
+// The VPC ID that you specified either isn't a valid ID or the current account
+// is not authorized to access this VPC.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// * ErrCodePublicZoneVPCAssociation "PublicZoneVPCAssociation"
+// You're trying to associate a VPC with a public hosted zone. Amazon Route
+// 53 doesn't support associating a VPC with a public hosted zone.
+//
+// * ErrCodeConflictingDomainExists "ConflictingDomainExists"
+// The cause of this error depends on whether you're trying to create a public
+// or a private hosted zone:
+//
+// * Public hosted zone: Two hosted zones that have the same name or that
+// have a parent/child relationship (example.com and test.example.com) can't
+// have any common name servers. You tried to create a hosted zone that has
+// the same name as an existing hosted zone or that's the parent or child
+// of an existing hosted zone, and you specified a delegation set that shares
+// one or more name servers with the existing hosted zone.
+//
+// * Private hosted zone: You specified an Amazon VPC that you're already
+// using for another hosted zone, and the domain that you specified for one
+// of the hosted zones is a subdomain of the domain that you specified for
+// the other hosted zone. For example, you can't use the same Amazon VPC
+// for the hosted zones for example.com and test.example.com.
+//
+// * ErrCodeLimitsExceeded "LimitsExceeded"
+// The limits specified for a resource have been exceeded.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/AssociateVPCWithHostedZone
func (c *Route53) AssociateVPCWithHostedZone(input *AssociateVPCWithHostedZoneInput) (*AssociateVPCWithHostedZoneOutput, error) {
req, out := c.AssociateVPCWithHostedZoneRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AssociateVPCWithHostedZoneWithContext is the same as AssociateVPCWithHostedZone with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssociateVPCWithHostedZone for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) AssociateVPCWithHostedZoneWithContext(ctx aws.Context, input *AssociateVPCWithHostedZoneInput, opts ...request.Option) (*AssociateVPCWithHostedZoneOutput, error) {
+ req, out := c.AssociateVPCWithHostedZoneRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opChangeResourceRecordSets = "ChangeResourceRecordSets"
// ChangeResourceRecordSetsRequest generates a "aws/request.Request" representing the
// client's request for the ChangeResourceRecordSets operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ChangeResourceRecordSets method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ChangeResourceRecordSets for more information on using the ChangeResourceRecordSets
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ChangeResourceRecordSetsRequest method.
// req, resp := client.ChangeResourceRecordSetsRequest(params)
@@ -90,6 +159,7 @@ const opChangeResourceRecordSets = "ChangeResourceRecordSets"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ChangeResourceRecordSets
func (c *Route53) ChangeResourceRecordSetsRequest(input *ChangeResourceRecordSetsInput) (req *request.Request, output *ChangeResourceRecordSetsOutput) {
op := &request.Operation{
Name: opChangeResourceRecordSets,
@@ -101,58 +171,160 @@ func (c *Route53) ChangeResourceRecordSetsRequest(input *ChangeResourceRecordSet
input = &ChangeResourceRecordSetsInput{}
}
- req = c.newRequest(op, input, output)
output = &ChangeResourceRecordSetsOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// Use this action to create or change your authoritative DNS information. To
-// use this action, send a POST request to the /Route 53 API version/hostedzone/hosted
-// Zone ID/rrset resource. The request body must include a document with a ChangeResourceRecordSetsRequest
-// element.
+// ChangeResourceRecordSets API operation for Amazon Route 53.
//
-// Changes are a list of change items and are considered transactional. For
-// more information on transactional changes, also known as change batches,
-// see POST ChangeResourceRecordSets (http://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeResourceRecordSets.html)
-// in the Amazon Route 53 API Reference.
+// Creates, changes, or deletes a resource record set, which contains authoritative
+// DNS information for a specified domain name or subdomain name. For example,
+// you can use ChangeResourceRecordSets to create a resource record set that
+// routes traffic for test.example.com to a web server that has an IP address
+// of 192.0.2.44.
//
-// Due to the nature of transactional changes, you cannot delete the same resource
+// Change Batches and Transactional Changes
+//
+// The request body must include a document with a ChangeResourceRecordSetsRequest
+// element. The request body contains a list of change items, known as a change
+// batch. Change batches are considered transactional changes. When using the
+// Amazon Route 53 API to change resource record sets, Amazon Route 53 either
+// makes all or none of the changes in a change batch request. This ensures
+// that Amazon Route 53 never partially implements the intended changes to the
+// resource record sets in a hosted zone.
+//
+// For example, a change batch request that deletes the CNAME record for www.example.com
+// and creates an alias resource record set for www.example.com. Amazon Route
+// 53 deletes the first resource record set and creates the second resource
+// record set in a single operation. If either the DELETE or the CREATE action
+// fails, then both changes (plus any other changes in the batch) fail, and
+// the original CNAME record continues to exist.
+//
+// Due to the nature of transactional changes, you can't delete the same resource
// record set more than once in a single change batch. If you attempt to delete
// the same change batch more than once, Amazon Route 53 returns an InvalidChangeBatch
-// error. In response to a ChangeResourceRecordSets request, your DNS data is
-// changed on all Amazon Route 53 DNS servers. Initially, the status of a change
-// is PENDING. This means the change has not yet propagated to all the authoritative
-// Amazon Route 53 DNS servers. When the change is propagated to all hosts,
-// the change returns a status of INSYNC.
+// error.
//
-// Note the following limitations on a ChangeResourceRecordSets request:
+// Traffic Flow
//
-// A request cannot contain more than 100 Change elements. A request cannot
-// contain more than 1000 ResourceRecord elements. The sum of the number of
-// characters (including spaces) in all Value elements in a request cannot exceed
-// 32,000 characters.
+// To create resource record sets for complex routing configurations, use either
+// the traffic flow visual editor in the Amazon Route 53 console or the API
+// actions for traffic policies and traffic policy instances. Save the configuration
+// as a traffic policy, then associate the traffic policy with one or more domain
+// names (such as example.com) or subdomain names (such as www.example.com),
+// in the same hosted zone or in multiple hosted zones. You can roll back the
+// updates if the new configuration isn't performing as expected. For more information,
+// see Using Traffic Flow to Route DNS Traffic (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/traffic-flow.html)
+// in the Amazon Route 53 Developer Guide.
+//
+// Create, Delete, and Upsert
+//
+// Use ChangeResourceRecordsSetsRequest to perform the following actions:
+//
+// * CREATE: Creates a resource record set that has the specified values.
+//
+// * DELETE: Deletes an existing resource record set that has the specified
+// values.
+//
+// * UPSERT: If a resource record set does not already exist, AWS creates
+// it. If a resource set does exist, Amazon Route 53 updates it with the
+// values in the request.
+//
+// Syntaxes for Creating, Updating, and Deleting Resource Record Sets
+//
+// The syntax for a request depends on the type of resource record set that
+// you want to create, delete, or update, such as weighted, alias, or failover.
+// The XML elements in your request must appear in the order listed in the syntax.
+//
+// For an example for each type of resource record set, see "Examples."
+//
+// Don't refer to the syntax in the "Parameter Syntax" section, which includes
+// all of the elements for every kind of resource record set that you can create,
+// delete, or update by using ChangeResourceRecordSets.
+//
+// Change Propagation to Amazon Route 53 DNS Servers
+//
+// When you submit a ChangeResourceRecordSets request, Amazon Route 53 propagates
+// your changes to all of the Amazon Route 53 authoritative DNS servers. While
+// your changes are propagating, GetChange returns a status of PENDING. When
+// propagation is complete, GetChange returns a status of INSYNC. Changes generally
+// propagate to all Amazon Route 53 name servers within 60 seconds. For more
+// information, see GetChange.
+//
+// Limits on ChangeResourceRecordSets Requests
+//
+// For information about the limits on a ChangeResourceRecordSets request, see
+// Limits (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html)
+// in the Amazon Route 53 Developer Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation ChangeResourceRecordSets for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
+// No hosted zone exists with the ID that you specified.
+//
+// * ErrCodeNoSuchHealthCheck "NoSuchHealthCheck"
+// No health check exists with the ID that you specified in the DeleteHealthCheck
+// request.
+//
+// * ErrCodeInvalidChangeBatch "InvalidChangeBatch"
+// This exception contains a list of messages that might contain one or more
+// error messages. Each error message indicates one error in the change batch.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// * ErrCodePriorRequestNotComplete "PriorRequestNotComplete"
+// If Amazon Route 53 can't process a request before the next request arrives,
+// it will reject subsequent requests for the same hosted zone and return an
+// HTTP 400 error (Bad request). If Amazon Route 53 returns this error repeatedly
+// for the same request, we recommend that you wait, in intervals of increasing
+// duration, before you try the request again.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ChangeResourceRecordSets
func (c *Route53) ChangeResourceRecordSets(input *ChangeResourceRecordSetsInput) (*ChangeResourceRecordSetsOutput, error) {
req, out := c.ChangeResourceRecordSetsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ChangeResourceRecordSetsWithContext is the same as ChangeResourceRecordSets with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ChangeResourceRecordSets for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) ChangeResourceRecordSetsWithContext(ctx aws.Context, input *ChangeResourceRecordSetsInput, opts ...request.Option) (*ChangeResourceRecordSetsOutput, error) {
+ req, out := c.ChangeResourceRecordSetsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opChangeTagsForResource = "ChangeTagsForResource"
// ChangeTagsForResourceRequest generates a "aws/request.Request" representing the
// client's request for the ChangeTagsForResource operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ChangeTagsForResource method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ChangeTagsForResource for more information on using the ChangeTagsForResource
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ChangeTagsForResourceRequest method.
// req, resp := client.ChangeTagsForResourceRequest(params)
@@ -162,6 +334,7 @@ const opChangeTagsForResource = "ChangeTagsForResource"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ChangeTagsForResource
func (c *Route53) ChangeTagsForResourceRequest(input *ChangeTagsForResourceInput) (req *request.Request, output *ChangeTagsForResourceOutput) {
op := &request.Operation{
Name: opChangeTagsForResource,
@@ -173,33 +346,85 @@ func (c *Route53) ChangeTagsForResourceRequest(input *ChangeTagsForResourceInput
input = &ChangeTagsForResourceInput{}
}
- req = c.newRequest(op, input, output)
output = &ChangeTagsForResourceOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// ChangeTagsForResource API operation for Amazon Route 53.
+//
+// Adds, edits, or deletes tags for a health check or a hosted zone.
+//
+// For information about using tags for cost allocation, see Using Cost Allocation
+// Tags (http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)
+// in the AWS Billing and Cost Management User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation ChangeTagsForResource for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// * ErrCodeNoSuchHealthCheck "NoSuchHealthCheck"
+// No health check exists with the ID that you specified in the DeleteHealthCheck
+// request.
+//
+// * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
+// No hosted zone exists with the ID that you specified.
+//
+// * ErrCodePriorRequestNotComplete "PriorRequestNotComplete"
+// If Amazon Route 53 can't process a request before the next request arrives,
+// it will reject subsequent requests for the same hosted zone and return an
+// HTTP 400 error (Bad request). If Amazon Route 53 returns this error repeatedly
+// for the same request, we recommend that you wait, in intervals of increasing
+// duration, before you try the request again.
+//
+// * ErrCodeThrottlingException "ThrottlingException"
+// The limit on the number of requests per second was exceeded.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ChangeTagsForResource
func (c *Route53) ChangeTagsForResource(input *ChangeTagsForResourceInput) (*ChangeTagsForResourceOutput, error) {
req, out := c.ChangeTagsForResourceRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ChangeTagsForResourceWithContext is the same as ChangeTagsForResource with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ChangeTagsForResource for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) ChangeTagsForResourceWithContext(ctx aws.Context, input *ChangeTagsForResourceInput, opts ...request.Option) (*ChangeTagsForResourceOutput, error) {
+ req, out := c.ChangeTagsForResourceRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateHealthCheck = "CreateHealthCheck"
// CreateHealthCheckRequest generates a "aws/request.Request" representing the
// client's request for the CreateHealthCheck operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateHealthCheck method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateHealthCheck for more information on using the CreateHealthCheck
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateHealthCheckRequest method.
// req, resp := client.CreateHealthCheckRequest(params)
@@ -209,6 +434,7 @@ const opCreateHealthCheck = "CreateHealthCheck"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateHealthCheck
func (c *Route53) CreateHealthCheckRequest(input *CreateHealthCheckInput) (req *request.Request, output *CreateHealthCheckOutput) {
op := &request.Operation{
Name: opCreateHealthCheck,
@@ -220,39 +446,111 @@ func (c *Route53) CreateHealthCheckRequest(input *CreateHealthCheckInput) (req *
input = &CreateHealthCheckInput{}
}
- req = c.newRequest(op, input, output)
output = &CreateHealthCheckOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// This action creates a new health check.
+// CreateHealthCheck API operation for Amazon Route 53.
//
-// To create a new health check, send a POST request to the /Route 53 API version/healthcheck
-// resource. The request body must include a document with a CreateHealthCheckRequest
-// element. The response returns the CreateHealthCheckResponse element that
-// contains metadata about the health check.
+// Creates a new health check.
+//
+// For information about adding health checks to resource record sets, see ResourceRecordSet$HealthCheckId
+// in ChangeResourceRecordSets.
+//
+// ELB Load Balancers
+//
+// If you're registering EC2 instances with an Elastic Load Balancing (ELB)
+// load balancer, do not create Amazon Route 53 health checks for the EC2 instances.
+// When you register an EC2 instance with a load balancer, you configure settings
+// for an ELB health check, which performs a similar function to an Amazon Route
+// 53 health check.
+//
+// Private Hosted Zones
+//
+// You can associate health checks with failover resource record sets in a private
+// hosted zone. Note the following:
+//
+// * Amazon Route 53 health checkers are outside the VPC. To check the health
+// of an endpoint within a VPC by IP address, you must assign a public IP
+// address to the instance in the VPC.
+//
+// * You can configure a health checker to check the health of an external
+// resource that the instance relies on, such as a database server.
+//
+// * You can create a CloudWatch metric, associate an alarm with the metric,
+// and then create a health check that is based on the state of the alarm.
+// For example, you might create a CloudWatch metric that checks the status
+// of the Amazon EC2 StatusCheckFailed metric, add an alarm to the metric,
+// and then create a health check that is based on the state of the alarm.
+// For information about creating CloudWatch metrics and alarms by using
+// the CloudWatch console, see the Amazon CloudWatch User Guide (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatch.html).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation CreateHealthCheck for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeTooManyHealthChecks "TooManyHealthChecks"
+// You have reached the maximum number of active health checks for an AWS account.
+// The default limit is 100. To request a higher limit, create a case (http://aws.amazon.com/route53-request)
+// with the AWS Support Center.
+//
+// * ErrCodeHealthCheckAlreadyExists "HealthCheckAlreadyExists"
+// The health check you're attempting to create already exists. Amazon Route
+// 53 returns this error when you submit a request that has the following values:
+//
+// * The same value for CallerReference as an existing health check, and
+// one or more values that differ from the existing health check that has
+// the same caller reference.
+//
+// * The same value for CallerReference as a health check that you created
+// and later deleted, regardless of the other settings in the request.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateHealthCheck
func (c *Route53) CreateHealthCheck(input *CreateHealthCheckInput) (*CreateHealthCheckOutput, error) {
req, out := c.CreateHealthCheckRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateHealthCheckWithContext is the same as CreateHealthCheck with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateHealthCheck for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) CreateHealthCheckWithContext(ctx aws.Context, input *CreateHealthCheckInput, opts ...request.Option) (*CreateHealthCheckOutput, error) {
+ req, out := c.CreateHealthCheckRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateHostedZone = "CreateHostedZone"
// CreateHostedZoneRequest generates a "aws/request.Request" representing the
// client's request for the CreateHostedZone operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateHostedZone method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateHostedZone for more information on using the CreateHostedZone
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateHostedZoneRequest method.
// req, resp := client.CreateHostedZoneRequest(params)
@@ -262,6 +560,7 @@ const opCreateHostedZone = "CreateHostedZone"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateHostedZone
func (c *Route53) CreateHostedZoneRequest(input *CreateHostedZoneInput) (req *request.Request, output *CreateHostedZoneOutput) {
op := &request.Operation{
Name: opCreateHostedZone,
@@ -273,55 +572,346 @@ func (c *Route53) CreateHostedZoneRequest(input *CreateHostedZoneInput) (req *re
input = &CreateHostedZoneInput{}
}
- req = c.newRequest(op, input, output)
output = &CreateHostedZoneOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// This action creates a new hosted zone.
+// CreateHostedZone API operation for Amazon Route 53.
//
-// To create a new hosted zone, send a POST request to the /Route 53 API version/hostedzone
-// resource. The request body must include a document with a CreateHostedZoneRequest
-// element. The response returns the CreateHostedZoneResponse element that contains
-// metadata about the hosted zone.
+// Creates a new public hosted zone, which you use to specify how the Domain
+// Name System (DNS) routes traffic on the Internet for a domain, such as example.com,
+// and its subdomains.
//
-// Amazon Route 53 automatically creates a default SOA record and four NS records
-// for the zone. The NS records in the hosted zone are the name servers you
-// give your registrar to delegate your domain to. For more information about
-// SOA and NS records, see NS and SOA Records that Amazon Route 53 Creates for
-// a Hosted Zone (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/SOA-NSrecords.html)
-// in the Amazon Route 53 Developer Guide.
+// You can't convert a public hosted zones to a private hosted zone or vice
+// versa. Instead, you must create a new hosted zone with the same name and
+// create new resource record sets.
//
-// When you create a zone, its initial status is PENDING. This means that it
-// is not yet available on all DNS servers. The status of the zone changes to
-// INSYNC when the NS and SOA records are available on all Amazon Route 53 DNS
-// servers.
+// For more information about charges for hosted zones, see Amazon Route 53
+// Pricing (http://aws.amazon.com/route53/pricing/).
//
-// When trying to create a hosted zone using a reusable delegation set, you
-// could specify an optional DelegationSetId, and Route53 would assign those
-// 4 NS records for the zone, instead of alloting a new one.
+// Note the following:
+//
+// * You can't create a hosted zone for a top-level domain (TLD).
+//
+// * Amazon Route 53 automatically creates a default SOA record and four
+// NS records for the zone. For more information about SOA and NS records,
+// see NS and SOA Records that Amazon Route 53 Creates for a Hosted Zone
+// (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/SOA-NSrecords.html)
+// in the Amazon Route 53 Developer Guide.
+//
+// If you want to use the same name servers for multiple hosted zones, you can
+// optionally associate a reusable delegation set with the hosted zone. See
+// the DelegationSetId element.
+//
+// * If your domain is registered with a registrar other than Amazon Route
+// 53, you must update the name servers with your registrar to make Amazon
+// Route 53 your DNS service. For more information, see Configuring Amazon
+// Route 53 as your DNS Service (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/creating-migrating.html)
+// in the Amazon Route 53 Developer Guide.
+//
+// When you submit a CreateHostedZone request, the initial status of the hosted
+// zone is PENDING. This means that the NS and SOA records are not yet available
+// on all Amazon Route 53 DNS servers. When the NS and SOA records are available,
+// the status of the zone changes to INSYNC.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation CreateHostedZone for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidDomainName "InvalidDomainName"
+// The specified domain name is not valid.
+//
+// * ErrCodeHostedZoneAlreadyExists "HostedZoneAlreadyExists"
+// The hosted zone you're trying to create already exists. Amazon Route 53 returns
+// this error when a hosted zone has already been created with the specified
+// CallerReference.
+//
+// * ErrCodeTooManyHostedZones "TooManyHostedZones"
+// This hosted zone can't be created because the hosted zone limit is exceeded.
+// To request a limit increase, go to the Amazon Route 53 Contact Us (http://aws.amazon.com/route53-request/)
+// page.
+//
+// * ErrCodeInvalidVPCId "InvalidVPCId"
+// The VPC ID that you specified either isn't a valid ID or the current account
+// is not authorized to access this VPC.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// * ErrCodeDelegationSetNotAvailable "DelegationSetNotAvailable"
+// You can create a hosted zone that has the same name as an existing hosted
+// zone (example.com is common), but there is a limit to the number of hosted
+// zones that have the same name. If you get this error, Amazon Route 53 has
+// reached that limit. If you own the domain name and Amazon Route 53 generates
+// this error, contact Customer Support.
+//
+// * ErrCodeConflictingDomainExists "ConflictingDomainExists"
+// The cause of this error depends on whether you're trying to create a public
+// or a private hosted zone:
+//
+// * Public hosted zone: Two hosted zones that have the same name or that
+// have a parent/child relationship (example.com and test.example.com) can't
+// have any common name servers. You tried to create a hosted zone that has
+// the same name as an existing hosted zone or that's the parent or child
+// of an existing hosted zone, and you specified a delegation set that shares
+// one or more name servers with the existing hosted zone.
+//
+// * Private hosted zone: You specified an Amazon VPC that you're already
+// using for another hosted zone, and the domain that you specified for one
+// of the hosted zones is a subdomain of the domain that you specified for
+// the other hosted zone. For example, you can't use the same Amazon VPC
+// for the hosted zones for example.com and test.example.com.
+//
+// * ErrCodeNoSuchDelegationSet "NoSuchDelegationSet"
+// A reusable delegation set with the specified ID does not exist.
+//
+// * ErrCodeDelegationSetNotReusable "DelegationSetNotReusable"
+// A reusable delegation set with the specified ID does not exist.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateHostedZone
func (c *Route53) CreateHostedZone(input *CreateHostedZoneInput) (*CreateHostedZoneOutput, error) {
req, out := c.CreateHostedZoneRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateHostedZoneWithContext is the same as CreateHostedZone with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateHostedZone for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) CreateHostedZoneWithContext(ctx aws.Context, input *CreateHostedZoneInput, opts ...request.Option) (*CreateHostedZoneOutput, error) {
+ req, out := c.CreateHostedZoneRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateQueryLoggingConfig = "CreateQueryLoggingConfig"
+
+// CreateQueryLoggingConfigRequest generates a "aws/request.Request" representing the
+// client's request for the CreateQueryLoggingConfig operation. The "output" return
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateQueryLoggingConfig for more information on using the CreateQueryLoggingConfig
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateQueryLoggingConfigRequest method.
+// req, resp := client.CreateQueryLoggingConfigRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateQueryLoggingConfig
+func (c *Route53) CreateQueryLoggingConfigRequest(input *CreateQueryLoggingConfigInput) (req *request.Request, output *CreateQueryLoggingConfigOutput) {
+ op := &request.Operation{
+ Name: opCreateQueryLoggingConfig,
+ HTTPMethod: "POST",
+ HTTPPath: "/2013-04-01/queryloggingconfig",
+ }
+
+ if input == nil {
+ input = &CreateQueryLoggingConfigInput{}
+ }
+
+ output = &CreateQueryLoggingConfigOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateQueryLoggingConfig API operation for Amazon Route 53.
+//
+// Creates a configuration for DNS query logging. After you create a query logging
+// configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch
+// Logs log group.
+//
+// DNS query logs contain information about the queries that Amazon Route 53
+// receives for a specified public hosted zone, such as the following:
+//
+// * Amazon Route 53 edge location that responded to the DNS query
+//
+// * Domain or subdomain that was requested
+//
+// * DNS record type, such as A or AAAA
+//
+// * DNS response code, such as NoError or ServFail
+//
+// Log Group and Resource PolicyBefore you create a query logging configuration,
+// perform the following operations.
+//
+// If you create a query logging configuration using the Amazon Route 53 console,
+// Amazon Route 53 performs these operations automatically.
+//
+// Create a CloudWatch Logs log group, and make note of the ARN, which you specify
+// when you create a query logging configuration. Note the following:
+//
+// You must create the log group in the us-east-1 region.
+//
+// You must use the same AWS account to create the log group and the hosted
+// zone that you want to configure query logging for.
+//
+// When you create log groups for query logging, we recommend that you use a
+// consistent prefix, for example:
+//
+// /aws/route53/hosted zone name
+//
+// In the next step, you'll create a resource policy, which controls access
+// to one or more log groups and the associated AWS resources, such as Amazon
+// Route 53 hosted zones. There's a limit on the number of resource policies
+// that you can create, so we recommend that you use a consistent prefix so
+// you can use the same resource policy for all the log groups that you create
+// for query logging.
+//
+// Create a CloudWatch Logs resource policy, and give it the permissions that
+// Amazon Route 53 needs to create log streams and to to send query logs to
+// log streams. For the value of Resource, specify the ARN for the log group
+// that you created in the previous step. To use the same resource policy for
+// all the CloudWatch Logs log groups that you created for query logging configurations,
+// replace the hosted zone name with *, for example:
+//
+// arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*
+//
+// You can't use the CloudWatch console to create or edit a resource policy.
+// You must use the CloudWatch API, one of the AWS SDKs, or the AWS CLI.
+//
+// Log Streams and Edge LocationsWhen Amazon Route 53 finishes creating the
+// configuration for DNS query logging, it does the following:
+//
+// Creates a log stream for an edge location the first time that the edge location
+// responds to DNS queries for the specified hosted zone. That log stream is
+// used to log all queries that Amazon Route 53 responds to for that edge location.
+//
+// Begins to send query logs to the applicable log stream.
+//
+// The name of each log stream is in the following format:
+//
+// hosted zone ID/edge location code
+//
+// The edge location code is a three-letter code and an arbitrarily assigned
+// number, for example, DFW3. The three-letter code typically corresponds with
+// the International Air Transport Association airport code for an airport near
+// the edge location. (These abbreviations might change in the future.) For
+// a list of edge locations, see "The Amazon Route 53 Global Network" on the
+// Amazon Route 53 Product Details (http://aws.amazon.com/route53/details/)
+// page.
+//
+// Queries That Are LoggedQuery logs contain only the queries that DNS resolvers
+// forward to Amazon Route 53. If a DNS resolver has already cached the response
+// to a query (such as the IP address for a load balancer for example.com),
+// the resolver will continue to return the cached response. It doesn't forward
+// another query to Amazon Route 53 until the TTL for the corresponding resource
+// record set expires. Depending on how many DNS queries are submitted for a
+// resource record set, and depending on the TTL for that resource record set,
+// query logs might contain information about only one query out of every several
+// thousand queries that are submitted to DNS. For more information about how
+// DNS works, see Routing Internet Traffic to Your Website or Web Application
+// (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/welcome-dns-service.html)
+// in the Amazon Route 53 Developer Guide.
+//
+// Log File FormatFor a list of the values in each query log and the format
+// of each value, see Logging DNS Queries (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html)
+// in the Amazon Route 53 Developer Guide.
+//
+// PricingFor information about charges for query logs, see Amazon CloudWatch
+// Pricing (http://aws.amazon.com/cloudwatch/pricing/).
+//
+// How to Stop LoggingIf you want Amazon Route 53 to stop sending query logs
+// to CloudWatch Logs, delete the query logging configuration. For more information,
+// see DeleteQueryLoggingConfig.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation CreateQueryLoggingConfig for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeConcurrentModification "ConcurrentModification"
+// Another user submitted a request to create, update, or delete the object
+// at the same time that you did. Retry the request.
+//
+// * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
+// No hosted zone exists with the ID that you specified.
+//
+// * ErrCodeNoSuchCloudWatchLogsLogGroup "NoSuchCloudWatchLogsLogGroup"
+// There is no CloudWatch Logs log group with the specified ARN.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// * ErrCodeQueryLoggingConfigAlreadyExists "QueryLoggingConfigAlreadyExists"
+// You can create only one query logging configuration for a hosted zone, and
+// a query logging configuration already exists for this hosted zone.
+//
+// * ErrCodeInsufficientCloudWatchLogsResourcePolicy "InsufficientCloudWatchLogsResourcePolicy"
+// Amazon Route 53 doesn't have the permissions required to create log streams
+// and send query logs to log streams. Possible causes include the following:
+//
+// * There is no resource policy that specifies the log group ARN in the
+// value for Resource.
+//
+// * The resource policy that includes the log group ARN in the value for
+// Resource doesn't have the necessary permissions.
+//
+// * The resource policy hasn't finished propagating yet.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateQueryLoggingConfig
+func (c *Route53) CreateQueryLoggingConfig(input *CreateQueryLoggingConfigInput) (*CreateQueryLoggingConfigOutput, error) {
+ req, out := c.CreateQueryLoggingConfigRequest(input)
+ return out, req.Send()
+}
+
+// CreateQueryLoggingConfigWithContext is the same as CreateQueryLoggingConfig with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateQueryLoggingConfig for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) CreateQueryLoggingConfigWithContext(ctx aws.Context, input *CreateQueryLoggingConfigInput, opts ...request.Option) (*CreateQueryLoggingConfigOutput, error) {
+ req, out := c.CreateQueryLoggingConfigRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateReusableDelegationSet = "CreateReusableDelegationSet"
// CreateReusableDelegationSetRequest generates a "aws/request.Request" representing the
// client's request for the CreateReusableDelegationSet operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateReusableDelegationSet method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateReusableDelegationSet for more information on using the CreateReusableDelegationSet
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateReusableDelegationSetRequest method.
// req, resp := client.CreateReusableDelegationSetRequest(params)
@@ -331,6 +921,7 @@ const opCreateReusableDelegationSet = "CreateReusableDelegationSet"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateReusableDelegationSet
func (c *Route53) CreateReusableDelegationSetRequest(input *CreateReusableDelegationSetInput) (req *request.Request, output *CreateReusableDelegationSetOutput) {
op := &request.Operation{
Name: opCreateReusableDelegationSet,
@@ -342,43 +933,94 @@ func (c *Route53) CreateReusableDelegationSetRequest(input *CreateReusableDelega
input = &CreateReusableDelegationSetInput{}
}
- req = c.newRequest(op, input, output)
output = &CreateReusableDelegationSetOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// This action creates a reusable delegationSet.
+// CreateReusableDelegationSet API operation for Amazon Route 53.
//
-// To create a new reusable delegationSet, send a POST request to the /Route
-// 53 API version/delegationset resource. The request body must include a document
-// with a CreateReusableDelegationSetRequest element. The response returns the
-// CreateReusableDelegationSetResponse element that contains metadata about
-// the delegationSet.
+// Creates a delegation set (a group of four name servers) that can be reused
+// by multiple hosted zones. If a hosted zoned ID is specified, CreateReusableDelegationSet
+// marks the delegation set associated with that zone as reusable
//
-// If the optional parameter HostedZoneId is specified, it marks the delegationSet
-// associated with that particular hosted zone as reusable.
+// A reusable delegation set can't be associated with a private hosted zone.
+//
+// For information on how to use a reusable delegation set to configure white
+// label name servers, see Configuring White Label Name Servers (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/white-label-name-servers.html).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation CreateReusableDelegationSet for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeDelegationSetAlreadyCreated "DelegationSetAlreadyCreated"
+// A delegation set with the same owner and caller reference combination has
+// already been created.
+//
+// * ErrCodeLimitsExceeded "LimitsExceeded"
+// The limits specified for a resource have been exceeded.
+//
+// * ErrCodeHostedZoneNotFound "HostedZoneNotFound"
+// The specified HostedZone can't be found.
+//
+// * ErrCodeInvalidArgument "InvalidArgument"
+// Parameter name is invalid.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// * ErrCodeDelegationSetNotAvailable "DelegationSetNotAvailable"
+// You can create a hosted zone that has the same name as an existing hosted
+// zone (example.com is common), but there is a limit to the number of hosted
+// zones that have the same name. If you get this error, Amazon Route 53 has
+// reached that limit. If you own the domain name and Amazon Route 53 generates
+// this error, contact Customer Support.
+//
+// * ErrCodeDelegationSetAlreadyReusable "DelegationSetAlreadyReusable"
+// The specified delegation set has already been marked as reusable.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateReusableDelegationSet
func (c *Route53) CreateReusableDelegationSet(input *CreateReusableDelegationSetInput) (*CreateReusableDelegationSetOutput, error) {
req, out := c.CreateReusableDelegationSetRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateReusableDelegationSetWithContext is the same as CreateReusableDelegationSet with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateReusableDelegationSet for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) CreateReusableDelegationSetWithContext(ctx aws.Context, input *CreateReusableDelegationSetInput, opts ...request.Option) (*CreateReusableDelegationSetOutput, error) {
+ req, out := c.CreateReusableDelegationSetRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateTrafficPolicy = "CreateTrafficPolicy"
// CreateTrafficPolicyRequest generates a "aws/request.Request" representing the
// client's request for the CreateTrafficPolicy operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateTrafficPolicy method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateTrafficPolicy for more information on using the CreateTrafficPolicy
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateTrafficPolicyRequest method.
// req, resp := client.CreateTrafficPolicyRequest(params)
@@ -388,6 +1030,7 @@ const opCreateTrafficPolicy = "CreateTrafficPolicy"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateTrafficPolicy
func (c *Route53) CreateTrafficPolicyRequest(input *CreateTrafficPolicyInput) (req *request.Request, output *CreateTrafficPolicyOutput) {
op := &request.Operation{
Name: opCreateTrafficPolicy,
@@ -399,41 +1042,78 @@ func (c *Route53) CreateTrafficPolicyRequest(input *CreateTrafficPolicyInput) (r
input = &CreateTrafficPolicyInput{}
}
- req = c.newRequest(op, input, output)
output = &CreateTrafficPolicyOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// CreateTrafficPolicy API operation for Amazon Route 53.
+//
// Creates a traffic policy, which you use to create multiple DNS resource record
// sets for one domain name (such as example.com) or one subdomain name (such
// as www.example.com).
//
-// To create a traffic policy, send a POST request to the /Route 53 API version/trafficpolicy
-// resource. The request body must include a document with a CreateTrafficPolicyRequest
-// element. The response includes the CreateTrafficPolicyResponse element, which
-// contains information about the new traffic policy.
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation CreateTrafficPolicy for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// * ErrCodeTooManyTrafficPolicies "TooManyTrafficPolicies"
+// You've created the maximum number of traffic policies that can be created
+// for the current AWS account. You can request an increase to the limit on
+// the Contact Us (http://aws.amazon.com/route53-request/) page.
+//
+// * ErrCodeTrafficPolicyAlreadyExists "TrafficPolicyAlreadyExists"
+// A traffic policy that has the same value for Name already exists.
+//
+// * ErrCodeInvalidTrafficPolicyDocument "InvalidTrafficPolicyDocument"
+// The format of the traffic policy document that you specified in the Document
+// element is invalid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateTrafficPolicy
func (c *Route53) CreateTrafficPolicy(input *CreateTrafficPolicyInput) (*CreateTrafficPolicyOutput, error) {
req, out := c.CreateTrafficPolicyRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateTrafficPolicyWithContext is the same as CreateTrafficPolicy with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateTrafficPolicy for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) CreateTrafficPolicyWithContext(ctx aws.Context, input *CreateTrafficPolicyInput, opts ...request.Option) (*CreateTrafficPolicyOutput, error) {
+ req, out := c.CreateTrafficPolicyRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateTrafficPolicyInstance = "CreateTrafficPolicyInstance"
// CreateTrafficPolicyInstanceRequest generates a "aws/request.Request" representing the
// client's request for the CreateTrafficPolicyInstance operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateTrafficPolicyInstance method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateTrafficPolicyInstance for more information on using the CreateTrafficPolicyInstance
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateTrafficPolicyInstanceRequest method.
// req, resp := client.CreateTrafficPolicyInstanceRequest(params)
@@ -443,6 +1123,7 @@ const opCreateTrafficPolicyInstance = "CreateTrafficPolicyInstance"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateTrafficPolicyInstance
func (c *Route53) CreateTrafficPolicyInstanceRequest(input *CreateTrafficPolicyInstanceInput) (req *request.Request, output *CreateTrafficPolicyInstanceOutput) {
op := &request.Operation{
Name: opCreateTrafficPolicyInstance,
@@ -454,12 +1135,13 @@ func (c *Route53) CreateTrafficPolicyInstanceRequest(input *CreateTrafficPolicyI
input = &CreateTrafficPolicyInstanceInput{}
}
- req = c.newRequest(op, input, output)
output = &CreateTrafficPolicyInstanceOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// CreateTrafficPolicyInstance API operation for Amazon Route 53.
+//
// Creates resource record sets in a specified hosted zone based on the settings
// in a specified traffic policy version. In addition, CreateTrafficPolicyInstance
// associates the resource record sets with a specified domain name (such as
@@ -467,32 +1149,69 @@ func (c *Route53) CreateTrafficPolicyInstanceRequest(input *CreateTrafficPolicyI
// responds to DNS queries for the domain or subdomain name by using the resource
// record sets that CreateTrafficPolicyInstance created.
//
-// To create a traffic policy instance, send a POST request to the /Route 53
-// API version/trafficpolicyinstance resource. The request body must include
-// a document with a CreateTrafficPolicyRequest element. The response returns
-// the CreateTrafficPolicyInstanceResponse element, which contains information
-// about the traffic policy instance.
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation CreateTrafficPolicyInstance for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
+// No hosted zone exists with the ID that you specified.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// * ErrCodeTooManyTrafficPolicyInstances "TooManyTrafficPolicyInstances"
+// You've created the maximum number of traffic policy instances that can be
+// created for the current AWS account. You can request an increase to the limit
+// on the Contact Us (http://aws.amazon.com/route53-request/) page.
+//
+// * ErrCodeNoSuchTrafficPolicy "NoSuchTrafficPolicy"
+// No traffic policy exists with the specified ID.
+//
+// * ErrCodeTrafficPolicyInstanceAlreadyExists "TrafficPolicyInstanceAlreadyExists"
+// There is already a traffic policy instance with the specified ID.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateTrafficPolicyInstance
func (c *Route53) CreateTrafficPolicyInstance(input *CreateTrafficPolicyInstanceInput) (*CreateTrafficPolicyInstanceOutput, error) {
req, out := c.CreateTrafficPolicyInstanceRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateTrafficPolicyInstanceWithContext is the same as CreateTrafficPolicyInstance with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateTrafficPolicyInstance for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) CreateTrafficPolicyInstanceWithContext(ctx aws.Context, input *CreateTrafficPolicyInstanceInput, opts ...request.Option) (*CreateTrafficPolicyInstanceOutput, error) {
+ req, out := c.CreateTrafficPolicyInstanceRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateTrafficPolicyVersion = "CreateTrafficPolicyVersion"
// CreateTrafficPolicyVersionRequest generates a "aws/request.Request" representing the
// client's request for the CreateTrafficPolicyVersion operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateTrafficPolicyVersion method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateTrafficPolicyVersion for more information on using the CreateTrafficPolicyVersion
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateTrafficPolicyVersionRequest method.
// req, resp := client.CreateTrafficPolicyVersionRequest(params)
@@ -502,6 +1221,7 @@ const opCreateTrafficPolicyVersion = "CreateTrafficPolicyVersion"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateTrafficPolicyVersion
func (c *Route53) CreateTrafficPolicyVersionRequest(input *CreateTrafficPolicyVersionInput) (req *request.Request, output *CreateTrafficPolicyVersionOutput) {
op := &request.Operation{
Name: opCreateTrafficPolicyVersion,
@@ -513,44 +1233,188 @@ func (c *Route53) CreateTrafficPolicyVersionRequest(input *CreateTrafficPolicyVe
input = &CreateTrafficPolicyVersionInput{}
}
- req = c.newRequest(op, input, output)
output = &CreateTrafficPolicyVersionOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// CreateTrafficPolicyVersion API operation for Amazon Route 53.
+//
// Creates a new version of an existing traffic policy. When you create a new
// version of a traffic policy, you specify the ID of the traffic policy that
// you want to update and a JSON-formatted document that describes the new version.
-//
// You use traffic policies to create multiple DNS resource record sets for
// one domain name (such as example.com) or one subdomain name (such as www.example.com).
+// You can create a maximum of 1000 versions of a traffic policy. If you reach
+// the limit and need to create another version, you'll need to start a new
+// traffic policy.
//
-// To create a new version, send a POST request to the /Route 53 API version/trafficpolicy/
-// resource. The request body includes a document with a CreateTrafficPolicyVersionRequest
-// element. The response returns the CreateTrafficPolicyVersionResponse element,
-// which contains information about the new version of the traffic policy.
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation CreateTrafficPolicyVersion for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchTrafficPolicy "NoSuchTrafficPolicy"
+// No traffic policy exists with the specified ID.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// * ErrCodeConcurrentModification "ConcurrentModification"
+// Another user submitted a request to create, update, or delete the object
+// at the same time that you did. Retry the request.
+//
+// * ErrCodeInvalidTrafficPolicyDocument "InvalidTrafficPolicyDocument"
+// The format of the traffic policy document that you specified in the Document
+// element is invalid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateTrafficPolicyVersion
func (c *Route53) CreateTrafficPolicyVersion(input *CreateTrafficPolicyVersionInput) (*CreateTrafficPolicyVersionOutput, error) {
req, out := c.CreateTrafficPolicyVersionRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateTrafficPolicyVersionWithContext is the same as CreateTrafficPolicyVersion with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateTrafficPolicyVersion for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) CreateTrafficPolicyVersionWithContext(ctx aws.Context, input *CreateTrafficPolicyVersionInput, opts ...request.Option) (*CreateTrafficPolicyVersionOutput, error) {
+ req, out := c.CreateTrafficPolicyVersionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateVPCAssociationAuthorization = "CreateVPCAssociationAuthorization"
+
+// CreateVPCAssociationAuthorizationRequest generates a "aws/request.Request" representing the
+// client's request for the CreateVPCAssociationAuthorization operation. The "output" return
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateVPCAssociationAuthorization for more information on using the CreateVPCAssociationAuthorization
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateVPCAssociationAuthorizationRequest method.
+// req, resp := client.CreateVPCAssociationAuthorizationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateVPCAssociationAuthorization
+func (c *Route53) CreateVPCAssociationAuthorizationRequest(input *CreateVPCAssociationAuthorizationInput) (req *request.Request, output *CreateVPCAssociationAuthorizationOutput) {
+ op := &request.Operation{
+ Name: opCreateVPCAssociationAuthorization,
+ HTTPMethod: "POST",
+ HTTPPath: "/2013-04-01/hostedzone/{Id}/authorizevpcassociation",
+ }
+
+ if input == nil {
+ input = &CreateVPCAssociationAuthorizationInput{}
+ }
+
+ output = &CreateVPCAssociationAuthorizationOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateVPCAssociationAuthorization API operation for Amazon Route 53.
+//
+// Authorizes the AWS account that created a specified VPC to submit an AssociateVPCWithHostedZone
+// request to associate the VPC with a specified hosted zone that was created
+// by a different account. To submit a CreateVPCAssociationAuthorization request,
+// you must use the account that created the hosted zone. After you authorize
+// the association, use the account that created the VPC to submit an AssociateVPCWithHostedZone
+// request.
+//
+// If you want to associate multiple VPCs that you created by using one account
+// with a hosted zone that you created by using a different account, you must
+// submit one authorization request for each VPC.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation CreateVPCAssociationAuthorization for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeConcurrentModification "ConcurrentModification"
+// Another user submitted a request to create, update, or delete the object
+// at the same time that you did. Retry the request.
+//
+// * ErrCodeTooManyVPCAssociationAuthorizations "TooManyVPCAssociationAuthorizations"
+// You've created the maximum number of authorizations that can be created for
+// the specified hosted zone. To authorize another VPC to be associated with
+// the hosted zone, submit a DeleteVPCAssociationAuthorization request to remove
+// an existing authorization. To get a list of existing authorizations, submit
+// a ListVPCAssociationAuthorizations request.
+//
+// * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
+// No hosted zone exists with the ID that you specified.
+//
+// * ErrCodeInvalidVPCId "InvalidVPCId"
+// The VPC ID that you specified either isn't a valid ID or the current account
+// is not authorized to access this VPC.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateVPCAssociationAuthorization
+func (c *Route53) CreateVPCAssociationAuthorization(input *CreateVPCAssociationAuthorizationInput) (*CreateVPCAssociationAuthorizationOutput, error) {
+ req, out := c.CreateVPCAssociationAuthorizationRequest(input)
+ return out, req.Send()
+}
+
+// CreateVPCAssociationAuthorizationWithContext is the same as CreateVPCAssociationAuthorization with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateVPCAssociationAuthorization for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) CreateVPCAssociationAuthorizationWithContext(ctx aws.Context, input *CreateVPCAssociationAuthorizationInput, opts ...request.Option) (*CreateVPCAssociationAuthorizationOutput, error) {
+ req, out := c.CreateVPCAssociationAuthorizationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteHealthCheck = "DeleteHealthCheck"
// DeleteHealthCheckRequest generates a "aws/request.Request" representing the
// client's request for the DeleteHealthCheck operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteHealthCheck method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteHealthCheck for more information on using the DeleteHealthCheck
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteHealthCheckRequest method.
// req, resp := client.DeleteHealthCheckRequest(params)
@@ -560,6 +1424,7 @@ const opDeleteHealthCheck = "DeleteHealthCheck"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteHealthCheck
func (c *Route53) DeleteHealthCheckRequest(input *DeleteHealthCheckInput) (req *request.Request, output *DeleteHealthCheckOutput) {
op := &request.Operation{
Name: opDeleteHealthCheck,
@@ -571,43 +1436,79 @@ func (c *Route53) DeleteHealthCheckRequest(input *DeleteHealthCheckInput) (req *
input = &DeleteHealthCheckInput{}
}
- req = c.newRequest(op, input, output)
output = &DeleteHealthCheckOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// This action deletes a health check. To delete a health check, send a DELETE
-// request to the /Route 53 API version/healthcheck/health check ID resource.
+// DeleteHealthCheck API operation for Amazon Route 53.
//
-// You can delete a health check only if there are no resource record sets
-// associated with this health check. If resource record sets are associated
-// with this health check, you must disassociate them before you can delete
-// your health check. If you try to delete a health check that is associated
-// with resource record sets, Amazon Route 53 will deny your request with a
-// HealthCheckInUse error. For information about disassociating the records
-// from your health check, see ChangeResourceRecordSets.
+// Deletes a health check.
+//
+// Amazon Route 53 does not prevent you from deleting a health check even if
+// the health check is associated with one or more resource record sets. If
+// you delete a health check and you don't update the associated resource record
+// sets, the future status of the health check can't be predicted and may change.
+// This will affect the routing of DNS queries for your DNS failover configuration.
+// For more information, see Replacing and Deleting Health Checks (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-creating-deleting.html#health-checks-deleting.html)
+// in the Amazon Route 53 Developer Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation DeleteHealthCheck for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchHealthCheck "NoSuchHealthCheck"
+// No health check exists with the ID that you specified in the DeleteHealthCheck
+// request.
+//
+// * ErrCodeHealthCheckInUse "HealthCheckInUse"
+// This error code is not in use.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteHealthCheck
func (c *Route53) DeleteHealthCheck(input *DeleteHealthCheckInput) (*DeleteHealthCheckOutput, error) {
req, out := c.DeleteHealthCheckRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteHealthCheckWithContext is the same as DeleteHealthCheck with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteHealthCheck for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) DeleteHealthCheckWithContext(ctx aws.Context, input *DeleteHealthCheckInput, opts ...request.Option) (*DeleteHealthCheckOutput, error) {
+ req, out := c.DeleteHealthCheckRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteHostedZone = "DeleteHostedZone"
// DeleteHostedZoneRequest generates a "aws/request.Request" representing the
// client's request for the DeleteHostedZone operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteHostedZone method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteHostedZone for more information on using the DeleteHostedZone
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteHostedZoneRequest method.
// req, resp := client.DeleteHostedZoneRequest(params)
@@ -617,6 +1518,7 @@ const opDeleteHostedZone = "DeleteHostedZone"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteHostedZone
func (c *Route53) DeleteHostedZoneRequest(input *DeleteHostedZoneInput) (req *request.Request, output *DeleteHostedZoneOutput) {
op := &request.Operation{
Name: opDeleteHostedZone,
@@ -628,43 +1530,199 @@ func (c *Route53) DeleteHostedZoneRequest(input *DeleteHostedZoneInput) (req *re
input = &DeleteHostedZoneInput{}
}
- req = c.newRequest(op, input, output)
output = &DeleteHostedZoneOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// This action deletes a hosted zone. To delete a hosted zone, send a DELETE
-// request to the /Route 53 API version/hostedzone/hosted zone ID resource.
+// DeleteHostedZone API operation for Amazon Route 53.
//
-// You can delete a hosted zone only if there are no resource record sets other
-// than the default SOA record and NS resource record sets. If your hosted zone
-// contains other resource record sets, you must delete them before you can
-// delete your hosted zone. If you try to delete a hosted zone that contains
-// other resource record sets, Amazon Route 53 will deny your request with a
-// HostedZoneNotEmpty error. For information about deleting records from your
-// hosted zone, see ChangeResourceRecordSets.
+// Deletes a hosted zone.
+//
+// If the name servers for the hosted zone are associated with a domain and
+// if you want to make the domain unavailable on the Internet, we recommend
+// that you delete the name servers from the domain to prevent future DNS queries
+// from possibly being misrouted. If the domain is registered with Amazon Route
+// 53, see UpdateDomainNameservers. If the domain is registered with another
+// registrar, use the method provided by the registrar to delete name servers
+// for the domain.
+//
+// Some domain registries don't allow you to remove all of the name servers
+// for a domain. If the registry for your domain requires one or more name servers,
+// we recommend that you delete the hosted zone only if you transfer DNS service
+// to another service provider, and you replace the name servers for the domain
+// with name servers from the new provider.
+//
+// You can delete a hosted zone only if it contains only the default SOA record
+// and NS resource record sets. If the hosted zone contains other resource record
+// sets, you must delete them before you can delete the hosted zone. If you
+// try to delete a hosted zone that contains other resource record sets, the
+// request fails, and Amazon Route 53 returns a HostedZoneNotEmpty error. For
+// information about deleting records from your hosted zone, see ChangeResourceRecordSets.
+//
+// To verify that the hosted zone has been deleted, do one of the following:
+//
+// * Use the GetHostedZone action to request information about the hosted
+// zone.
+//
+// * Use the ListHostedZones action to get a list of the hosted zones associated
+// with the current AWS account.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation DeleteHostedZone for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
+// No hosted zone exists with the ID that you specified.
+//
+// * ErrCodeHostedZoneNotEmpty "HostedZoneNotEmpty"
+// The hosted zone contains resource records that are not SOA or NS records.
+//
+// * ErrCodePriorRequestNotComplete "PriorRequestNotComplete"
+// If Amazon Route 53 can't process a request before the next request arrives,
+// it will reject subsequent requests for the same hosted zone and return an
+// HTTP 400 error (Bad request). If Amazon Route 53 returns this error repeatedly
+// for the same request, we recommend that you wait, in intervals of increasing
+// duration, before you try the request again.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// * ErrCodeInvalidDomainName "InvalidDomainName"
+// The specified domain name is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteHostedZone
func (c *Route53) DeleteHostedZone(input *DeleteHostedZoneInput) (*DeleteHostedZoneOutput, error) {
req, out := c.DeleteHostedZoneRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteHostedZoneWithContext is the same as DeleteHostedZone with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteHostedZone for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) DeleteHostedZoneWithContext(ctx aws.Context, input *DeleteHostedZoneInput, opts ...request.Option) (*DeleteHostedZoneOutput, error) {
+ req, out := c.DeleteHostedZoneRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteQueryLoggingConfig = "DeleteQueryLoggingConfig"
+
+// DeleteQueryLoggingConfigRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteQueryLoggingConfig operation. The "output" return
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteQueryLoggingConfig for more information on using the DeleteQueryLoggingConfig
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteQueryLoggingConfigRequest method.
+// req, resp := client.DeleteQueryLoggingConfigRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteQueryLoggingConfig
+func (c *Route53) DeleteQueryLoggingConfigRequest(input *DeleteQueryLoggingConfigInput) (req *request.Request, output *DeleteQueryLoggingConfigOutput) {
+ op := &request.Operation{
+ Name: opDeleteQueryLoggingConfig,
+ HTTPMethod: "DELETE",
+ HTTPPath: "/2013-04-01/queryloggingconfig/{Id}",
+ }
+
+ if input == nil {
+ input = &DeleteQueryLoggingConfigInput{}
+ }
+
+ output = &DeleteQueryLoggingConfigOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteQueryLoggingConfig API operation for Amazon Route 53.
+//
+// Deletes a configuration for DNS query logging. If you delete a configuration,
+// Amazon Route 53 stops sending query logs to CloudWatch Logs. Amazon Route
+// 53 doesn't delete any logs that are already in CloudWatch Logs.
+//
+// For more information about DNS query logs, see CreateQueryLoggingConfig.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation DeleteQueryLoggingConfig for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeConcurrentModification "ConcurrentModification"
+// Another user submitted a request to create, update, or delete the object
+// at the same time that you did. Retry the request.
+//
+// * ErrCodeNoSuchQueryLoggingConfig "NoSuchQueryLoggingConfig"
+// There is no DNS query logging configuration with the specified ID.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteQueryLoggingConfig
+func (c *Route53) DeleteQueryLoggingConfig(input *DeleteQueryLoggingConfigInput) (*DeleteQueryLoggingConfigOutput, error) {
+ req, out := c.DeleteQueryLoggingConfigRequest(input)
+ return out, req.Send()
+}
+
+// DeleteQueryLoggingConfigWithContext is the same as DeleteQueryLoggingConfig with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteQueryLoggingConfig for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) DeleteQueryLoggingConfigWithContext(ctx aws.Context, input *DeleteQueryLoggingConfigInput, opts ...request.Option) (*DeleteQueryLoggingConfigOutput, error) {
+ req, out := c.DeleteQueryLoggingConfigRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteReusableDelegationSet = "DeleteReusableDelegationSet"
// DeleteReusableDelegationSetRequest generates a "aws/request.Request" representing the
// client's request for the DeleteReusableDelegationSet operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteReusableDelegationSet method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteReusableDelegationSet for more information on using the DeleteReusableDelegationSet
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteReusableDelegationSetRequest method.
// req, resp := client.DeleteReusableDelegationSetRequest(params)
@@ -674,6 +1732,7 @@ const opDeleteReusableDelegationSet = "DeleteReusableDelegationSet"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteReusableDelegationSet
func (c *Route53) DeleteReusableDelegationSetRequest(input *DeleteReusableDelegationSetInput) (req *request.Request, output *DeleteReusableDelegationSetOutput) {
op := &request.Operation{
Name: opDeleteReusableDelegationSet,
@@ -685,43 +1744,81 @@ func (c *Route53) DeleteReusableDelegationSetRequest(input *DeleteReusableDelega
input = &DeleteReusableDelegationSetInput{}
}
- req = c.newRequest(op, input, output)
output = &DeleteReusableDelegationSetOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// This action deletes a reusable delegation set. To delete a reusable delegation
-// set, send a DELETE request to the /Route 53 API version/delegationset/delegation
-// set ID resource.
+// DeleteReusableDelegationSet API operation for Amazon Route 53.
//
-// You can delete a reusable delegation set only if there are no associated
-// hosted zones. If your reusable delegation set contains associated hosted
-// zones, you must delete them before you can delete your reusable delegation
-// set. If you try to delete a reusable delegation set that contains associated
-// hosted zones, Amazon Route 53 will deny your request with a DelegationSetInUse
-// error.
+// Deletes a reusable delegation set.
+//
+// You can delete a reusable delegation set only if it isn't associated with
+// any hosted zones.
+//
+// To verify that the reusable delegation set is not associated with any hosted
+// zones, submit a GetReusableDelegationSet request and specify the ID of the
+// reusable delegation set that you want to delete.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation DeleteReusableDelegationSet for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchDelegationSet "NoSuchDelegationSet"
+// A reusable delegation set with the specified ID does not exist.
+//
+// * ErrCodeDelegationSetInUse "DelegationSetInUse"
+// The specified delegation contains associated hosted zones which must be deleted
+// before the reusable delegation set can be deleted.
+//
+// * ErrCodeDelegationSetNotReusable "DelegationSetNotReusable"
+// A reusable delegation set with the specified ID does not exist.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteReusableDelegationSet
func (c *Route53) DeleteReusableDelegationSet(input *DeleteReusableDelegationSetInput) (*DeleteReusableDelegationSetOutput, error) {
req, out := c.DeleteReusableDelegationSetRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteReusableDelegationSetWithContext is the same as DeleteReusableDelegationSet with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteReusableDelegationSet for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) DeleteReusableDelegationSetWithContext(ctx aws.Context, input *DeleteReusableDelegationSetInput, opts ...request.Option) (*DeleteReusableDelegationSetOutput, error) {
+ req, out := c.DeleteReusableDelegationSetRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteTrafficPolicy = "DeleteTrafficPolicy"
// DeleteTrafficPolicyRequest generates a "aws/request.Request" representing the
// client's request for the DeleteTrafficPolicy operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteTrafficPolicy method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteTrafficPolicy for more information on using the DeleteTrafficPolicy
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteTrafficPolicyRequest method.
// req, resp := client.DeleteTrafficPolicyRequest(params)
@@ -731,6 +1828,7 @@ const opDeleteTrafficPolicy = "DeleteTrafficPolicy"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteTrafficPolicy
func (c *Route53) DeleteTrafficPolicyRequest(input *DeleteTrafficPolicyInput) (req *request.Request, output *DeleteTrafficPolicyOutput) {
op := &request.Operation{
Name: opDeleteTrafficPolicy,
@@ -742,35 +1840,75 @@ func (c *Route53) DeleteTrafficPolicyRequest(input *DeleteTrafficPolicyInput) (r
input = &DeleteTrafficPolicyInput{}
}
- req = c.newRequest(op, input, output)
output = &DeleteTrafficPolicyOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// Deletes a traffic policy. To delete a traffic policy, send a DELETE request
-// to the /Route 53 API version/trafficpolicy resource.
+// DeleteTrafficPolicy API operation for Amazon Route 53.
+//
+// Deletes a traffic policy.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation DeleteTrafficPolicy for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchTrafficPolicy "NoSuchTrafficPolicy"
+// No traffic policy exists with the specified ID.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// * ErrCodeTrafficPolicyInUse "TrafficPolicyInUse"
+// One or more traffic policy instances were created by using the specified
+// traffic policy.
+//
+// * ErrCodeConcurrentModification "ConcurrentModification"
+// Another user submitted a request to create, update, or delete the object
+// at the same time that you did. Retry the request.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteTrafficPolicy
func (c *Route53) DeleteTrafficPolicy(input *DeleteTrafficPolicyInput) (*DeleteTrafficPolicyOutput, error) {
req, out := c.DeleteTrafficPolicyRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteTrafficPolicyWithContext is the same as DeleteTrafficPolicy with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteTrafficPolicy for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) DeleteTrafficPolicyWithContext(ctx aws.Context, input *DeleteTrafficPolicyInput, opts ...request.Option) (*DeleteTrafficPolicyOutput, error) {
+ req, out := c.DeleteTrafficPolicyRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteTrafficPolicyInstance = "DeleteTrafficPolicyInstance"
// DeleteTrafficPolicyInstanceRequest generates a "aws/request.Request" representing the
// client's request for the DeleteTrafficPolicyInstance operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteTrafficPolicyInstance method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteTrafficPolicyInstance for more information on using the DeleteTrafficPolicyInstance
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteTrafficPolicyInstanceRequest method.
// req, resp := client.DeleteTrafficPolicyInstanceRequest(params)
@@ -780,6 +1918,7 @@ const opDeleteTrafficPolicyInstance = "DeleteTrafficPolicyInstance"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteTrafficPolicyInstance
func (c *Route53) DeleteTrafficPolicyInstanceRequest(input *DeleteTrafficPolicyInstanceInput) (req *request.Request, output *DeleteTrafficPolicyInstanceOutput) {
op := &request.Operation{
Name: opDeleteTrafficPolicyInstance,
@@ -791,42 +1930,181 @@ func (c *Route53) DeleteTrafficPolicyInstanceRequest(input *DeleteTrafficPolicyI
input = &DeleteTrafficPolicyInstanceInput{}
}
- req = c.newRequest(op, input, output)
output = &DeleteTrafficPolicyInstanceOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// DeleteTrafficPolicyInstance API operation for Amazon Route 53.
+//
// Deletes a traffic policy instance and all of the resource record sets that
// Amazon Route 53 created when you created the instance.
//
-// To delete a traffic policy instance, send a DELETE request to the /Route
-// 53 API version/trafficpolicy/traffic policy instance ID resource.
+// In the Amazon Route 53 console, traffic policy instances are known as policy
+// records.
//
-// When you delete a traffic policy instance, Amazon Route 53 also deletes
-// all of the resource record sets that were created when you created the traffic
-// policy instance.
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation DeleteTrafficPolicyInstance for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchTrafficPolicyInstance "NoSuchTrafficPolicyInstance"
+// No traffic policy instance exists with the specified ID.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// * ErrCodePriorRequestNotComplete "PriorRequestNotComplete"
+// If Amazon Route 53 can't process a request before the next request arrives,
+// it will reject subsequent requests for the same hosted zone and return an
+// HTTP 400 error (Bad request). If Amazon Route 53 returns this error repeatedly
+// for the same request, we recommend that you wait, in intervals of increasing
+// duration, before you try the request again.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteTrafficPolicyInstance
func (c *Route53) DeleteTrafficPolicyInstance(input *DeleteTrafficPolicyInstanceInput) (*DeleteTrafficPolicyInstanceOutput, error) {
req, out := c.DeleteTrafficPolicyInstanceRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteTrafficPolicyInstanceWithContext is the same as DeleteTrafficPolicyInstance with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteTrafficPolicyInstance for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) DeleteTrafficPolicyInstanceWithContext(ctx aws.Context, input *DeleteTrafficPolicyInstanceInput, opts ...request.Option) (*DeleteTrafficPolicyInstanceOutput, error) {
+ req, out := c.DeleteTrafficPolicyInstanceRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteVPCAssociationAuthorization = "DeleteVPCAssociationAuthorization"
+
+// DeleteVPCAssociationAuthorizationRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteVPCAssociationAuthorization operation. The "output" return
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteVPCAssociationAuthorization for more information on using the DeleteVPCAssociationAuthorization
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteVPCAssociationAuthorizationRequest method.
+// req, resp := client.DeleteVPCAssociationAuthorizationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteVPCAssociationAuthorization
+func (c *Route53) DeleteVPCAssociationAuthorizationRequest(input *DeleteVPCAssociationAuthorizationInput) (req *request.Request, output *DeleteVPCAssociationAuthorizationOutput) {
+ op := &request.Operation{
+ Name: opDeleteVPCAssociationAuthorization,
+ HTTPMethod: "POST",
+ HTTPPath: "/2013-04-01/hostedzone/{Id}/deauthorizevpcassociation",
+ }
+
+ if input == nil {
+ input = &DeleteVPCAssociationAuthorizationInput{}
+ }
+
+ output = &DeleteVPCAssociationAuthorizationOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteVPCAssociationAuthorization API operation for Amazon Route 53.
+//
+// Removes authorization to submit an AssociateVPCWithHostedZone request to
+// associate a specified VPC with a hosted zone that was created by a different
+// account. You must use the account that created the hosted zone to submit
+// a DeleteVPCAssociationAuthorization request.
+//
+// Sending this request only prevents the AWS account that created the VPC from
+// associating the VPC with the Amazon Route 53 hosted zone in the future. If
+// the VPC is already associated with the hosted zone, DeleteVPCAssociationAuthorization
+// won't disassociate the VPC from the hosted zone. If you want to delete an
+// existing association, use DisassociateVPCFromHostedZone.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation DeleteVPCAssociationAuthorization for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeConcurrentModification "ConcurrentModification"
+// Another user submitted a request to create, update, or delete the object
+// at the same time that you did. Retry the request.
+//
+// * ErrCodeVPCAssociationAuthorizationNotFound "VPCAssociationAuthorizationNotFound"
+// The VPC that you specified is not authorized to be associated with the hosted
+// zone.
+//
+// * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
+// No hosted zone exists with the ID that you specified.
+//
+// * ErrCodeInvalidVPCId "InvalidVPCId"
+// The VPC ID that you specified either isn't a valid ID or the current account
+// is not authorized to access this VPC.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteVPCAssociationAuthorization
+func (c *Route53) DeleteVPCAssociationAuthorization(input *DeleteVPCAssociationAuthorizationInput) (*DeleteVPCAssociationAuthorizationOutput, error) {
+ req, out := c.DeleteVPCAssociationAuthorizationRequest(input)
+ return out, req.Send()
+}
+
+// DeleteVPCAssociationAuthorizationWithContext is the same as DeleteVPCAssociationAuthorization with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteVPCAssociationAuthorization for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) DeleteVPCAssociationAuthorizationWithContext(ctx aws.Context, input *DeleteVPCAssociationAuthorizationInput, opts ...request.Option) (*DeleteVPCAssociationAuthorizationOutput, error) {
+ req, out := c.DeleteVPCAssociationAuthorizationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDisassociateVPCFromHostedZone = "DisassociateVPCFromHostedZone"
// DisassociateVPCFromHostedZoneRequest generates a "aws/request.Request" representing the
// client's request for the DisassociateVPCFromHostedZone operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DisassociateVPCFromHostedZone method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DisassociateVPCFromHostedZone for more information on using the DisassociateVPCFromHostedZone
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DisassociateVPCFromHostedZoneRequest method.
// req, resp := client.DisassociateVPCFromHostedZoneRequest(params)
@@ -836,6 +2114,7 @@ const opDisassociateVPCFromHostedZone = "DisassociateVPCFromHostedZone"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DisassociateVPCFromHostedZone
func (c *Route53) DisassociateVPCFromHostedZoneRequest(input *DisassociateVPCFromHostedZoneInput) (req *request.Request, output *DisassociateVPCFromHostedZoneOutput) {
op := &request.Operation{
Name: opDisassociateVPCFromHostedZone,
@@ -847,41 +2126,85 @@ func (c *Route53) DisassociateVPCFromHostedZoneRequest(input *DisassociateVPCFro
input = &DisassociateVPCFromHostedZoneInput{}
}
- req = c.newRequest(op, input, output)
output = &DisassociateVPCFromHostedZoneOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// This action disassociates a VPC from an hosted zone.
+// DisassociateVPCFromHostedZone API operation for Amazon Route 53.
//
-// To disassociate a VPC to a hosted zone, send a POST request to the /Route
-// 53 API version/hostedzone/hosted zone ID/disassociatevpc resource. The request
-// body must include a document with a DisassociateVPCFromHostedZoneRequest
-// element. The response returns the DisassociateVPCFromHostedZoneResponse element
-// that contains ChangeInfo for you to track the progress of the DisassociateVPCFromHostedZoneRequest
-// you made. See GetChange operation for how to track the progress of your change.
+// Disassociates a VPC from a Amazon Route 53 private hosted zone.
+//
+// You can't disassociate the last VPC from a private hosted zone.
+//
+// You can't disassociate a VPC from a private hosted zone when only one VPC
+// is associated with the hosted zone. You also can't convert a private hosted
+// zone into a public hosted zone.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation DisassociateVPCFromHostedZone for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
+// No hosted zone exists with the ID that you specified.
+//
+// * ErrCodeInvalidVPCId "InvalidVPCId"
+// The VPC ID that you specified either isn't a valid ID or the current account
+// is not authorized to access this VPC.
+//
+// * ErrCodeVPCAssociationNotFound "VPCAssociationNotFound"
+// The specified VPC and hosted zone are not currently associated.
+//
+// * ErrCodeLastVPCAssociation "LastVPCAssociation"
+// The VPC that you're trying to disassociate from the private hosted zone is
+// the last VPC that is associated with the hosted zone. Amazon Route 53 doesn't
+// support disassociating the last VPC from a hosted zone.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DisassociateVPCFromHostedZone
func (c *Route53) DisassociateVPCFromHostedZone(input *DisassociateVPCFromHostedZoneInput) (*DisassociateVPCFromHostedZoneOutput, error) {
req, out := c.DisassociateVPCFromHostedZoneRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DisassociateVPCFromHostedZoneWithContext is the same as DisassociateVPCFromHostedZone with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DisassociateVPCFromHostedZone for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) DisassociateVPCFromHostedZoneWithContext(ctx aws.Context, input *DisassociateVPCFromHostedZoneInput, opts ...request.Option) (*DisassociateVPCFromHostedZoneOutput, error) {
+ req, out := c.DisassociateVPCFromHostedZoneRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetChange = "GetChange"
// GetChangeRequest generates a "aws/request.Request" representing the
// client's request for the GetChange operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetChange method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetChange for more information on using the GetChange
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetChangeRequest method.
// req, resp := client.GetChangeRequest(params)
@@ -891,6 +2214,7 @@ const opGetChange = "GetChange"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetChange
func (c *Route53) GetChangeRequest(input *GetChangeInput) (req *request.Request, output *GetChangeOutput) {
op := &request.Operation{
Name: opGetChange,
@@ -902,93 +2226,75 @@ func (c *Route53) GetChangeRequest(input *GetChangeInput) (req *request.Request,
input = &GetChangeInput{}
}
- req = c.newRequest(op, input, output)
output = &GetChangeOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// This action returns the current status of a change batch request. The status
-// is one of the following values:
+// GetChange API operation for Amazon Route 53.
//
-// - PENDING indicates that the changes in this request have not replicated
-// to all Amazon Route 53 DNS servers. This is the initial status of all change
-// batch requests.
+// Returns the current status of a change batch request. The status is one of
+// the following values:
//
-// - INSYNC indicates that the changes have replicated to all Amazon Route
-// 53 DNS servers.
+// * PENDING indicates that the changes in this request have not propagated
+// to all Amazon Route 53 DNS servers. This is the initial status of all
+// change batch requests.
+//
+// * INSYNC indicates that the changes have propagated to all Amazon Route
+// 53 DNS servers.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation GetChange for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchChange "NoSuchChange"
+// A change with the specified change ID does not exist.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetChange
func (c *Route53) GetChange(input *GetChangeInput) (*GetChangeOutput, error) {
req, out := c.GetChangeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
}
-const opGetChangeDetails = "GetChangeDetails"
-
-// GetChangeDetailsRequest generates a "aws/request.Request" representing the
-// client's request for the GetChangeDetails operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// GetChangeWithContext is the same as GetChange with the addition of
+// the ability to pass a context and additional request options.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetChangeDetails method directly
-// instead.
+// See GetChange for details on how to use this API operation.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
-//
-// // Example sending a request using the GetChangeDetailsRequest method.
-// req, resp := client.GetChangeDetailsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-func (c *Route53) GetChangeDetailsRequest(input *GetChangeDetailsInput) (req *request.Request, output *GetChangeDetailsOutput) {
- if c.Client.Config.Logger != nil {
- c.Client.Config.Logger.Log("This operation, GetChangeDetails, has been deprecated")
- }
- op := &request.Operation{
- Name: opGetChangeDetails,
- HTTPMethod: "GET",
- HTTPPath: "/2013-04-01/changedetails/{Id}",
- }
-
- if input == nil {
- input = &GetChangeDetailsInput{}
- }
-
- req = c.newRequest(op, input, output)
- output = &GetChangeDetailsOutput{}
- req.Data = output
- return
-}
-
-// This action returns the status and changes of a change batch request.
-func (c *Route53) GetChangeDetails(input *GetChangeDetailsInput) (*GetChangeDetailsOutput, error) {
- req, out := c.GetChangeDetailsRequest(input)
- err := req.Send()
- return out, err
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) GetChangeWithContext(ctx aws.Context, input *GetChangeInput, opts ...request.Option) (*GetChangeOutput, error) {
+ req, out := c.GetChangeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetCheckerIpRanges = "GetCheckerIpRanges"
// GetCheckerIpRangesRequest generates a "aws/request.Request" representing the
// client's request for the GetCheckerIpRanges operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetCheckerIpRanges method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetCheckerIpRanges for more information on using the GetCheckerIpRanges
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetCheckerIpRangesRequest method.
// req, resp := client.GetCheckerIpRangesRequest(params)
@@ -998,6 +2304,7 @@ const opGetCheckerIpRanges = "GetCheckerIpRanges"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetCheckerIpRanges
func (c *Route53) GetCheckerIpRangesRequest(input *GetCheckerIpRangesInput) (req *request.Request, output *GetCheckerIpRangesOutput) {
op := &request.Operation{
Name: opGetCheckerIpRanges,
@@ -1009,38 +2316,62 @@ func (c *Route53) GetCheckerIpRangesRequest(input *GetCheckerIpRangesInput) (req
input = &GetCheckerIpRangesInput{}
}
- req = c.newRequest(op, input, output)
output = &GetCheckerIpRangesOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// To retrieve a list of the IP ranges used by Amazon Route 53 health checkers
-// to check the health of your resources, send a GET request to the /Route 53
-// API version/checkeripranges resource. You can use these IP addresses to configure
-// router and firewall rules to allow health checkers to check the health of
-// your resources.
+// GetCheckerIpRanges API operation for Amazon Route 53.
+//
+// GetCheckerIpRanges still works, but we recommend that you download ip-ranges.json,
+// which includes IP address ranges for all AWS services. For more information,
+// see IP Address Ranges of Amazon Route 53 Servers (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/route-53-ip-addresses.html)
+// in the Amazon Route 53 Developer Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation GetCheckerIpRanges for usage and error information.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetCheckerIpRanges
func (c *Route53) GetCheckerIpRanges(input *GetCheckerIpRangesInput) (*GetCheckerIpRangesOutput, error) {
req, out := c.GetCheckerIpRangesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetCheckerIpRangesWithContext is the same as GetCheckerIpRanges with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetCheckerIpRanges for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) GetCheckerIpRangesWithContext(ctx aws.Context, input *GetCheckerIpRangesInput, opts ...request.Option) (*GetCheckerIpRangesOutput, error) {
+ req, out := c.GetCheckerIpRangesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetGeoLocation = "GetGeoLocation"
// GetGeoLocationRequest generates a "aws/request.Request" representing the
// client's request for the GetGeoLocation operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetGeoLocation method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetGeoLocation for more information on using the GetGeoLocation
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetGeoLocationRequest method.
// req, resp := client.GetGeoLocationRequest(params)
@@ -1050,6 +2381,7 @@ const opGetGeoLocation = "GetGeoLocation"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetGeoLocation
func (c *Route53) GetGeoLocationRequest(input *GetGeoLocationInput) (req *request.Request, output *GetGeoLocationOutput) {
op := &request.Operation{
Name: opGetGeoLocation,
@@ -1061,36 +2393,84 @@ func (c *Route53) GetGeoLocationRequest(input *GetGeoLocationInput) (req *reques
input = &GetGeoLocationInput{}
}
- req = c.newRequest(op, input, output)
output = &GetGeoLocationOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// To retrieve a single geo location, send a GET request to the /Route 53 API
-// version/geolocation resource with one of these options: continentcode | countrycode
-// | countrycode and subdivisioncode.
+// GetGeoLocation API operation for Amazon Route 53.
+//
+// Gets information about whether a specified geographic location is supported
+// for Amazon Route 53 geolocation resource record sets.
+//
+// Use the following syntax to determine whether a continent is supported for
+// geolocation:
+//
+// GET /2013-04-01/geolocation?ContinentCode=two-letter abbreviation for a continent
+//
+// Use the following syntax to determine whether a country is supported for
+// geolocation:
+//
+// GET /2013-04-01/geolocation?CountryCode=two-character country code
+//
+// Use the following syntax to determine whether a subdivision of a country
+// is supported for geolocation:
+//
+// GET /2013-04-01/geolocation?CountryCode=two-character country code&SubdivisionCode=subdivision
+// code
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation GetGeoLocation for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchGeoLocation "NoSuchGeoLocation"
+// Amazon Route 53 doesn't support the specified geolocation.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetGeoLocation
func (c *Route53) GetGeoLocation(input *GetGeoLocationInput) (*GetGeoLocationOutput, error) {
req, out := c.GetGeoLocationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetGeoLocationWithContext is the same as GetGeoLocation with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetGeoLocation for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) GetGeoLocationWithContext(ctx aws.Context, input *GetGeoLocationInput, opts ...request.Option) (*GetGeoLocationOutput, error) {
+ req, out := c.GetGeoLocationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetHealthCheck = "GetHealthCheck"
// GetHealthCheckRequest generates a "aws/request.Request" representing the
// client's request for the GetHealthCheck operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetHealthCheck method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetHealthCheck for more information on using the GetHealthCheck
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetHealthCheckRequest method.
// req, resp := client.GetHealthCheckRequest(params)
@@ -1100,6 +2480,7 @@ const opGetHealthCheck = "GetHealthCheck"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheck
func (c *Route53) GetHealthCheckRequest(input *GetHealthCheckInput) (req *request.Request, output *GetHealthCheckOutput) {
op := &request.Operation{
Name: opGetHealthCheck,
@@ -1111,35 +2492,72 @@ func (c *Route53) GetHealthCheckRequest(input *GetHealthCheckInput) (req *reques
input = &GetHealthCheckInput{}
}
- req = c.newRequest(op, input, output)
output = &GetHealthCheckOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// To retrieve the health check, send a GET request to the /Route 53 API version/healthcheck/health
-// check ID resource.
+// GetHealthCheck API operation for Amazon Route 53.
+//
+// Gets information about a specified health check.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation GetHealthCheck for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchHealthCheck "NoSuchHealthCheck"
+// No health check exists with the ID that you specified in the DeleteHealthCheck
+// request.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// * ErrCodeIncompatibleVersion "IncompatibleVersion"
+// The resource you're trying to access is unsupported on this Amazon Route
+// 53 endpoint.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheck
func (c *Route53) GetHealthCheck(input *GetHealthCheckInput) (*GetHealthCheckOutput, error) {
req, out := c.GetHealthCheckRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetHealthCheckWithContext is the same as GetHealthCheck with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetHealthCheck for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) GetHealthCheckWithContext(ctx aws.Context, input *GetHealthCheckInput, opts ...request.Option) (*GetHealthCheckOutput, error) {
+ req, out := c.GetHealthCheckRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetHealthCheckCount = "GetHealthCheckCount"
// GetHealthCheckCountRequest generates a "aws/request.Request" representing the
// client's request for the GetHealthCheckCount operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetHealthCheckCount method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetHealthCheckCount for more information on using the GetHealthCheckCount
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetHealthCheckCountRequest method.
// req, resp := client.GetHealthCheckCountRequest(params)
@@ -1149,6 +2567,7 @@ const opGetHealthCheckCount = "GetHealthCheckCount"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheckCount
func (c *Route53) GetHealthCheckCountRequest(input *GetHealthCheckCountInput) (req *request.Request, output *GetHealthCheckCountOutput) {
op := &request.Operation{
Name: opGetHealthCheckCount,
@@ -1160,35 +2579,60 @@ func (c *Route53) GetHealthCheckCountRequest(input *GetHealthCheckCountInput) (r
input = &GetHealthCheckCountInput{}
}
- req = c.newRequest(op, input, output)
output = &GetHealthCheckCountOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// To retrieve a count of all your health checks, send a GET request to the
-// /Route 53 API version/healthcheckcount resource.
+// GetHealthCheckCount API operation for Amazon Route 53.
+//
+// Retrieves the number of health checks that are associated with the current
+// AWS account.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation GetHealthCheckCount for usage and error information.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheckCount
func (c *Route53) GetHealthCheckCount(input *GetHealthCheckCountInput) (*GetHealthCheckCountOutput, error) {
req, out := c.GetHealthCheckCountRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetHealthCheckCountWithContext is the same as GetHealthCheckCount with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetHealthCheckCount for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) GetHealthCheckCountWithContext(ctx aws.Context, input *GetHealthCheckCountInput, opts ...request.Option) (*GetHealthCheckCountOutput, error) {
+ req, out := c.GetHealthCheckCountRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetHealthCheckLastFailureReason = "GetHealthCheckLastFailureReason"
// GetHealthCheckLastFailureReasonRequest generates a "aws/request.Request" representing the
// client's request for the GetHealthCheckLastFailureReason operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetHealthCheckLastFailureReason method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetHealthCheckLastFailureReason for more information on using the GetHealthCheckLastFailureReason
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetHealthCheckLastFailureReasonRequest method.
// req, resp := client.GetHealthCheckLastFailureReasonRequest(params)
@@ -1198,6 +2642,7 @@ const opGetHealthCheckLastFailureReason = "GetHealthCheckLastFailureReason"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheckLastFailureReason
func (c *Route53) GetHealthCheckLastFailureReasonRequest(input *GetHealthCheckLastFailureReasonInput) (req *request.Request, output *GetHealthCheckLastFailureReasonOutput) {
op := &request.Operation{
Name: opGetHealthCheckLastFailureReason,
@@ -1209,37 +2654,68 @@ func (c *Route53) GetHealthCheckLastFailureReasonRequest(input *GetHealthCheckLa
input = &GetHealthCheckLastFailureReasonInput{}
}
- req = c.newRequest(op, input, output)
output = &GetHealthCheckLastFailureReasonOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// If you want to learn why a health check is currently failing or why it failed
-// most recently (if at all), you can get the failure reason for the most recent
-// failure. Send a GET request to the /Route 53 API version/healthcheck/health
-// check ID/lastfailurereason resource.
+// GetHealthCheckLastFailureReason API operation for Amazon Route 53.
+//
+// Gets the reason that a specified health check failed most recently.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation GetHealthCheckLastFailureReason for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchHealthCheck "NoSuchHealthCheck"
+// No health check exists with the ID that you specified in the DeleteHealthCheck
+// request.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheckLastFailureReason
func (c *Route53) GetHealthCheckLastFailureReason(input *GetHealthCheckLastFailureReasonInput) (*GetHealthCheckLastFailureReasonOutput, error) {
req, out := c.GetHealthCheckLastFailureReasonRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetHealthCheckLastFailureReasonWithContext is the same as GetHealthCheckLastFailureReason with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetHealthCheckLastFailureReason for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) GetHealthCheckLastFailureReasonWithContext(ctx aws.Context, input *GetHealthCheckLastFailureReasonInput, opts ...request.Option) (*GetHealthCheckLastFailureReasonOutput, error) {
+ req, out := c.GetHealthCheckLastFailureReasonRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetHealthCheckStatus = "GetHealthCheckStatus"
// GetHealthCheckStatusRequest generates a "aws/request.Request" representing the
// client's request for the GetHealthCheckStatus operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetHealthCheckStatus method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetHealthCheckStatus for more information on using the GetHealthCheckStatus
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetHealthCheckStatusRequest method.
// req, resp := client.GetHealthCheckStatusRequest(params)
@@ -1249,6 +2725,7 @@ const opGetHealthCheckStatus = "GetHealthCheckStatus"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheckStatus
func (c *Route53) GetHealthCheckStatusRequest(input *GetHealthCheckStatusInput) (req *request.Request, output *GetHealthCheckStatusOutput) {
op := &request.Operation{
Name: opGetHealthCheckStatus,
@@ -1260,36 +2737,68 @@ func (c *Route53) GetHealthCheckStatusRequest(input *GetHealthCheckStatusInput)
input = &GetHealthCheckStatusInput{}
}
- req = c.newRequest(op, input, output)
output = &GetHealthCheckStatusOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// To retrieve the health check status, send a GET request to the /Route 53
-// API version/healthcheck/health check ID/status resource. You can use this
-// call to get a health check's current status.
+// GetHealthCheckStatus API operation for Amazon Route 53.
+//
+// Gets status of a specified health check.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation GetHealthCheckStatus for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchHealthCheck "NoSuchHealthCheck"
+// No health check exists with the ID that you specified in the DeleteHealthCheck
+// request.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheckStatus
func (c *Route53) GetHealthCheckStatus(input *GetHealthCheckStatusInput) (*GetHealthCheckStatusOutput, error) {
req, out := c.GetHealthCheckStatusRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetHealthCheckStatusWithContext is the same as GetHealthCheckStatus with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetHealthCheckStatus for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) GetHealthCheckStatusWithContext(ctx aws.Context, input *GetHealthCheckStatusInput, opts ...request.Option) (*GetHealthCheckStatusOutput, error) {
+ req, out := c.GetHealthCheckStatusRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetHostedZone = "GetHostedZone"
// GetHostedZoneRequest generates a "aws/request.Request" representing the
// client's request for the GetHostedZone operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetHostedZone method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetHostedZone for more information on using the GetHostedZone
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetHostedZoneRequest method.
// req, resp := client.GetHostedZoneRequest(params)
@@ -1299,6 +2808,7 @@ const opGetHostedZone = "GetHostedZone"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHostedZone
func (c *Route53) GetHostedZoneRequest(input *GetHostedZoneInput) (req *request.Request, output *GetHostedZoneOutput) {
op := &request.Operation{
Name: opGetHostedZone,
@@ -1310,37 +2820,68 @@ func (c *Route53) GetHostedZoneRequest(input *GetHostedZoneInput) (req *request.
input = &GetHostedZoneInput{}
}
- req = c.newRequest(op, input, output)
output = &GetHostedZoneOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// To retrieve the delegation set for a hosted zone, send a GET request to the
-// /Route 53 API version/hostedzone/hosted zone ID resource. The delegation
-// set is the four Amazon Route 53 name servers that were assigned to the hosted
-// zone when you created it.
+// GetHostedZone API operation for Amazon Route 53.
+//
+// Gets information about a specified hosted zone including the four name servers
+// assigned to the hosted zone.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation GetHostedZone for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
+// No hosted zone exists with the ID that you specified.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHostedZone
func (c *Route53) GetHostedZone(input *GetHostedZoneInput) (*GetHostedZoneOutput, error) {
req, out := c.GetHostedZoneRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetHostedZoneWithContext is the same as GetHostedZone with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetHostedZone for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) GetHostedZoneWithContext(ctx aws.Context, input *GetHostedZoneInput, opts ...request.Option) (*GetHostedZoneOutput, error) {
+ req, out := c.GetHostedZoneRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetHostedZoneCount = "GetHostedZoneCount"
// GetHostedZoneCountRequest generates a "aws/request.Request" representing the
// client's request for the GetHostedZoneCount operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetHostedZoneCount method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetHostedZoneCount for more information on using the GetHostedZoneCount
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetHostedZoneCountRequest method.
// req, resp := client.GetHostedZoneCountRequest(params)
@@ -1350,6 +2891,7 @@ const opGetHostedZoneCount = "GetHostedZoneCount"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHostedZoneCount
func (c *Route53) GetHostedZoneCountRequest(input *GetHostedZoneCountInput) (req *request.Request, output *GetHostedZoneCountOutput) {
op := &request.Operation{
Name: opGetHostedZoneCount,
@@ -1361,35 +2903,150 @@ func (c *Route53) GetHostedZoneCountRequest(input *GetHostedZoneCountInput) (req
input = &GetHostedZoneCountInput{}
}
- req = c.newRequest(op, input, output)
output = &GetHostedZoneCountOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// To retrieve a count of all your hosted zones, send a GET request to the /Route
-// 53 API version/hostedzonecount resource.
+// GetHostedZoneCount API operation for Amazon Route 53.
+//
+// Retrieves the number of hosted zones that are associated with the current
+// AWS account.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation GetHostedZoneCount for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHostedZoneCount
func (c *Route53) GetHostedZoneCount(input *GetHostedZoneCountInput) (*GetHostedZoneCountOutput, error) {
req, out := c.GetHostedZoneCountRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetHostedZoneCountWithContext is the same as GetHostedZoneCount with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetHostedZoneCount for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) GetHostedZoneCountWithContext(ctx aws.Context, input *GetHostedZoneCountInput, opts ...request.Option) (*GetHostedZoneCountOutput, error) {
+ req, out := c.GetHostedZoneCountRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGetQueryLoggingConfig = "GetQueryLoggingConfig"
+
+// GetQueryLoggingConfigRequest generates a "aws/request.Request" representing the
+// client's request for the GetQueryLoggingConfig operation. The "output" return
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetQueryLoggingConfig for more information on using the GetQueryLoggingConfig
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetQueryLoggingConfigRequest method.
+// req, resp := client.GetQueryLoggingConfigRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetQueryLoggingConfig
+func (c *Route53) GetQueryLoggingConfigRequest(input *GetQueryLoggingConfigInput) (req *request.Request, output *GetQueryLoggingConfigOutput) {
+ op := &request.Operation{
+ Name: opGetQueryLoggingConfig,
+ HTTPMethod: "GET",
+ HTTPPath: "/2013-04-01/queryloggingconfig/{Id}",
+ }
+
+ if input == nil {
+ input = &GetQueryLoggingConfigInput{}
+ }
+
+ output = &GetQueryLoggingConfigOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetQueryLoggingConfig API operation for Amazon Route 53.
+//
+// Gets information about a specified configuration for DNS query logging.
+//
+// For more information about DNS query logs, see CreateQueryLoggingConfig and
+// Logging DNS Queries (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation GetQueryLoggingConfig for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchQueryLoggingConfig "NoSuchQueryLoggingConfig"
+// There is no DNS query logging configuration with the specified ID.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetQueryLoggingConfig
+func (c *Route53) GetQueryLoggingConfig(input *GetQueryLoggingConfigInput) (*GetQueryLoggingConfigOutput, error) {
+ req, out := c.GetQueryLoggingConfigRequest(input)
+ return out, req.Send()
+}
+
+// GetQueryLoggingConfigWithContext is the same as GetQueryLoggingConfig with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetQueryLoggingConfig for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) GetQueryLoggingConfigWithContext(ctx aws.Context, input *GetQueryLoggingConfigInput, opts ...request.Option) (*GetQueryLoggingConfigOutput, error) {
+ req, out := c.GetQueryLoggingConfigRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetReusableDelegationSet = "GetReusableDelegationSet"
// GetReusableDelegationSetRequest generates a "aws/request.Request" representing the
// client's request for the GetReusableDelegationSet operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetReusableDelegationSet method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetReusableDelegationSet for more information on using the GetReusableDelegationSet
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetReusableDelegationSetRequest method.
// req, resp := client.GetReusableDelegationSetRequest(params)
@@ -1399,6 +3056,7 @@ const opGetReusableDelegationSet = "GetReusableDelegationSet"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetReusableDelegationSet
func (c *Route53) GetReusableDelegationSetRequest(input *GetReusableDelegationSetInput) (req *request.Request, output *GetReusableDelegationSetOutput) {
op := &request.Operation{
Name: opGetReusableDelegationSet,
@@ -1410,35 +3068,71 @@ func (c *Route53) GetReusableDelegationSetRequest(input *GetReusableDelegationSe
input = &GetReusableDelegationSetInput{}
}
- req = c.newRequest(op, input, output)
output = &GetReusableDelegationSetOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// To retrieve the reusable delegation set, send a GET request to the /Route
-// 53 API version/delegationset/delegation set ID resource.
+// GetReusableDelegationSet API operation for Amazon Route 53.
+//
+// Retrieves information about a specified reusable delegation set, including
+// the four name servers that are assigned to the delegation set.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation GetReusableDelegationSet for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchDelegationSet "NoSuchDelegationSet"
+// A reusable delegation set with the specified ID does not exist.
+//
+// * ErrCodeDelegationSetNotReusable "DelegationSetNotReusable"
+// A reusable delegation set with the specified ID does not exist.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetReusableDelegationSet
func (c *Route53) GetReusableDelegationSet(input *GetReusableDelegationSetInput) (*GetReusableDelegationSetOutput, error) {
req, out := c.GetReusableDelegationSetRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetReusableDelegationSetWithContext is the same as GetReusableDelegationSet with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetReusableDelegationSet for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) GetReusableDelegationSetWithContext(ctx aws.Context, input *GetReusableDelegationSetInput, opts ...request.Option) (*GetReusableDelegationSetOutput, error) {
+ req, out := c.GetReusableDelegationSetRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetTrafficPolicy = "GetTrafficPolicy"
// GetTrafficPolicyRequest generates a "aws/request.Request" representing the
// client's request for the GetTrafficPolicy operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetTrafficPolicy method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetTrafficPolicy for more information on using the GetTrafficPolicy
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetTrafficPolicyRequest method.
// req, resp := client.GetTrafficPolicyRequest(params)
@@ -1448,6 +3142,7 @@ const opGetTrafficPolicy = "GetTrafficPolicy"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetTrafficPolicy
func (c *Route53) GetTrafficPolicyRequest(input *GetTrafficPolicyInput) (req *request.Request, output *GetTrafficPolicyOutput) {
op := &request.Operation{
Name: opGetTrafficPolicy,
@@ -1459,35 +3154,67 @@ func (c *Route53) GetTrafficPolicyRequest(input *GetTrafficPolicyInput) (req *re
input = &GetTrafficPolicyInput{}
}
- req = c.newRequest(op, input, output)
output = &GetTrafficPolicyOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// Gets information about a specific traffic policy version. To get the information,
-// send a GET request to the /Route 53 API version/trafficpolicy resource.
+// GetTrafficPolicy API operation for Amazon Route 53.
+//
+// Gets information about a specific traffic policy version.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation GetTrafficPolicy for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchTrafficPolicy "NoSuchTrafficPolicy"
+// No traffic policy exists with the specified ID.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetTrafficPolicy
func (c *Route53) GetTrafficPolicy(input *GetTrafficPolicyInput) (*GetTrafficPolicyOutput, error) {
req, out := c.GetTrafficPolicyRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetTrafficPolicyWithContext is the same as GetTrafficPolicy with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetTrafficPolicy for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) GetTrafficPolicyWithContext(ctx aws.Context, input *GetTrafficPolicyInput, opts ...request.Option) (*GetTrafficPolicyOutput, error) {
+ req, out := c.GetTrafficPolicyRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetTrafficPolicyInstance = "GetTrafficPolicyInstance"
// GetTrafficPolicyInstanceRequest generates a "aws/request.Request" representing the
// client's request for the GetTrafficPolicyInstance operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetTrafficPolicyInstance method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetTrafficPolicyInstance for more information on using the GetTrafficPolicyInstance
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetTrafficPolicyInstanceRequest method.
// req, resp := client.GetTrafficPolicyInstanceRequest(params)
@@ -1497,6 +3224,7 @@ const opGetTrafficPolicyInstance = "GetTrafficPolicyInstance"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetTrafficPolicyInstance
func (c *Route53) GetTrafficPolicyInstanceRequest(input *GetTrafficPolicyInstanceInput) (req *request.Request, output *GetTrafficPolicyInstanceOutput) {
op := &request.Operation{
Name: opGetTrafficPolicyInstance,
@@ -1508,42 +3236,75 @@ func (c *Route53) GetTrafficPolicyInstanceRequest(input *GetTrafficPolicyInstanc
input = &GetTrafficPolicyInstanceInput{}
}
- req = c.newRequest(op, input, output)
output = &GetTrafficPolicyInstanceOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// Gets information about a specified traffic policy instance.
+// GetTrafficPolicyInstance API operation for Amazon Route 53.
//
-// To get information about the traffic policy instance, send a GET request
-// to the /Route 53 API version/trafficpolicyinstance resource.
+// Gets information about a specified traffic policy instance.
//
// After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance
// request, there's a brief delay while Amazon Route 53 creates the resource
// record sets that are specified in the traffic policy definition. For more
// information, see the State response element.
+//
+// In the Amazon Route 53 console, traffic policy instances are known as policy
+// records.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation GetTrafficPolicyInstance for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchTrafficPolicyInstance "NoSuchTrafficPolicyInstance"
+// No traffic policy instance exists with the specified ID.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetTrafficPolicyInstance
func (c *Route53) GetTrafficPolicyInstance(input *GetTrafficPolicyInstanceInput) (*GetTrafficPolicyInstanceOutput, error) {
req, out := c.GetTrafficPolicyInstanceRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetTrafficPolicyInstanceWithContext is the same as GetTrafficPolicyInstance with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetTrafficPolicyInstance for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) GetTrafficPolicyInstanceWithContext(ctx aws.Context, input *GetTrafficPolicyInstanceInput, opts ...request.Option) (*GetTrafficPolicyInstanceOutput, error) {
+ req, out := c.GetTrafficPolicyInstanceRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetTrafficPolicyInstanceCount = "GetTrafficPolicyInstanceCount"
// GetTrafficPolicyInstanceCountRequest generates a "aws/request.Request" representing the
// client's request for the GetTrafficPolicyInstanceCount operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetTrafficPolicyInstanceCount method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetTrafficPolicyInstanceCount for more information on using the GetTrafficPolicyInstanceCount
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetTrafficPolicyInstanceCountRequest method.
// req, resp := client.GetTrafficPolicyInstanceCountRequest(params)
@@ -1553,6 +3314,7 @@ const opGetTrafficPolicyInstanceCount = "GetTrafficPolicyInstanceCount"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetTrafficPolicyInstanceCount
func (c *Route53) GetTrafficPolicyInstanceCountRequest(input *GetTrafficPolicyInstanceCountInput) (req *request.Request, output *GetTrafficPolicyInstanceCountOutput) {
op := &request.Operation{
Name: opGetTrafficPolicyInstanceCount,
@@ -1564,142 +3326,60 @@ func (c *Route53) GetTrafficPolicyInstanceCountRequest(input *GetTrafficPolicyIn
input = &GetTrafficPolicyInstanceCountInput{}
}
- req = c.newRequest(op, input, output)
output = &GetTrafficPolicyInstanceCountOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// GetTrafficPolicyInstanceCount API operation for Amazon Route 53.
+//
// Gets the number of traffic policy instances that are associated with the
// current AWS account.
//
-// To get the number of traffic policy instances, send a GET request to the
-// /Route 53 API version/trafficpolicyinstancecount resource.
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation GetTrafficPolicyInstanceCount for usage and error information.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetTrafficPolicyInstanceCount
func (c *Route53) GetTrafficPolicyInstanceCount(input *GetTrafficPolicyInstanceCountInput) (*GetTrafficPolicyInstanceCountOutput, error) {
req, out := c.GetTrafficPolicyInstanceCountRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
}
-const opListChangeBatchesByHostedZone = "ListChangeBatchesByHostedZone"
-
-// ListChangeBatchesByHostedZoneRequest generates a "aws/request.Request" representing the
-// client's request for the ListChangeBatchesByHostedZone operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// GetTrafficPolicyInstanceCountWithContext is the same as GetTrafficPolicyInstanceCount with the addition of
+// the ability to pass a context and additional request options.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListChangeBatchesByHostedZone method directly
-// instead.
+// See GetTrafficPolicyInstanceCount for details on how to use this API operation.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
-//
-// // Example sending a request using the ListChangeBatchesByHostedZoneRequest method.
-// req, resp := client.ListChangeBatchesByHostedZoneRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-func (c *Route53) ListChangeBatchesByHostedZoneRequest(input *ListChangeBatchesByHostedZoneInput) (req *request.Request, output *ListChangeBatchesByHostedZoneOutput) {
- if c.Client.Config.Logger != nil {
- c.Client.Config.Logger.Log("This operation, ListChangeBatchesByHostedZone, has been deprecated")
- }
- op := &request.Operation{
- Name: opListChangeBatchesByHostedZone,
- HTTPMethod: "GET",
- HTTPPath: "/2013-04-01/hostedzone/{Id}/changes",
- }
-
- if input == nil {
- input = &ListChangeBatchesByHostedZoneInput{}
- }
-
- req = c.newRequest(op, input, output)
- output = &ListChangeBatchesByHostedZoneOutput{}
- req.Data = output
- return
-}
-
-// This action gets the list of ChangeBatches in a given time period for a given
-// hosted zone.
-func (c *Route53) ListChangeBatchesByHostedZone(input *ListChangeBatchesByHostedZoneInput) (*ListChangeBatchesByHostedZoneOutput, error) {
- req, out := c.ListChangeBatchesByHostedZoneRequest(input)
- err := req.Send()
- return out, err
-}
-
-const opListChangeBatchesByRRSet = "ListChangeBatchesByRRSet"
-
-// ListChangeBatchesByRRSetRequest generates a "aws/request.Request" representing the
-// client's request for the ListChangeBatchesByRRSet operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
-//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListChangeBatchesByRRSet method directly
-// instead.
-//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
-//
-// // Example sending a request using the ListChangeBatchesByRRSetRequest method.
-// req, resp := client.ListChangeBatchesByRRSetRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-func (c *Route53) ListChangeBatchesByRRSetRequest(input *ListChangeBatchesByRRSetInput) (req *request.Request, output *ListChangeBatchesByRRSetOutput) {
- if c.Client.Config.Logger != nil {
- c.Client.Config.Logger.Log("This operation, ListChangeBatchesByRRSet, has been deprecated")
- }
- op := &request.Operation{
- Name: opListChangeBatchesByRRSet,
- HTTPMethod: "GET",
- HTTPPath: "/2013-04-01/hostedzone/{Id}/rrsChanges",
- }
-
- if input == nil {
- input = &ListChangeBatchesByRRSetInput{}
- }
-
- req = c.newRequest(op, input, output)
- output = &ListChangeBatchesByRRSetOutput{}
- req.Data = output
- return
-}
-
-// This action gets the list of ChangeBatches in a given time period for a given
-// hosted zone and RRSet.
-func (c *Route53) ListChangeBatchesByRRSet(input *ListChangeBatchesByRRSetInput) (*ListChangeBatchesByRRSetOutput, error) {
- req, out := c.ListChangeBatchesByRRSetRequest(input)
- err := req.Send()
- return out, err
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) GetTrafficPolicyInstanceCountWithContext(ctx aws.Context, input *GetTrafficPolicyInstanceCountInput, opts ...request.Option) (*GetTrafficPolicyInstanceCountOutput, error) {
+ req, out := c.GetTrafficPolicyInstanceCountRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opListGeoLocations = "ListGeoLocations"
// ListGeoLocationsRequest generates a "aws/request.Request" representing the
// client's request for the ListGeoLocations operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListGeoLocations method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListGeoLocations for more information on using the ListGeoLocations
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListGeoLocationsRequest method.
// req, resp := client.ListGeoLocationsRequest(params)
@@ -1709,6 +3389,7 @@ const opListGeoLocations = "ListGeoLocations"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListGeoLocations
func (c *Route53) ListGeoLocationsRequest(input *ListGeoLocationsInput) (req *request.Request, output *ListGeoLocationsOutput) {
op := &request.Operation{
Name: opListGeoLocations,
@@ -1720,46 +3401,69 @@ func (c *Route53) ListGeoLocationsRequest(input *ListGeoLocationsInput) (req *re
input = &ListGeoLocationsInput{}
}
- req = c.newRequest(op, input, output)
output = &ListGeoLocationsOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// To retrieve a list of supported geo locations, send a GET request to the
-// /Route 53 API version/geolocations resource. The response to this request
-// includes a GeoLocationDetailsList element with zero, one, or multiple GeoLocationDetails
-// child elements. The list is sorted by country code, and then subdivision
-// code, followed by continents at the end of the list.
+// ListGeoLocations API operation for Amazon Route 53.
//
-// By default, the list of geo locations is displayed on a single page. You
-// can control the length of the page that is displayed by using the MaxItems
-// parameter. If the list is truncated, IsTruncated will be set to true and
-// a combination of NextContinentCode, NextCountryCode, NextSubdivisionCode
-// will be populated. You can pass these as parameters to StartContinentCode,
-// StartCountryCode, StartSubdivisionCode to control the geo location that the
-// list begins with.
+// Retrieves a list of supported geo locations.
+//
+// Countries are listed first, and continents are listed last. If Amazon Route
+// 53 supports subdivisions for a country (for example, states or provinces),
+// the subdivisions for that country are listed in alphabetical order immediately
+// after the corresponding country.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation ListGeoLocations for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListGeoLocations
func (c *Route53) ListGeoLocations(input *ListGeoLocationsInput) (*ListGeoLocationsOutput, error) {
req, out := c.ListGeoLocationsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListGeoLocationsWithContext is the same as ListGeoLocations with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListGeoLocations for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) ListGeoLocationsWithContext(ctx aws.Context, input *ListGeoLocationsInput, opts ...request.Option) (*ListGeoLocationsOutput, error) {
+ req, out := c.ListGeoLocationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opListHealthChecks = "ListHealthChecks"
// ListHealthChecksRequest generates a "aws/request.Request" representing the
// client's request for the ListHealthChecks operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListHealthChecks method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListHealthChecks for more information on using the ListHealthChecks
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListHealthChecksRequest method.
// req, resp := client.ListHealthChecksRequest(params)
@@ -1769,6 +3473,7 @@ const opListHealthChecks = "ListHealthChecks"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListHealthChecks
func (c *Route53) ListHealthChecksRequest(input *ListHealthChecksInput) (req *request.Request, output *ListHealthChecksOutput) {
op := &request.Operation{
Name: opListHealthChecks,
@@ -1786,26 +3491,51 @@ func (c *Route53) ListHealthChecksRequest(input *ListHealthChecksInput) (req *re
input = &ListHealthChecksInput{}
}
- req = c.newRequest(op, input, output)
output = &ListHealthChecksOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// To retrieve a list of your health checks, send a GET request to the /Route
-// 53 API version/healthcheck resource. The response to this request includes
-// a HealthChecks element with zero, one, or multiple HealthCheck child elements.
-// By default, the list of health checks is displayed on a single page. You
-// can control the length of the page that is displayed by using the MaxItems
-// parameter. You can use the Marker parameter to control the health check that
-// the list begins with.
+// ListHealthChecks API operation for Amazon Route 53.
//
-// Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to
-// a value greater than 100, Amazon Route 53 returns only the first 100.
+// Retrieve a list of the health checks that are associated with the current
+// AWS account.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation ListHealthChecks for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// * ErrCodeIncompatibleVersion "IncompatibleVersion"
+// The resource you're trying to access is unsupported on this Amazon Route
+// 53 endpoint.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListHealthChecks
func (c *Route53) ListHealthChecks(input *ListHealthChecksInput) (*ListHealthChecksOutput, error) {
req, out := c.ListHealthChecksRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListHealthChecksWithContext is the same as ListHealthChecks with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListHealthChecks for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) ListHealthChecksWithContext(ctx aws.Context, input *ListHealthChecksInput, opts ...request.Option) (*ListHealthChecksOutput, error) {
+ req, out := c.ListHealthChecksRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// ListHealthChecksPages iterates over the pages of a ListHealthChecks operation,
@@ -1825,29 +3555,55 @@ func (c *Route53) ListHealthChecks(input *ListHealthChecksInput) (*ListHealthChe
// return pageNum <= 3
// })
//
-func (c *Route53) ListHealthChecksPages(input *ListHealthChecksInput, fn func(p *ListHealthChecksOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListHealthChecksRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListHealthChecksOutput), lastPage)
- })
+func (c *Route53) ListHealthChecksPages(input *ListHealthChecksInput, fn func(*ListHealthChecksOutput, bool) bool) error {
+ return c.ListHealthChecksPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// ListHealthChecksPagesWithContext same as ListHealthChecksPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) ListHealthChecksPagesWithContext(ctx aws.Context, input *ListHealthChecksInput, fn func(*ListHealthChecksOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *ListHealthChecksInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.ListHealthChecksRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*ListHealthChecksOutput), !p.HasNextPage())
+ }
+ return p.Err()
}
const opListHostedZones = "ListHostedZones"
// ListHostedZonesRequest generates a "aws/request.Request" representing the
// client's request for the ListHostedZones operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListHostedZones method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListHostedZones for more information on using the ListHostedZones
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListHostedZonesRequest method.
// req, resp := client.ListHostedZonesRequest(params)
@@ -1857,6 +3613,7 @@ const opListHostedZones = "ListHostedZones"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListHostedZones
func (c *Route53) ListHostedZonesRequest(input *ListHostedZonesInput) (req *request.Request, output *ListHostedZonesOutput) {
op := &request.Operation{
Name: opListHostedZones,
@@ -1874,26 +3631,58 @@ func (c *Route53) ListHostedZonesRequest(input *ListHostedZonesInput) (req *requ
input = &ListHostedZonesInput{}
}
- req = c.newRequest(op, input, output)
output = &ListHostedZonesOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// To retrieve a list of your hosted zones, send a GET request to the /Route
-// 53 API version/hostedzone resource. The response to this request includes
-// a HostedZones element with zero, one, or multiple HostedZone child elements.
-// By default, the list of hosted zones is displayed on a single page. You can
-// control the length of the page that is displayed by using the MaxItems parameter.
-// You can use the Marker parameter to control the hosted zone that the list
-// begins with.
+// ListHostedZones API operation for Amazon Route 53.
//
-// Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to
-// a value greater than 100, Amazon Route 53 returns only the first 100.
+// Retrieves a list of the public and private hosted zones that are associated
+// with the current AWS account. The response includes a HostedZones child element
+// for each hosted zone.
+//
+// Amazon Route 53 returns a maximum of 100 items in each response. If you have
+// a lot of hosted zones, you can use the maxitems parameter to list them in
+// groups of up to 100.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation ListHostedZones for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// * ErrCodeNoSuchDelegationSet "NoSuchDelegationSet"
+// A reusable delegation set with the specified ID does not exist.
+//
+// * ErrCodeDelegationSetNotReusable "DelegationSetNotReusable"
+// A reusable delegation set with the specified ID does not exist.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListHostedZones
func (c *Route53) ListHostedZones(input *ListHostedZonesInput) (*ListHostedZonesOutput, error) {
req, out := c.ListHostedZonesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListHostedZonesWithContext is the same as ListHostedZones with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListHostedZones for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) ListHostedZonesWithContext(ctx aws.Context, input *ListHostedZonesInput, opts ...request.Option) (*ListHostedZonesOutput, error) {
+ req, out := c.ListHostedZonesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// ListHostedZonesPages iterates over the pages of a ListHostedZones operation,
@@ -1913,29 +3702,55 @@ func (c *Route53) ListHostedZones(input *ListHostedZonesInput) (*ListHostedZones
// return pageNum <= 3
// })
//
-func (c *Route53) ListHostedZonesPages(input *ListHostedZonesInput, fn func(p *ListHostedZonesOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListHostedZonesRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListHostedZonesOutput), lastPage)
- })
+func (c *Route53) ListHostedZonesPages(input *ListHostedZonesInput, fn func(*ListHostedZonesOutput, bool) bool) error {
+ return c.ListHostedZonesPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// ListHostedZonesPagesWithContext same as ListHostedZonesPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) ListHostedZonesPagesWithContext(ctx aws.Context, input *ListHostedZonesInput, fn func(*ListHostedZonesOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *ListHostedZonesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.ListHostedZonesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*ListHostedZonesOutput), !p.HasNextPage())
+ }
+ return p.Err()
}
const opListHostedZonesByName = "ListHostedZonesByName"
// ListHostedZonesByNameRequest generates a "aws/request.Request" representing the
// client's request for the ListHostedZonesByName operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListHostedZonesByName method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListHostedZonesByName for more information on using the ListHostedZonesByName
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListHostedZonesByNameRequest method.
// req, resp := client.ListHostedZonesByNameRequest(params)
@@ -1945,6 +3760,7 @@ const opListHostedZonesByName = "ListHostedZonesByName"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListHostedZonesByName
func (c *Route53) ListHostedZonesByNameRequest(input *ListHostedZonesByNameInput) (req *request.Request, output *ListHostedZonesByNameOutput) {
op := &request.Operation{
Name: opListHostedZonesByName,
@@ -1956,44 +3772,209 @@ func (c *Route53) ListHostedZonesByNameRequest(input *ListHostedZonesByNameInput
input = &ListHostedZonesByNameInput{}
}
- req = c.newRequest(op, input, output)
output = &ListHostedZonesByNameOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// To retrieve a list of your hosted zones in lexicographic order, send a GET
-// request to the /Route 53 API version/hostedzonesbyname resource. The response
-// to this request includes a HostedZones element with zero or more HostedZone
-// child elements lexicographically ordered by DNS name. By default, the list
-// of hosted zones is displayed on a single page. You can control the length
-// of the page that is displayed by using the MaxItems parameter. You can use
-// the DNSName and HostedZoneId parameters to control the hosted zone that the
-// list begins with.
+// ListHostedZonesByName API operation for Amazon Route 53.
//
-// Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to
-// a value greater than 100, Amazon Route 53 returns only the first 100.
+// 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 AWS 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 (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html)
+// in the Amazon Route 53 Developer Guide.
+//
+// Amazon 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 AWS 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 AWS 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.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation ListHostedZonesByName for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// * ErrCodeInvalidDomainName "InvalidDomainName"
+// The specified domain name is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListHostedZonesByName
func (c *Route53) ListHostedZonesByName(input *ListHostedZonesByNameInput) (*ListHostedZonesByNameOutput, error) {
req, out := c.ListHostedZonesByNameRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListHostedZonesByNameWithContext is the same as ListHostedZonesByName with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListHostedZonesByName for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) ListHostedZonesByNameWithContext(ctx aws.Context, input *ListHostedZonesByNameInput, opts ...request.Option) (*ListHostedZonesByNameOutput, error) {
+ req, out := c.ListHostedZonesByNameRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opListQueryLoggingConfigs = "ListQueryLoggingConfigs"
+
+// ListQueryLoggingConfigsRequest generates a "aws/request.Request" representing the
+// client's request for the ListQueryLoggingConfigs operation. The "output" return
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListQueryLoggingConfigs for more information on using the ListQueryLoggingConfigs
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ListQueryLoggingConfigsRequest method.
+// req, resp := client.ListQueryLoggingConfigsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListQueryLoggingConfigs
+func (c *Route53) ListQueryLoggingConfigsRequest(input *ListQueryLoggingConfigsInput) (req *request.Request, output *ListQueryLoggingConfigsOutput) {
+ op := &request.Operation{
+ Name: opListQueryLoggingConfigs,
+ HTTPMethod: "GET",
+ HTTPPath: "/2013-04-01/queryloggingconfig",
+ }
+
+ if input == nil {
+ input = &ListQueryLoggingConfigsInput{}
+ }
+
+ output = &ListQueryLoggingConfigsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ListQueryLoggingConfigs API operation for Amazon Route 53.
+//
+// Lists the configurations for DNS query logging that are associated with the
+// current AWS account or the configuration that is associated with a specified
+// hosted zone.
+//
+// For more information about DNS query logs, see CreateQueryLoggingConfig.
+// Additional information, including the format of DNS query logs, appears in
+// Logging DNS Queries (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html)
+// in the Amazon Route 53 Developer Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation ListQueryLoggingConfigs for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// * ErrCodeInvalidPaginationToken "InvalidPaginationToken"
+// The value that you specified to get the second or subsequent page of results
+// is invalid.
+//
+// * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
+// No hosted zone exists with the ID that you specified.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListQueryLoggingConfigs
+func (c *Route53) ListQueryLoggingConfigs(input *ListQueryLoggingConfigsInput) (*ListQueryLoggingConfigsOutput, error) {
+ req, out := c.ListQueryLoggingConfigsRequest(input)
+ return out, req.Send()
+}
+
+// ListQueryLoggingConfigsWithContext is the same as ListQueryLoggingConfigs with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListQueryLoggingConfigs for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) ListQueryLoggingConfigsWithContext(ctx aws.Context, input *ListQueryLoggingConfigsInput, opts ...request.Option) (*ListQueryLoggingConfigsOutput, error) {
+ req, out := c.ListQueryLoggingConfigsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opListResourceRecordSets = "ListResourceRecordSets"
// ListResourceRecordSetsRequest generates a "aws/request.Request" representing the
// client's request for the ListResourceRecordSets operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListResourceRecordSets method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListResourceRecordSets for more information on using the ListResourceRecordSets
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListResourceRecordSetsRequest method.
// req, resp := client.ListResourceRecordSetsRequest(params)
@@ -2003,6 +3984,7 @@ const opListResourceRecordSets = "ListResourceRecordSets"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListResourceRecordSets
func (c *Route53) ListResourceRecordSetsRequest(input *ListResourceRecordSetsInput) (req *request.Request, output *ListResourceRecordSetsOutput) {
op := &request.Operation{
Name: opListResourceRecordSets,
@@ -2020,49 +4002,87 @@ func (c *Route53) ListResourceRecordSetsRequest(input *ListResourceRecordSetsInp
input = &ListResourceRecordSetsInput{}
}
- req = c.newRequest(op, input, output)
output = &ListResourceRecordSetsOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// List the resource record sets in a specified hosted zone. Send a GET request
-// to the 2013-04-01/hostedzone/hosted zone ID/rrset resource.
+// ListResourceRecordSets API operation for Amazon Route 53.
//
-// ListResourceRecordSets returns up to 100 resource record sets at a time
-// in ASCII order, beginning at a position specified by the name and type elements.
+// Lists the resource record sets in a specified hosted zone.
+//
+// ListResourceRecordSets returns up to 100 resource record sets at a time in
+// ASCII order, beginning at a position specified by the name and type elements.
// The action sorts results first by DNS name with the labels reversed, for
// example:
//
// com.example.www.
//
// Note the trailing dot, which can change the sort order in some circumstances.
+//
// When multiple records have the same DNS name, the action sorts results by
// the record type.
//
-// You can use the name and type elements to adjust the beginning position
-// of the list of resource record sets returned:
+// You can use the name and type elements to adjust the beginning position of
+// the list of resource record sets returned:
//
-// If you do not specify Name or Type: The results begin with the first resource
-// record set that the hosted zone contains. If you specify Name but not Type:
-// The results begin with the first resource record set in the list whose name
-// is greater than or equal to Name. If you specify Type but not Name: Amazon
-// Route 53 returns the InvalidInput error. If you specify both Name and Type:
-// The results begin with the first resource record set in the list whose name
-// is greater than or equal to Name, and whose type is greater than or equal
-// to Type. This action returns the most current version of the records. This
-// includes records that are PENDING, and that are not yet available on all
-// Amazon Route 53 DNS servers.
+// If you do not specify Name or TypeThe results begin with the first resource
+// record set that the hosted zone contains.
+//
+// If you specify Name but not TypeThe results begin with the first resource
+// record set in the list whose name is greater than or equal to Name.
+//
+// If you specify Type but not NameAmazon Route 53 returns the InvalidInput
+// error.
+//
+// If you specify both Name and TypeThe results begin with the first resource
+// record set in the list whose name is greater than or equal to Name, and whose
+// type is greater than or equal to Type.
+//
+// This action returns the most current version of the records. This includes
+// records that are PENDING, and that are not yet available on all Amazon Route
+// 53 DNS servers.
//
// To ensure that you get an accurate listing of the resource record sets for
// a hosted zone at a point in time, do not submit a ChangeResourceRecordSets
-// request while you are paging through the results of a ListResourceRecordSets
+// request while you're paging through the results of a ListResourceRecordSets
// request. If you do, some pages may display results without the latest changes
// while other pages display results with the latest changes.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation ListResourceRecordSets for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
+// No hosted zone exists with the ID that you specified.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListResourceRecordSets
func (c *Route53) ListResourceRecordSets(input *ListResourceRecordSetsInput) (*ListResourceRecordSetsOutput, error) {
req, out := c.ListResourceRecordSetsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListResourceRecordSetsWithContext is the same as ListResourceRecordSets with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListResourceRecordSets for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) ListResourceRecordSetsWithContext(ctx aws.Context, input *ListResourceRecordSetsInput, opts ...request.Option) (*ListResourceRecordSetsOutput, error) {
+ req, out := c.ListResourceRecordSetsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// ListResourceRecordSetsPages iterates over the pages of a ListResourceRecordSets operation,
@@ -2082,29 +4102,55 @@ func (c *Route53) ListResourceRecordSets(input *ListResourceRecordSetsInput) (*L
// return pageNum <= 3
// })
//
-func (c *Route53) ListResourceRecordSetsPages(input *ListResourceRecordSetsInput, fn func(p *ListResourceRecordSetsOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListResourceRecordSetsRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListResourceRecordSetsOutput), lastPage)
- })
+func (c *Route53) ListResourceRecordSetsPages(input *ListResourceRecordSetsInput, fn func(*ListResourceRecordSetsOutput, bool) bool) error {
+ return c.ListResourceRecordSetsPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// ListResourceRecordSetsPagesWithContext same as ListResourceRecordSetsPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) ListResourceRecordSetsPagesWithContext(ctx aws.Context, input *ListResourceRecordSetsInput, fn func(*ListResourceRecordSetsOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *ListResourceRecordSetsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.ListResourceRecordSetsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*ListResourceRecordSetsOutput), !p.HasNextPage())
+ }
+ return p.Err()
}
const opListReusableDelegationSets = "ListReusableDelegationSets"
// ListReusableDelegationSetsRequest generates a "aws/request.Request" representing the
// client's request for the ListReusableDelegationSets operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListReusableDelegationSets method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListReusableDelegationSets for more information on using the ListReusableDelegationSets
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListReusableDelegationSetsRequest method.
// req, resp := client.ListReusableDelegationSetsRequest(params)
@@ -2114,6 +4160,7 @@ const opListReusableDelegationSets = "ListReusableDelegationSets"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListReusableDelegationSets
func (c *Route53) ListReusableDelegationSetsRequest(input *ListReusableDelegationSetsInput) (req *request.Request, output *ListReusableDelegationSetsOutput) {
op := &request.Operation{
Name: opListReusableDelegationSets,
@@ -2125,43 +4172,65 @@ func (c *Route53) ListReusableDelegationSetsRequest(input *ListReusableDelegatio
input = &ListReusableDelegationSetsInput{}
}
- req = c.newRequest(op, input, output)
output = &ListReusableDelegationSetsOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// To retrieve a list of your reusable delegation sets, send a GET request to
-// the /Route 53 API version/delegationset resource. The response to this request
-// includes a DelegationSets element with zero, one, or multiple DelegationSet
-// child elements. By default, the list of delegation sets is displayed on a
-// single page. You can control the length of the page that is displayed by
-// using the MaxItems parameter. You can use the Marker parameter to control
-// the delegation set that the list begins with.
+// ListReusableDelegationSets API operation for Amazon Route 53.
//
-// Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to
-// a value greater than 100, Amazon Route 53 returns only the first 100.
+// Retrieves a list of the reusable delegation sets that are associated with
+// the current AWS account.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation ListReusableDelegationSets for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListReusableDelegationSets
func (c *Route53) ListReusableDelegationSets(input *ListReusableDelegationSetsInput) (*ListReusableDelegationSetsOutput, error) {
req, out := c.ListReusableDelegationSetsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListReusableDelegationSetsWithContext is the same as ListReusableDelegationSets with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListReusableDelegationSets for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) ListReusableDelegationSetsWithContext(ctx aws.Context, input *ListReusableDelegationSetsInput, opts ...request.Option) (*ListReusableDelegationSetsOutput, error) {
+ req, out := c.ListReusableDelegationSetsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opListTagsForResource = "ListTagsForResource"
// ListTagsForResourceRequest generates a "aws/request.Request" representing the
// client's request for the ListTagsForResource operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListTagsForResource method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListTagsForResource for more information on using the ListTagsForResource
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListTagsForResourceRequest method.
// req, resp := client.ListTagsForResourceRequest(params)
@@ -2171,6 +4240,7 @@ const opListTagsForResource = "ListTagsForResource"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTagsForResource
func (c *Route53) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
op := &request.Operation{
Name: opListTagsForResource,
@@ -2182,33 +4252,85 @@ func (c *Route53) ListTagsForResourceRequest(input *ListTagsForResourceInput) (r
input = &ListTagsForResourceInput{}
}
- req = c.newRequest(op, input, output)
output = &ListTagsForResourceOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// ListTagsForResource API operation for Amazon Route 53.
+//
+// Lists tags for one health check or hosted zone.
+//
+// For information about using tags for cost allocation, see Using Cost Allocation
+// Tags (http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)
+// in the AWS Billing and Cost Management User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation ListTagsForResource for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// * ErrCodeNoSuchHealthCheck "NoSuchHealthCheck"
+// No health check exists with the ID that you specified in the DeleteHealthCheck
+// request.
+//
+// * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
+// No hosted zone exists with the ID that you specified.
+//
+// * ErrCodePriorRequestNotComplete "PriorRequestNotComplete"
+// If Amazon Route 53 can't process a request before the next request arrives,
+// it will reject subsequent requests for the same hosted zone and return an
+// HTTP 400 error (Bad request). If Amazon Route 53 returns this error repeatedly
+// for the same request, we recommend that you wait, in intervals of increasing
+// duration, before you try the request again.
+//
+// * ErrCodeThrottlingException "ThrottlingException"
+// The limit on the number of requests per second was exceeded.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTagsForResource
func (c *Route53) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
req, out := c.ListTagsForResourceRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListTagsForResource for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
+ req, out := c.ListTagsForResourceRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opListTagsForResources = "ListTagsForResources"
// ListTagsForResourcesRequest generates a "aws/request.Request" representing the
// client's request for the ListTagsForResources operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListTagsForResources method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListTagsForResources for more information on using the ListTagsForResources
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListTagsForResourcesRequest method.
// req, resp := client.ListTagsForResourcesRequest(params)
@@ -2218,6 +4340,7 @@ const opListTagsForResources = "ListTagsForResources"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTagsForResources
func (c *Route53) ListTagsForResourcesRequest(input *ListTagsForResourcesInput) (req *request.Request, output *ListTagsForResourcesOutput) {
op := &request.Operation{
Name: opListTagsForResources,
@@ -2229,33 +4352,85 @@ func (c *Route53) ListTagsForResourcesRequest(input *ListTagsForResourcesInput)
input = &ListTagsForResourcesInput{}
}
- req = c.newRequest(op, input, output)
output = &ListTagsForResourcesOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// ListTagsForResources API operation for Amazon Route 53.
+//
+// Lists tags for up to 10 health checks or hosted zones.
+//
+// For information about using tags for cost allocation, see Using Cost Allocation
+// Tags (http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)
+// in the AWS Billing and Cost Management User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation ListTagsForResources for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// * ErrCodeNoSuchHealthCheck "NoSuchHealthCheck"
+// No health check exists with the ID that you specified in the DeleteHealthCheck
+// request.
+//
+// * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
+// No hosted zone exists with the ID that you specified.
+//
+// * ErrCodePriorRequestNotComplete "PriorRequestNotComplete"
+// If Amazon Route 53 can't process a request before the next request arrives,
+// it will reject subsequent requests for the same hosted zone and return an
+// HTTP 400 error (Bad request). If Amazon Route 53 returns this error repeatedly
+// for the same request, we recommend that you wait, in intervals of increasing
+// duration, before you try the request again.
+//
+// * ErrCodeThrottlingException "ThrottlingException"
+// The limit on the number of requests per second was exceeded.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTagsForResources
func (c *Route53) ListTagsForResources(input *ListTagsForResourcesInput) (*ListTagsForResourcesOutput, error) {
req, out := c.ListTagsForResourcesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListTagsForResourcesWithContext is the same as ListTagsForResources with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListTagsForResources for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) ListTagsForResourcesWithContext(ctx aws.Context, input *ListTagsForResourcesInput, opts ...request.Option) (*ListTagsForResourcesOutput, error) {
+ req, out := c.ListTagsForResourcesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opListTrafficPolicies = "ListTrafficPolicies"
// ListTrafficPoliciesRequest generates a "aws/request.Request" representing the
// client's request for the ListTrafficPolicies operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListTrafficPolicies method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListTrafficPolicies for more information on using the ListTrafficPolicies
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListTrafficPoliciesRequest method.
// req, resp := client.ListTrafficPoliciesRequest(params)
@@ -2265,6 +4440,7 @@ const opListTrafficPolicies = "ListTrafficPolicies"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicies
func (c *Route53) ListTrafficPoliciesRequest(input *ListTrafficPoliciesInput) (req *request.Request, output *ListTrafficPoliciesOutput) {
op := &request.Operation{
Name: opListTrafficPolicies,
@@ -2276,61 +4452,66 @@ func (c *Route53) ListTrafficPoliciesRequest(input *ListTrafficPoliciesInput) (r
input = &ListTrafficPoliciesInput{}
}
- req = c.newRequest(op, input, output)
output = &ListTrafficPoliciesOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// ListTrafficPolicies API operation for Amazon Route 53.
+//
// Gets information about the latest version for every traffic policy that is
-// associated with the current AWS account. To get the information, send a GET
-// request to the /Route 53 API version/trafficpolicy resource.
+// associated with the current AWS account. Policies are listed in the order
+// in which they were created.
//
-// Amazon Route 53 returns a maximum of 100 items in each response. If you
-// have a lot of traffic policies, you can use the maxitems parameter to list
-// them in groups of up to 100.
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
//
-// The response includes three values that help you navigate from one group
-// of maxitems traffic policies to the next:
+// See the AWS API reference guide for Amazon Route 53's
+// API operation ListTrafficPolicies for usage and error information.
//
-// IsTruncated If the value of IsTruncated in the response is true, there
-// are more traffic policies associated with the current AWS account.
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
//
-// If IsTruncated is false, this response includes the last traffic policy
-// that is associated with the current account.
-//
-// TrafficPolicyIdMarker If IsTruncated is true, TrafficPolicyIdMarker is the
-// ID of the first traffic policy in the next group of MaxItems traffic policies.
-// If you want to list more traffic policies, make another call to ListTrafficPolicies,
-// and specify the value of the TrafficPolicyIdMarker element from the response
-// in the TrafficPolicyIdMarker request parameter.
-//
-// If IsTruncated is false, the TrafficPolicyIdMarker element is omitted from
-// the response.
-//
-// MaxItems The value that you specified for the MaxItems parameter in the
-// request that produced the current response.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicies
func (c *Route53) ListTrafficPolicies(input *ListTrafficPoliciesInput) (*ListTrafficPoliciesOutput, error) {
req, out := c.ListTrafficPoliciesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListTrafficPoliciesWithContext is the same as ListTrafficPolicies with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListTrafficPolicies for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) ListTrafficPoliciesWithContext(ctx aws.Context, input *ListTrafficPoliciesInput, opts ...request.Option) (*ListTrafficPoliciesOutput, error) {
+ req, out := c.ListTrafficPoliciesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opListTrafficPolicyInstances = "ListTrafficPolicyInstances"
// ListTrafficPolicyInstancesRequest generates a "aws/request.Request" representing the
// client's request for the ListTrafficPolicyInstances operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListTrafficPolicyInstances method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListTrafficPolicyInstances for more information on using the ListTrafficPolicyInstances
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListTrafficPolicyInstancesRequest method.
// req, resp := client.ListTrafficPolicyInstancesRequest(params)
@@ -2340,6 +4521,7 @@ const opListTrafficPolicyInstances = "ListTrafficPolicyInstances"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyInstances
func (c *Route53) ListTrafficPolicyInstancesRequest(input *ListTrafficPolicyInstancesInput) (req *request.Request, output *ListTrafficPolicyInstancesOutput) {
op := &request.Operation{
Name: opListTrafficPolicyInstances,
@@ -2351,66 +4533,77 @@ func (c *Route53) ListTrafficPolicyInstancesRequest(input *ListTrafficPolicyInst
input = &ListTrafficPolicyInstancesInput{}
}
- req = c.newRequest(op, input, output)
output = &ListTrafficPolicyInstancesOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// ListTrafficPolicyInstances API operation for Amazon Route 53.
+//
// Gets information about the traffic policy instances that you created by using
// the current AWS account.
//
// After you submit an UpdateTrafficPolicyInstance request, there's a brief
// delay while Amazon Route 53 creates the resource record sets that are specified
// in the traffic policy definition. For more information, see the State response
-// element. To get information about the traffic policy instances that are associated
-// with the current AWS account, send a GET request to the /Route 53 API version/trafficpolicyinstance
-// resource.
+// element.
//
-// Amazon Route 53 returns a maximum of 100 items in each response. If you
-// have a lot of traffic policy instances, you can use the MaxItems parameter
-// to list them in groups of up to 100.
+// Amazon Route 53 returns a maximum of 100 items in each response. If you have
+// a lot of traffic policy instances, you can use the MaxItems parameter to
+// list them in groups of up to 100.
//
-// The response includes five values that help you navigate from one group
-// of MaxItems traffic policy instances to the next:
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
//
-// IsTruncated If the value of IsTruncated in the response is true, there
-// are more traffic policy instances associated with the current AWS account.
+// See the AWS API reference guide for Amazon Route 53's
+// API operation ListTrafficPolicyInstances for usage and error information.
//
-// If IsTruncated is false, this response includes the last traffic policy
-// instance that is associated with the current account.
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
//
-// MaxItems The value that you specified for the MaxItems parameter in the
-// request that produced the current response.
+// * ErrCodeNoSuchTrafficPolicyInstance "NoSuchTrafficPolicyInstance"
+// No traffic policy instance exists with the specified ID.
//
-// HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker
-// If IsTruncated is true, these three values in the response represent the
-// first traffic policy instance in the next group of MaxItems traffic policy
-// instances. To list more traffic policy instances, make another call to ListTrafficPolicyInstances,
-// and specify these values in the corresponding request parameters.
-//
-// If IsTruncated is false, all three elements are omitted from the response.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyInstances
func (c *Route53) ListTrafficPolicyInstances(input *ListTrafficPolicyInstancesInput) (*ListTrafficPolicyInstancesOutput, error) {
req, out := c.ListTrafficPolicyInstancesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListTrafficPolicyInstancesWithContext is the same as ListTrafficPolicyInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListTrafficPolicyInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) ListTrafficPolicyInstancesWithContext(ctx aws.Context, input *ListTrafficPolicyInstancesInput, opts ...request.Option) (*ListTrafficPolicyInstancesOutput, error) {
+ req, out := c.ListTrafficPolicyInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opListTrafficPolicyInstancesByHostedZone = "ListTrafficPolicyInstancesByHostedZone"
// ListTrafficPolicyInstancesByHostedZoneRequest generates a "aws/request.Request" representing the
// client's request for the ListTrafficPolicyInstancesByHostedZone operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListTrafficPolicyInstancesByHostedZone method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListTrafficPolicyInstancesByHostedZone for more information on using the ListTrafficPolicyInstancesByHostedZone
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListTrafficPolicyInstancesByHostedZoneRequest method.
// req, resp := client.ListTrafficPolicyInstancesByHostedZoneRequest(params)
@@ -2420,6 +4613,7 @@ const opListTrafficPolicyInstancesByHostedZone = "ListTrafficPolicyInstancesByHo
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyInstancesByHostedZone
func (c *Route53) ListTrafficPolicyInstancesByHostedZoneRequest(input *ListTrafficPolicyInstancesByHostedZoneInput) (req *request.Request, output *ListTrafficPolicyInstancesByHostedZoneOutput) {
op := &request.Operation{
Name: opListTrafficPolicyInstancesByHostedZone,
@@ -2431,66 +4625,80 @@ func (c *Route53) ListTrafficPolicyInstancesByHostedZoneRequest(input *ListTraff
input = &ListTrafficPolicyInstancesByHostedZoneInput{}
}
- req = c.newRequest(op, input, output)
output = &ListTrafficPolicyInstancesByHostedZoneOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// ListTrafficPolicyInstancesByHostedZone API operation for Amazon Route 53.
+//
// Gets information about the traffic policy instances that you created in a
// specified hosted zone.
//
-// After you submit an UpdateTrafficPolicyInstance request, there's a brief
-// delay while Amazon Route 53 creates the resource record sets that are specified
-// in the traffic policy definition. For more information, see the State response
-// element. To get information about the traffic policy instances that you created
-// in a specified hosted zone, send a GET request to the /Route 53 API version/trafficpolicyinstance
-// resource and include the ID of the hosted zone.
+// After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance
+// request, there's a brief delay while Amazon Route 53 creates the resource
+// record sets that are specified in the traffic policy definition. For more
+// information, see the State response element.
//
-// Amazon Route 53 returns a maximum of 100 items in each response. If you
-// have a lot of traffic policy instances, you can use the MaxItems parameter
-// to list them in groups of up to 100.
+// Amazon Route 53 returns a maximum of 100 items in each response. If you have
+// a lot of traffic policy instances, you can use the MaxItems parameter to
+// list them in groups of up to 100.
//
-// The response includes four values that help you navigate from one group
-// of MaxItems traffic policy instances to the next:
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
//
-// IsTruncated If the value of IsTruncated in the response is true, there
-// are more traffic policy instances associated with the current AWS account.
+// See the AWS API reference guide for Amazon Route 53's
+// API operation ListTrafficPolicyInstancesByHostedZone for usage and error information.
//
-// If IsTruncated is false, this response includes the last traffic policy
-// instance that is associated with the current account.
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
//
-// MaxItems The value that you specified for the MaxItems parameter in the
-// request that produced the current response.
+// * ErrCodeNoSuchTrafficPolicyInstance "NoSuchTrafficPolicyInstance"
+// No traffic policy instance exists with the specified ID.
//
-// TrafficPolicyInstanceNameMarker and TrafficPolicyInstanceTypeMarker If IsTruncated
-// is true, these two values in the response represent the first traffic policy
-// instance in the next group of MaxItems traffic policy instances. To list
-// more traffic policy instances, make another call to ListTrafficPolicyInstancesByHostedZone,
-// and specify these values in the corresponding request parameters.
+// * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
+// No hosted zone exists with the ID that you specified.
//
-// If IsTruncated is false, all three elements are omitted from the response.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyInstancesByHostedZone
func (c *Route53) ListTrafficPolicyInstancesByHostedZone(input *ListTrafficPolicyInstancesByHostedZoneInput) (*ListTrafficPolicyInstancesByHostedZoneOutput, error) {
req, out := c.ListTrafficPolicyInstancesByHostedZoneRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListTrafficPolicyInstancesByHostedZoneWithContext is the same as ListTrafficPolicyInstancesByHostedZone with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListTrafficPolicyInstancesByHostedZone for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) ListTrafficPolicyInstancesByHostedZoneWithContext(ctx aws.Context, input *ListTrafficPolicyInstancesByHostedZoneInput, opts ...request.Option) (*ListTrafficPolicyInstancesByHostedZoneOutput, error) {
+ req, out := c.ListTrafficPolicyInstancesByHostedZoneRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opListTrafficPolicyInstancesByPolicy = "ListTrafficPolicyInstancesByPolicy"
// ListTrafficPolicyInstancesByPolicyRequest generates a "aws/request.Request" representing the
// client's request for the ListTrafficPolicyInstancesByPolicy operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListTrafficPolicyInstancesByPolicy method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListTrafficPolicyInstancesByPolicy for more information on using the ListTrafficPolicyInstancesByPolicy
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListTrafficPolicyInstancesByPolicyRequest method.
// req, resp := client.ListTrafficPolicyInstancesByPolicyRequest(params)
@@ -2500,6 +4708,7 @@ const opListTrafficPolicyInstancesByPolicy = "ListTrafficPolicyInstancesByPolicy
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyInstancesByPolicy
func (c *Route53) ListTrafficPolicyInstancesByPolicyRequest(input *ListTrafficPolicyInstancesByPolicyInput) (req *request.Request, output *ListTrafficPolicyInstancesByPolicyOutput) {
op := &request.Operation{
Name: opListTrafficPolicyInstancesByPolicy,
@@ -2511,67 +4720,80 @@ func (c *Route53) ListTrafficPolicyInstancesByPolicyRequest(input *ListTrafficPo
input = &ListTrafficPolicyInstancesByPolicyInput{}
}
- req = c.newRequest(op, input, output)
output = &ListTrafficPolicyInstancesByPolicyOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// ListTrafficPolicyInstancesByPolicy API operation for Amazon Route 53.
+//
// Gets information about the traffic policy instances that you created by using
// a specify traffic policy version.
//
// After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance
// request, there's a brief delay while Amazon Route 53 creates the resource
// record sets that are specified in the traffic policy definition. For more
-// information, see the State response element. To get information about the
-// traffic policy instances that you created by using a specify traffic policy
-// version, send a GET request to the /Route 53 API version/trafficpolicyinstance
-// resource and include the ID and version of the traffic policy.
+// information, see the State response element.
//
-// Amazon Route 53 returns a maximum of 100 items in each response. If you
-// have a lot of traffic policy instances, you can use the MaxItems parameter
-// to list them in groups of up to 100.
+// Amazon Route 53 returns a maximum of 100 items in each response. If you have
+// a lot of traffic policy instances, you can use the MaxItems parameter to
+// list them in groups of up to 100.
//
-// The response includes five values that help you navigate from one group
-// of MaxItems traffic policy instances to the next:
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
//
-// IsTruncated If the value of IsTruncated in the response is true, there
-// are more traffic policy instances associated with the specified traffic policy.
+// See the AWS API reference guide for Amazon Route 53's
+// API operation ListTrafficPolicyInstancesByPolicy for usage and error information.
//
-// If IsTruncated is false, this response includes the last traffic policy
-// instance that is associated with the specified traffic policy.
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
//
-// MaxItems The value that you specified for the MaxItems parameter in the
-// request that produced the current response.
+// * ErrCodeNoSuchTrafficPolicyInstance "NoSuchTrafficPolicyInstance"
+// No traffic policy instance exists with the specified ID.
//
-// HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker
-// If IsTruncated is true, these values in the response represent the first
-// traffic policy instance in the next group of MaxItems traffic policy instances.
-// To list more traffic policy instances, make another call to ListTrafficPolicyInstancesByPolicy,
-// and specify these values in the corresponding request parameters.
+// * ErrCodeNoSuchTrafficPolicy "NoSuchTrafficPolicy"
+// No traffic policy exists with the specified ID.
//
-// If IsTruncated is false, all three elements are omitted from the response.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyInstancesByPolicy
func (c *Route53) ListTrafficPolicyInstancesByPolicy(input *ListTrafficPolicyInstancesByPolicyInput) (*ListTrafficPolicyInstancesByPolicyOutput, error) {
req, out := c.ListTrafficPolicyInstancesByPolicyRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListTrafficPolicyInstancesByPolicyWithContext is the same as ListTrafficPolicyInstancesByPolicy with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListTrafficPolicyInstancesByPolicy for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) ListTrafficPolicyInstancesByPolicyWithContext(ctx aws.Context, input *ListTrafficPolicyInstancesByPolicyInput, opts ...request.Option) (*ListTrafficPolicyInstancesByPolicyOutput, error) {
+ req, out := c.ListTrafficPolicyInstancesByPolicyRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opListTrafficPolicyVersions = "ListTrafficPolicyVersions"
// ListTrafficPolicyVersionsRequest generates a "aws/request.Request" representing the
// client's request for the ListTrafficPolicyVersions operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListTrafficPolicyVersions method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListTrafficPolicyVersions for more information on using the ListTrafficPolicyVersions
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListTrafficPolicyVersionsRequest method.
// req, resp := client.ListTrafficPolicyVersionsRequest(params)
@@ -2581,6 +4803,7 @@ const opListTrafficPolicyVersions = "ListTrafficPolicyVersions"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyVersions
func (c *Route53) ListTrafficPolicyVersionsRequest(input *ListTrafficPolicyVersionsInput) (req *request.Request, output *ListTrafficPolicyVersionsOutput) {
op := &request.Operation{
Name: opListTrafficPolicyVersions,
@@ -2592,60 +4815,244 @@ func (c *Route53) ListTrafficPolicyVersionsRequest(input *ListTrafficPolicyVersi
input = &ListTrafficPolicyVersionsInput{}
}
- req = c.newRequest(op, input, output)
output = &ListTrafficPolicyVersionsOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// ListTrafficPolicyVersions API operation for Amazon Route 53.
+//
// Gets information about all of the versions for a specified traffic policy.
-// ListTrafficPolicyVersions lists only versions that have not been deleted.
//
-// Amazon Route 53 returns a maximum of 100 items in each response. If you
-// have a lot of traffic policies, you can use the maxitems parameter to list
-// them in groups of up to 100.
+// Traffic policy versions are listed in numerical order by VersionNumber.
//
-// The response includes three values that help you navigate from one group
-// of maxitemsmaxitems traffic policies to the next:
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
//
-// IsTruncated If the value of IsTruncated in the response is true, there
-// are more traffic policy versions associated with the specified traffic policy.
+// See the AWS API reference guide for Amazon Route 53's
+// API operation ListTrafficPolicyVersions for usage and error information.
//
-// If IsTruncated is false, this response includes the last traffic policy
-// version that is associated with the specified traffic policy.
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
//
-// TrafficPolicyVersionMarker The ID of the next traffic policy version that
-// is associated with the current AWS account. If you want to list more traffic
-// policies, make another call to ListTrafficPolicyVersions, and specify the
-// value of the TrafficPolicyVersionMarker element in the TrafficPolicyVersionMarker
-// request parameter.
+// * ErrCodeNoSuchTrafficPolicy "NoSuchTrafficPolicy"
+// No traffic policy exists with the specified ID.
//
-// If IsTruncated is false, Amazon Route 53 omits the TrafficPolicyVersionMarker
-// element from the response.
-//
-// MaxItems The value that you specified for the MaxItems parameter in the
-// request that produced the current response.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyVersions
func (c *Route53) ListTrafficPolicyVersions(input *ListTrafficPolicyVersionsInput) (*ListTrafficPolicyVersionsOutput, error) {
req, out := c.ListTrafficPolicyVersionsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListTrafficPolicyVersionsWithContext is the same as ListTrafficPolicyVersions with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListTrafficPolicyVersions for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) ListTrafficPolicyVersionsWithContext(ctx aws.Context, input *ListTrafficPolicyVersionsInput, opts ...request.Option) (*ListTrafficPolicyVersionsOutput, error) {
+ req, out := c.ListTrafficPolicyVersionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opListVPCAssociationAuthorizations = "ListVPCAssociationAuthorizations"
+
+// ListVPCAssociationAuthorizationsRequest generates a "aws/request.Request" representing the
+// client's request for the ListVPCAssociationAuthorizations operation. The "output" return
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListVPCAssociationAuthorizations for more information on using the ListVPCAssociationAuthorizations
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ListVPCAssociationAuthorizationsRequest method.
+// req, resp := client.ListVPCAssociationAuthorizationsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListVPCAssociationAuthorizations
+func (c *Route53) ListVPCAssociationAuthorizationsRequest(input *ListVPCAssociationAuthorizationsInput) (req *request.Request, output *ListVPCAssociationAuthorizationsOutput) {
+ op := &request.Operation{
+ Name: opListVPCAssociationAuthorizations,
+ HTTPMethod: "GET",
+ HTTPPath: "/2013-04-01/hostedzone/{Id}/authorizevpcassociation",
+ }
+
+ if input == nil {
+ input = &ListVPCAssociationAuthorizationsInput{}
+ }
+
+ output = &ListVPCAssociationAuthorizationsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ListVPCAssociationAuthorizations API operation for Amazon Route 53.
+//
+// Gets a list of the VPCs that were created by other accounts and that can
+// be associated with a specified hosted zone because you've submitted one or
+// more CreateVPCAssociationAuthorization requests.
+//
+// The response includes a VPCs element with a VPC child element for each VPC
+// that can be associated with the hosted zone.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation ListVPCAssociationAuthorizations for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
+// No hosted zone exists with the ID that you specified.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// * ErrCodeInvalidPaginationToken "InvalidPaginationToken"
+// The value that you specified to get the second or subsequent page of results
+// is invalid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListVPCAssociationAuthorizations
+func (c *Route53) ListVPCAssociationAuthorizations(input *ListVPCAssociationAuthorizationsInput) (*ListVPCAssociationAuthorizationsOutput, error) {
+ req, out := c.ListVPCAssociationAuthorizationsRequest(input)
+ return out, req.Send()
+}
+
+// ListVPCAssociationAuthorizationsWithContext is the same as ListVPCAssociationAuthorizations with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListVPCAssociationAuthorizations for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) ListVPCAssociationAuthorizationsWithContext(ctx aws.Context, input *ListVPCAssociationAuthorizationsInput, opts ...request.Option) (*ListVPCAssociationAuthorizationsOutput, error) {
+ req, out := c.ListVPCAssociationAuthorizationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opTestDNSAnswer = "TestDNSAnswer"
+
+// TestDNSAnswerRequest generates a "aws/request.Request" representing the
+// client's request for the TestDNSAnswer operation. The "output" return
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See TestDNSAnswer for more information on using the TestDNSAnswer
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the TestDNSAnswerRequest method.
+// req, resp := client.TestDNSAnswerRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/TestDNSAnswer
+func (c *Route53) TestDNSAnswerRequest(input *TestDNSAnswerInput) (req *request.Request, output *TestDNSAnswerOutput) {
+ op := &request.Operation{
+ Name: opTestDNSAnswer,
+ HTTPMethod: "GET",
+ HTTPPath: "/2013-04-01/testdnsanswer",
+ }
+
+ if input == nil {
+ input = &TestDNSAnswerInput{}
+ }
+
+ output = &TestDNSAnswerOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// TestDNSAnswer API operation for Amazon Route 53.
+//
+// Gets the value that Amazon Route 53 returns in response to a DNS request
+// for a specified record name and type. You can optionally specify the IP address
+// of a DNS resolver, an EDNS0 client subnet IP address, and a subnet mask.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation TestDNSAnswer for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
+// No hosted zone exists with the ID that you specified.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/TestDNSAnswer
+func (c *Route53) TestDNSAnswer(input *TestDNSAnswerInput) (*TestDNSAnswerOutput, error) {
+ req, out := c.TestDNSAnswerRequest(input)
+ return out, req.Send()
+}
+
+// TestDNSAnswerWithContext is the same as TestDNSAnswer with the addition of
+// the ability to pass a context and additional request options.
+//
+// See TestDNSAnswer for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) TestDNSAnswerWithContext(ctx aws.Context, input *TestDNSAnswerInput, opts ...request.Option) (*TestDNSAnswerOutput, error) {
+ req, out := c.TestDNSAnswerRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opUpdateHealthCheck = "UpdateHealthCheck"
// UpdateHealthCheckRequest generates a "aws/request.Request" representing the
// client's request for the UpdateHealthCheck operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the UpdateHealthCheck method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See UpdateHealthCheck for more information on using the UpdateHealthCheck
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the UpdateHealthCheckRequest method.
// req, resp := client.UpdateHealthCheckRequest(params)
@@ -2655,6 +5062,7 @@ const opUpdateHealthCheck = "UpdateHealthCheck"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateHealthCheck
func (c *Route53) UpdateHealthCheckRequest(input *UpdateHealthCheckInput) (req *request.Request, output *UpdateHealthCheckOutput) {
op := &request.Operation{
Name: opUpdateHealthCheck,
@@ -2666,39 +5074,76 @@ func (c *Route53) UpdateHealthCheckRequest(input *UpdateHealthCheckInput) (req *
input = &UpdateHealthCheckInput{}
}
- req = c.newRequest(op, input, output)
output = &UpdateHealthCheckOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// This action updates an existing health check.
+// UpdateHealthCheck API operation for Amazon Route 53.
//
-// To update a health check, send a POST request to the /Route 53 API version/healthcheck/health
-// check ID resource. The request body must include a document with an UpdateHealthCheckRequest
-// element. The response returns an UpdateHealthCheckResponse element, which
-// contains metadata about the health check.
+// Updates an existing health check. Note that some values can't be updated.
+//
+// For more information about updating health checks, see Creating, Updating,
+// and Deleting Health Checks (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-creating-deleting.html)
+// in the Amazon Route 53 Developer Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation UpdateHealthCheck for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchHealthCheck "NoSuchHealthCheck"
+// No health check exists with the ID that you specified in the DeleteHealthCheck
+// request.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// * ErrCodeHealthCheckVersionMismatch "HealthCheckVersionMismatch"
+// The value of HealthCheckVersion in the request doesn't match the value of
+// HealthCheckVersion in the health check.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateHealthCheck
func (c *Route53) UpdateHealthCheck(input *UpdateHealthCheckInput) (*UpdateHealthCheckOutput, error) {
req, out := c.UpdateHealthCheckRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// UpdateHealthCheckWithContext is the same as UpdateHealthCheck with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UpdateHealthCheck for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) UpdateHealthCheckWithContext(ctx aws.Context, input *UpdateHealthCheckInput, opts ...request.Option) (*UpdateHealthCheckOutput, error) {
+ req, out := c.UpdateHealthCheckRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opUpdateHostedZoneComment = "UpdateHostedZoneComment"
// UpdateHostedZoneCommentRequest generates a "aws/request.Request" representing the
// client's request for the UpdateHostedZoneComment operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the UpdateHostedZoneComment method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See UpdateHostedZoneComment for more information on using the UpdateHostedZoneComment
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the UpdateHostedZoneCommentRequest method.
// req, resp := client.UpdateHostedZoneCommentRequest(params)
@@ -2708,6 +5153,7 @@ const opUpdateHostedZoneComment = "UpdateHostedZoneComment"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateHostedZoneComment
func (c *Route53) UpdateHostedZoneCommentRequest(input *UpdateHostedZoneCommentInput) (req *request.Request, output *UpdateHostedZoneCommentOutput) {
op := &request.Operation{
Name: opUpdateHostedZoneComment,
@@ -2719,39 +5165,67 @@ func (c *Route53) UpdateHostedZoneCommentRequest(input *UpdateHostedZoneCommentI
input = &UpdateHostedZoneCommentInput{}
}
- req = c.newRequest(op, input, output)
output = &UpdateHostedZoneCommentOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// To update the hosted zone comment, send a POST request to the /Route 53 API
-// version/hostedzone/hosted zone ID resource. The request body must include
-// a document with a UpdateHostedZoneCommentRequest element. The response to
-// this request includes the modified HostedZone element.
+// UpdateHostedZoneComment API operation for Amazon Route 53.
//
-// The comment can have a maximum length of 256 characters.
+// Updates the comment for a specified hosted zone.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation UpdateHostedZoneComment for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchHostedZone "NoSuchHostedZone"
+// No hosted zone exists with the ID that you specified.
+//
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateHostedZoneComment
func (c *Route53) UpdateHostedZoneComment(input *UpdateHostedZoneCommentInput) (*UpdateHostedZoneCommentOutput, error) {
req, out := c.UpdateHostedZoneCommentRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// UpdateHostedZoneCommentWithContext is the same as UpdateHostedZoneComment with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UpdateHostedZoneComment for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) UpdateHostedZoneCommentWithContext(ctx aws.Context, input *UpdateHostedZoneCommentInput, opts ...request.Option) (*UpdateHostedZoneCommentOutput, error) {
+ req, out := c.UpdateHostedZoneCommentRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opUpdateTrafficPolicyComment = "UpdateTrafficPolicyComment"
// UpdateTrafficPolicyCommentRequest generates a "aws/request.Request" representing the
// client's request for the UpdateTrafficPolicyComment operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the UpdateTrafficPolicyComment method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See UpdateTrafficPolicyComment for more information on using the UpdateTrafficPolicyComment
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the UpdateTrafficPolicyCommentRequest method.
// req, resp := client.UpdateTrafficPolicyCommentRequest(params)
@@ -2761,6 +5235,7 @@ const opUpdateTrafficPolicyComment = "UpdateTrafficPolicyComment"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateTrafficPolicyComment
func (c *Route53) UpdateTrafficPolicyCommentRequest(input *UpdateTrafficPolicyCommentInput) (req *request.Request, output *UpdateTrafficPolicyCommentOutput) {
op := &request.Operation{
Name: opUpdateTrafficPolicyComment,
@@ -2772,40 +5247,71 @@ func (c *Route53) UpdateTrafficPolicyCommentRequest(input *UpdateTrafficPolicyCo
input = &UpdateTrafficPolicyCommentInput{}
}
- req = c.newRequest(op, input, output)
output = &UpdateTrafficPolicyCommentOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// UpdateTrafficPolicyComment API operation for Amazon Route 53.
+//
// Updates the comment for a specified traffic policy version.
//
-// To update the comment, send a POST request to the /Route 53 API version/trafficpolicy/
-// resource.
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
//
-// The request body must include a document with an UpdateTrafficPolicyCommentRequest
-// element.
+// See the AWS API reference guide for Amazon Route 53's
+// API operation UpdateTrafficPolicyComment for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// * ErrCodeNoSuchTrafficPolicy "NoSuchTrafficPolicy"
+// No traffic policy exists with the specified ID.
+//
+// * ErrCodeConcurrentModification "ConcurrentModification"
+// Another user submitted a request to create, update, or delete the object
+// at the same time that you did. Retry the request.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateTrafficPolicyComment
func (c *Route53) UpdateTrafficPolicyComment(input *UpdateTrafficPolicyCommentInput) (*UpdateTrafficPolicyCommentOutput, error) {
req, out := c.UpdateTrafficPolicyCommentRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// UpdateTrafficPolicyCommentWithContext is the same as UpdateTrafficPolicyComment with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UpdateTrafficPolicyComment for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) UpdateTrafficPolicyCommentWithContext(ctx aws.Context, input *UpdateTrafficPolicyCommentInput, opts ...request.Option) (*UpdateTrafficPolicyCommentOutput, error) {
+ req, out := c.UpdateTrafficPolicyCommentRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opUpdateTrafficPolicyInstance = "UpdateTrafficPolicyInstance"
// UpdateTrafficPolicyInstanceRequest generates a "aws/request.Request" representing the
// client's request for the UpdateTrafficPolicyInstance operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the UpdateTrafficPolicyInstance method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See UpdateTrafficPolicyInstance for more information on using the UpdateTrafficPolicyInstance
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the UpdateTrafficPolicyInstanceRequest method.
// req, resp := client.UpdateTrafficPolicyInstanceRequest(params)
@@ -2815,6 +5321,7 @@ const opUpdateTrafficPolicyInstance = "UpdateTrafficPolicyInstance"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateTrafficPolicyInstance
func (c *Route53) UpdateTrafficPolicyInstanceRequest(input *UpdateTrafficPolicyInstanceInput) (req *request.Request, output *UpdateTrafficPolicyInstanceOutput) {
op := &request.Operation{
Name: opUpdateTrafficPolicyInstance,
@@ -2826,49 +5333,106 @@ func (c *Route53) UpdateTrafficPolicyInstanceRequest(input *UpdateTrafficPolicyI
input = &UpdateTrafficPolicyInstanceInput{}
}
- req = c.newRequest(op, input, output)
output = &UpdateTrafficPolicyInstanceOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// UpdateTrafficPolicyInstance API operation for Amazon Route 53.
+//
// Updates the resource record sets in a specified hosted zone that were created
// based on the settings in a specified traffic policy version.
//
-// The DNS type of the resource record sets that you're updating must match
-// the DNS type in the JSON document that is associated with the traffic policy
-// version that you're using to update the traffic policy instance. When you
-// update a traffic policy instance, Amazon Route 53 continues to respond to
-// DNS queries for the root resource record set name (such as example.com) while
-// it replaces one group of resource record sets with another. Amazon Route
-// 53 performs the following operations:
+// When you update a traffic policy instance, Amazon Route 53 continues to respond
+// to DNS queries for the root resource record set name (such as example.com)
+// while it replaces one group of resource record sets with another. Amazon
+// Route 53 performs the following operations:
//
-// Amazon Route 53 creates a new group of resource record sets based on the
-// specified traffic policy. This is true regardless of how substantial the
+// Amazon Route 53 creates a new group of resource record sets based on the
+// specified traffic policy. This is true regardless of how significant the
// differences are between the existing resource record sets and the new resource
-// record sets. When all of the new resource record sets have been created,
-// Amazon Route 53 starts to respond to DNS queries for the root resource record
-// set name (such as example.com) by using the new resource record sets. Amazon
-// Route 53 deletes the old group of resource record sets that are associated
-// with the root resource record set name. To update a traffic policy instance,
-// send a POST request to the /Route 53 API version/trafficpolicyinstance/traffic
-// policy ID resource. The request body must include a document with an UpdateTrafficPolicyInstanceRequest
-// element.
+// record sets.
+//
+// When all of the new resource record sets have been created, Amazon Route
+// 53 starts to respond to DNS queries for the root resource record set name
+// (such as example.com) by using the new resource record sets.
+//
+// Amazon Route 53 deletes the old group of resource record sets that are associated
+// with the root resource record set name.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53's
+// API operation UpdateTrafficPolicyInstance for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The input is not valid.
+//
+// * ErrCodeNoSuchTrafficPolicy "NoSuchTrafficPolicy"
+// No traffic policy exists with the specified ID.
+//
+// * ErrCodeNoSuchTrafficPolicyInstance "NoSuchTrafficPolicyInstance"
+// No traffic policy instance exists with the specified ID.
+//
+// * ErrCodePriorRequestNotComplete "PriorRequestNotComplete"
+// If Amazon Route 53 can't process a request before the next request arrives,
+// it will reject subsequent requests for the same hosted zone and return an
+// HTTP 400 error (Bad request). If Amazon Route 53 returns this error repeatedly
+// for the same request, we recommend that you wait, in intervals of increasing
+// duration, before you try the request again.
+//
+// * ErrCodeConflictingTypes "ConflictingTypes"
+// You tried to update a traffic policy instance by using a traffic policy version
+// that has a different DNS type than the current type for the instance. You
+// specified the type in the JSON document in the CreateTrafficPolicy or CreateTrafficPolicyVersionrequest.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateTrafficPolicyInstance
func (c *Route53) UpdateTrafficPolicyInstance(input *UpdateTrafficPolicyInstanceInput) (*UpdateTrafficPolicyInstanceOutput, error) {
req, out := c.UpdateTrafficPolicyInstanceRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
}
-// A complex type that contains information to uniquely identify the CloudWatch
-// alarm that you're associating with a Route 53 health check.
+// UpdateTrafficPolicyInstanceWithContext is the same as UpdateTrafficPolicyInstance with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UpdateTrafficPolicyInstance for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) UpdateTrafficPolicyInstanceWithContext(ctx aws.Context, input *UpdateTrafficPolicyInstanceInput, opts ...request.Option) (*UpdateTrafficPolicyInstanceOutput, error) {
+ req, out := c.UpdateTrafficPolicyInstanceRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// A complex type that identifies the CloudWatch alarm that you want Amazon
+// Route 53 health checkers to use to determine whether this health check is
+// healthy.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/AlarmIdentifier
type AlarmIdentifier struct {
_ struct{} `type:"structure"`
- // The name of the CloudWatch alarm.
+ // The name of the CloudWatch alarm that you want Amazon Route 53 health checkers
+ // to use to determine whether this health check is healthy.
+ //
+ // Name is a required field
Name *string `min:"1" type:"string" required:"true"`
- // The CloudWatchRegion that the CloudWatch alarm was created in.
+ // A complex type that identifies the CloudWatch alarm that you want Amazon
+ // Route 53 health checkers to use to determine whether this health check is
+ // healthy.
+ //
+ // For the current list of CloudWatch regions, see Amazon CloudWatch (http://docs.aws.amazon.com/general/latest/gr/rande.html#cw_region)
+ // in the AWS Regions and Endpoints chapter of the Amazon Web Services General
+ // Reference.
+ //
+ // Region is a required field
Region *string `min:"1" type:"string" required:"true" enum:"CloudWatchRegion"`
}
@@ -2904,119 +5468,210 @@ func (s *AlarmIdentifier) Validate() error {
return nil
}
+// SetName sets the Name field's value.
+func (s *AlarmIdentifier) SetName(v string) *AlarmIdentifier {
+ s.Name = &v
+ return s
+}
+
+// SetRegion sets the Region field's value.
+func (s *AlarmIdentifier) SetRegion(v string) *AlarmIdentifier {
+ s.Region = &v
+ return s
+}
+
// Alias resource record sets only: Information about the CloudFront distribution,
-// ELB load balancer, Amazon S3 bucket, or Amazon Route 53 resource record set
-// to which you are routing traffic.
+// Elastic Beanstalk environment, ELB load balancer, Amazon S3 bucket, or Amazon
+// Route 53 resource record set that you're redirecting queries to. An Elastic
+// Beanstalk environment must have a regionalized subdomain.
//
-// If you're creating resource record sets for a private hosted zone, note
-// the following:
+// When creating resource record sets for a private hosted zone, note the following:
//
-// You can create alias resource record sets only for Amazon Route 53 resource
-// record sets in the same private hosted zone. Creating alias resource record
-// sets for CloudFront distributions, ELB load balancers, and Amazon S3 buckets
-// is not supported. You can't create alias resource record sets for failover,
-// geolocation, or latency resource record sets in a private hosted zone.
+// * Resource record sets can't be created for CloudFront distributions in
+// a private hosted zone.
+//
+// * Creating geolocation alias resource record sets or latency alias resource
+// record sets in a private hosted zone is unsupported.
+//
+// * For information about creating failover resource record sets in a private
+// hosted zone, see Configuring Failover in a Private Hosted Zone (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html).
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/AliasTarget
type AliasTarget struct {
_ struct{} `type:"structure"`
- // Alias resource record sets only: The external DNS name associated with the
- // AWS Resource. The value that you specify depends on where you want to route
- // queries:
+ // Alias resource record sets only: The value that you specify depends on where
+ // you want to route queries:
//
- // A CloudFront distribution: Specify the domain name that CloudFront assigned
- // when you created your distribution. Your CloudFront distribution must include
- // an alternate domain name that matches the name of the resource record set.
- // For example, if the name of the resource record set is acme.example.com,
- // your CloudFront distribution must include acme.example.com as one of the
- // alternate domain names. For more information, see Using Alternate Domain
- // Names (CNAMEs) (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html)
- // in the Amazon CloudFront Developer Guide. An ELB load balancer: Specify the
- // DNS name associated with the load balancer. You can get the DNS name by using
- // the AWS Management Console, the ELB API, or the AWS CLI. Use the same method
- // to get values for HostedZoneId and DNSName. If you get one value from the
- // console and the other value from the API or the CLI, creating the resource
- // record set will fail. An Elastic Beanstalk environment: Specify the CNAME
- // attribute for the environment. (The environment must have a regionalized
- // domain name.) An Amazon S3 bucket that is configured as a static website:
- // Specify the domain name of the Amazon S3 website endpoint in which you created
- // the bucket; for example, s3-website-us-east-1.amazonaws.com. For more information
- // about valid values, see the table Amazon Simple Storage Service (S3) Website
- // Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)
- // in the Amazon Web Services General Reference. For more information about
- // using Amazon S3 buckets for websites, see Hosting a Static Website on Amazon
- // S3 (http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) in
- // the Amazon Simple Storage Service Developer Guide. Another Amazon Route 53
- // resource record set: Specify the value of the Name element for a resource
- // record set in the current hosted zone.
+ // CloudFront distributionSpecify the domain name that CloudFront assigned when
+ // you created your distribution.
+ //
+ // Your CloudFront distribution must include an alternate domain name that matches
+ // the name of the resource record set. For example, if the name of the resource
+ // record set is acme.example.com, your CloudFront distribution must include
+ // acme.example.com as one of the alternate domain names. For more information,
+ // see Using Alternate Domain Names (CNAMEs) (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html)
+ // in the Amazon CloudFront Developer Guide.
+ //
+ // Elastic Beanstalk environmentSpecify the CNAME attribute for the environment.
+ // (The environment must have a regionalized domain name.) You can use the following
+ // methods to get the value of the CNAME attribute:
+ //
+ // AWS Management Console: For information about how to get the value by using
+ // the console, see Using Custom Domains with AWS Elastic Beanstalk (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html)
+ // in the AWS Elastic Beanstalk Developer Guide.
+ //
+ // Elastic Beanstalk API: Use the DescribeEnvironments action to get the value
+ // of the CNAME attribute. For more information, see DescribeEnvironments (http://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html)
+ // in the AWS Elastic Beanstalk API Reference.
+ //
+ // AWS CLI: Use the describe-environments command to get the value of the CNAME
+ // attribute. For more information, see describe-environments (http://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html)
+ // in the AWS Command Line Interface Reference.
+ //
+ // ELB load balancerSpecify the DNS name that is associated with the load balancer.
+ // Get the DNS name by using the AWS Management Console, the ELB API, or the
+ // AWS CLI.
+ //
+ // AWS Management Console: Go to the EC2 page, choose Load Balancers in the
+ // navigation pane, choose the load balancer, choose the Description tab, and
+ // get the value of the DNS name field. (If you're routing traffic to a Classic
+ // Load Balancer, get the value that begins with dualstack.)
+ //
+ // Elastic Load Balancing API: Use DescribeLoadBalancers to get the value of
+ // DNSName. For more information, see the applicable guide:
+ //
+ // Classic Load Balancers: DescribeLoadBalancers (http://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html)
+ //
+ // Application and Network Load Balancers: DescribeLoadBalancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html)
+ //
+ // AWS CLI: Use describe-load-balancers to get the value of DNSName. For more
+ // information, see the applicable guide:
+ //
+ // Classic Load Balancers: describe-load-balancers (http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html)
+ //
+ // Application and Network Load Balancers: describe-load-balancers (http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html)
+ //
+ // Amazon S3 bucket that is configured as a static websiteSpecify the domain
+ // name of the Amazon S3 website endpoint in which you created the bucket, for
+ // example, s3-website-us-east-2.amazonaws.com. For more information about valid
+ // values, see the table Amazon Simple Storage Service (S3) Website Endpoints
+ // (http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) in the
+ // Amazon Web Services General Reference. For more information about using S3
+ // buckets for websites, see Getting Started with Amazon Route 53 (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html)
+ // in the Amazon Route 53 Developer Guide.
+ //
+ // Another Amazon Route 53 resource record setSpecify the value of the Name
+ // element for a resource record set in the current hosted zone.
+ //
+ // DNSName is a required field
DNSName *string `type:"string" required:"true"`
- // Alias resource record sets only: If you set the value of EvaluateTargetHealth
- // to true for the resource record set or sets in an alias, weighted alias,
- // latency alias, or failover alias resource record set, and if you specify
- // a value for HealthCheckId for every resource record set that is referenced
- // by these alias resource record sets, the alias resource record sets inherit
- // the health of the referenced resource record sets.
+ // Applies only to alias, failover alias, geolocation alias, latency alias,
+ // and weighted alias resource record sets: When EvaluateTargetHealth is true,
+ // an alias resource record set inherits the health of the referenced AWS resource,
+ // such as an ELB load balancer, or the referenced resource record set.
//
- // In this configuration, when Amazon Route 53 receives a DNS query for an
- // alias resource record set:
+ // Note the following:
//
- // Amazon Route 53 looks at the resource record sets that are referenced by
- // the alias resource record sets to determine which health checks they're using.
- // Amazon Route 53 checks the current status of each health check. (Amazon Route
- // 53 periodically checks the health of the endpoint that is specified in a
- // health check; it doesn't perform the health check when the DNS query arrives.)
- // Based on the status of the health checks, Amazon Route 53 determines which
- // resource record sets are healthy. Unhealthy resource record sets are immediately
- // removed from consideration. In addition, if all of the resource record sets
- // that are referenced by an alias resource record set are unhealthy, that alias
- // resource record set also is immediately removed from consideration. Based
- // on the configuration of the alias resource record sets (weighted alias or
- // latency alias, for example) and the configuration of the resource record
- // sets that they reference, Amazon Route 53 chooses a resource record set from
- // the healthy resource record sets, and responds to the query. Note the following:
+ // * You can't set EvaluateTargetHealth to true when the alias target is
+ // a CloudFront distribution.
//
- // You cannot set EvaluateTargetHealth to true when the alias target is a CloudFront
- // distribution. If the AWS resource that you specify in AliasTarget is a resource
- // record set or a group of resource record sets (for example, a group of weighted
- // resource record sets), but it is not another alias resource record set, we
- // recommend that you associate a health check with all of the resource record
- // sets in the alias target. If you specify an ELB load balancer in AliasTarget,
- // Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances
- // that are registered with the load balancer. If no Amazon EC2 instances are
- // healthy or if the load balancer itself is unhealthy, and if EvaluateTargetHealth
- // is true for the corresponding alias resource record set, Amazon Route 53
- // routes queries to other resources. When you create a load balancer, you configure
- // settings for Elastic Load Balancing health checks; they're not Amazon Route
- // 53 health checks, but they perform a similar function. Do not create Amazon
- // Route 53 health checks for the Amazon EC2 instances that you register with
- // an ELB load balancer. For more information, see How Health Checks Work in
- // More Complex Amazon Route 53 Configurations (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html)
- // in the Amazon Route 53 Developer Guide. We recommend that you set EvaluateTargetHealth
- // to true only when you have enough idle capacity to handle the failure of
- // one or more endpoints.
+ // * If the AWS resource that you specify in AliasTarget is a resource record
+ // set or a group of resource record sets (for example, a group of weighted
+ // resource record sets), but it is not another alias resource record set,
+ // we recommend that you associate a health check with all of the resource
+ // record sets in the alias target. For more information, see What Happens
+ // When You Omit Health Checks? (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting)
+ // in the Amazon Route 53 Developer Guide.
+ //
+ // * If you specify an Elastic Beanstalk environment in HostedZoneId and
+ // DNSName, and if the environment contains an ELB load balancer, Elastic
+ // Load Balancing routes queries only to the healthy Amazon EC2 instances
+ // that are registered with the load balancer. (An environment automatically
+ // contains an ELB load balancer if it includes more than one EC2 instance.)
+ // If you set EvaluateTargetHealth to true and either no EC2 instances are
+ // healthy or the load balancer itself is unhealthy, Amazon Route 53 routes
+ // queries to other available resources that are healthy, if any.
+ //
+ // If the environment contains a single EC2 instance, there are no special requirements.
+ //
+ // * If you specify an ELB load balancer in AliasTarget, ELB routes queries
+ // only to the healthy EC2 instances that are registered with the load balancer.
+ // If no EC2 instances are healthy or if the load balancer itself is unhealthy,
+ // and if EvaluateTargetHealth is true for the corresponding alias resource
+ // record set, Amazon Route 53 routes queries to other resources. When you
+ // create a load balancer, you configure settings for ELB health checks;
+ // they're not Amazon Route 53 health checks, but they perform a similar
+ // function. Do not create Amazon Route 53 health checks for the EC2 instances
+ // that you register with an ELB load balancer.
+ //
+ // For more information, see How Health Checks Work in More Complex Amazon Route
+ // 53 Configurations (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html)
+ // in the Amazon Route 53 Developer Guide.
+ //
+ // * We recommend that you set EvaluateTargetHealth to true only when you
+ // have enough idle capacity to handle the failure of one or more endpoints.
//
// For more information and examples, see Amazon Route 53 Health Checks and
// DNS Failover (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)
// in the Amazon Route 53 Developer Guide.
+ //
+ // EvaluateTargetHealth is a required field
EvaluateTargetHealth *bool `type:"boolean" required:"true"`
- // Alias resource record sets only: The value you use depends on where you want
- // to route queries:
+ // Alias resource records sets only: The value used depends on where you want
+ // to route traffic:
//
- // A CloudFront distribution: Specify Z2FDTNDATAQYW2. An ELB load balancer:
- // Specify the value of the hosted zone ID for the load balancer. You can get
- // the hosted zone ID by using the AWS Management Console, the ELB API, or the
- // AWS CLI. Use the same method to get values for HostedZoneId and DNSName.
- // If you get one value from the console and the other value from the API or
- // the CLI, creating the resource record set will fail. An Amazon S3 bucket
- // that is configured as a static website: Specify the hosted zone ID for the
- // Amazon S3 website endpoint in which you created the bucket. For more information
- // about valid values, see the table Amazon Simple Storage Service (S3) Website
- // Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)
- // in the Amazon Web Services General Reference. Another Amazon Route 53 resource
- // record set in your hosted zone: Specify the hosted zone ID of your hosted
- // zone. (An alias resource record set cannot reference a resource record set
- // in a different hosted zone.)
+ // CloudFront distributionSpecify Z2FDTNDATAQYW2.
+ //
+ // Alias resource record sets for CloudFront can't be created in a private zone.
+ //
+ // Elastic Beanstalk environmentSpecify the hosted zone ID for the region in
+ // which you created the environment. The environment must have a regionalized
+ // subdomain. For a list of regions and the corresponding hosted zone IDs, see
+ // AWS Elastic Beanstalk (http://docs.aws.amazon.com/general/latest/gr/rande.html#elasticbeanstalk_region)
+ // in the "AWS Regions and Endpoints" chapter of the Amazon Web Services General
+ // Reference.
+ //
+ // ELB load balancerSpecify the value of the hosted zone ID for the load balancer.
+ // Use the following methods to get the hosted zone ID:
+ //
+ // Elastic Load Balancing (http://docs.aws.amazon.com/general/latest/gr/rande.html#elb_region)
+ // table in the "AWS Regions and Endpoints" chapter of the Amazon Web Services
+ // General Reference: Use the value that corresponds with the region that you
+ // created your load balancer in. Note that there are separate columns for Application
+ // and Classic Load Balancers and for Network Load Balancers.
+ //
+ // AWS Management Console: Go to the Amazon EC2 page, choose Load Balancers
+ // in the navigation pane, select the load balancer, and get the value of the
+ // Hosted zone field on the Description tab.
+ //
+ // Elastic Load Balancing API: Use DescribeLoadBalancers to get the value of
+ // CanonicalHostedZoneNameId. For more information, see the applicable guide:
+ //
+ // Classic Load Balancers: DescribeLoadBalancers (http://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html)
+ //
+ // Application and Network Load Balancers: DescribeLoadBalancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html)
+ //
+ // AWS CLI: Use describe-load-balancers to get the value of CanonicalHostedZoneNameID
+ // (for Classic Load Balancers) or CanonicalHostedZoneNameID (for Application
+ // and Network Load Balancers). For more information, see the applicable guide:
+ //
+ // Classic Load Balancers: describe-load-balancers (http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html)
+ //
+ // Application and Network Load Balancers: describe-load-balancers (http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html)
+ //
+ // An Amazon S3 bucket configured as a static websiteSpecify the hosted zone
+ // ID for the region that you created the bucket in. For more information about
+ // valid values, see the Amazon Simple Storage Service Website Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)
+ // table in the "AWS Regions and Endpoints" chapter of the Amazon Web Services
+ // General Reference.
+ //
+ // Another Amazon Route 53 resource record set in your hosted zoneSpecify the
+ // hosted zone ID of your hosted zone. (An alias resource record set can't reference
+ // a resource record set in a different hosted zone.)
+ //
+ // HostedZoneId is a required field
HostedZoneId *string `type:"string" required:"true"`
}
@@ -3049,21 +5704,46 @@ func (s *AliasTarget) Validate() error {
return nil
}
+// SetDNSName sets the DNSName field's value.
+func (s *AliasTarget) SetDNSName(v string) *AliasTarget {
+ s.DNSName = &v
+ return s
+}
+
+// SetEvaluateTargetHealth sets the EvaluateTargetHealth field's value.
+func (s *AliasTarget) SetEvaluateTargetHealth(v bool) *AliasTarget {
+ s.EvaluateTargetHealth = &v
+ return s
+}
+
+// SetHostedZoneId sets the HostedZoneId field's value.
+func (s *AliasTarget) SetHostedZoneId(v string) *AliasTarget {
+ s.HostedZoneId = &v
+ return s
+}
+
// A complex type that contains information about the request to associate a
-// VPC with an hosted zone.
+// VPC with a private hosted zone.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/AssociateVPCWithHostedZoneRequest
type AssociateVPCWithHostedZoneInput struct {
_ struct{} `locationName:"AssociateVPCWithHostedZoneRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
- // Optional: Any comments you want to include about a AssociateVPCWithHostedZoneRequest.
+ // Optional: A comment about the association request.
Comment *string `type:"string"`
- // The ID of the hosted zone you want to associate your VPC with.
+ // The ID of the private hosted zone that you want to associate an Amazon VPC
+ // with.
//
- // Note that you cannot associate a VPC with a hosted zone that doesn't have
+ // Note that you can't associate a VPC with a hosted zone that doesn't have
// an existing VPC association.
+ //
+ // HostedZoneId is a required field
HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
- // The VPC that you want your hosted zone to be associated with.
+ // A complex type that contains information about the VPC that you want to associate
+ // with a private hosted zone.
+ //
+ // VPC is a required field
VPC *VPC `type:"structure" required:"true"`
}
@@ -3098,12 +5778,33 @@ func (s *AssociateVPCWithHostedZoneInput) Validate() error {
return nil
}
-// A complex type containing the response information for the request.
+// SetComment sets the Comment field's value.
+func (s *AssociateVPCWithHostedZoneInput) SetComment(v string) *AssociateVPCWithHostedZoneInput {
+ s.Comment = &v
+ return s
+}
+
+// SetHostedZoneId sets the HostedZoneId field's value.
+func (s *AssociateVPCWithHostedZoneInput) SetHostedZoneId(v string) *AssociateVPCWithHostedZoneInput {
+ s.HostedZoneId = &v
+ return s
+}
+
+// SetVPC sets the VPC field's value.
+func (s *AssociateVPCWithHostedZoneInput) SetVPC(v *VPC) *AssociateVPCWithHostedZoneInput {
+ s.VPC = v
+ return s
+}
+
+// A complex type that contains the response information for the AssociateVPCWithHostedZone
+// request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/AssociateVPCWithHostedZoneResponse
type AssociateVPCWithHostedZoneOutput struct {
_ struct{} `type:"structure"`
- // A complex type that contains the ID, the status, and the date and time of
- // your AssociateVPCWithHostedZoneRequest.
+ // A complex type that describes the changes made to your hosted zone.
+ //
+ // ChangeInfo is a required field
ChangeInfo *ChangeInfo `type:"structure" required:"true"`
}
@@ -3117,27 +5818,75 @@ func (s AssociateVPCWithHostedZoneOutput) GoString() string {
return s.String()
}
-// A complex type that contains the information for each change in a change
-// batch request.
+// SetChangeInfo sets the ChangeInfo field's value.
+func (s *AssociateVPCWithHostedZoneOutput) SetChangeInfo(v *ChangeInfo) *AssociateVPCWithHostedZoneOutput {
+ s.ChangeInfo = v
+ return s
+}
+
+// The information for each resource record set that you want to change.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/Change
type Change struct {
_ struct{} `type:"structure"`
// The action to perform:
//
- // CREATE: Creates a resource record set that has the specified values. DELETE:
- // Deletes a existing resource record set that has the specified values for
- // Name, Type, SetIdentifier (for latency, weighted, geolocation, and failover
- // resource record sets), and TTL (except alias resource record sets, for which
- // the TTL is determined by the AWS resource that you're routing DNS queries
- // to). UPSERT: If a resource record set does not already exist, Amazon Route
- // 53 creates it. If a resource record set does exist, Amazon Route 53 updates
- // it with the values in the request. Amazon Route 53 can update an existing
- // resource record set only when all of the following values match: Name, Type,
- // and SetIdentifier (for weighted, latency, geolocation, and failover resource
- // record sets).
+ // * CREATE: Creates a resource record set that has the specified values.
+ //
+ // * DELETE: Deletes a existing resource record set.
+ //
+ // To delete the resource record set that is associated with a traffic policy
+ // instance, use DeleteTrafficPolicyInstance. Amazon Route 53 will delete
+ // the resource record set automatically. If you delete the resource record
+ // set by using ChangeResourceRecordSets, Amazon Route 53 doesn't automatically
+ // delete the traffic policy instance, and you'll continue to be charged
+ // for it even though it's no longer in use.
+ //
+ // * UPSERT: If a resource record set doesn't already exist, Amazon Route
+ // 53 creates it. If a resource record set does exist, Amazon Route 53 updates
+ // it with the values in the request.
+ //
+ // The values that you need to include in the request depend on the type of
+ // resource record set that you're creating, deleting, or updating:
+ //
+ // Basic resource record sets (excluding alias, failover, geolocation, latency,
+ // and weighted resource record sets)
+ //
+ // * Name
+ //
+ // * Type
+ //
+ // * TTL
+ //
+ // Failover, geolocation, latency, or weighted resource record sets (excluding
+ // alias resource record sets)
+ //
+ // * Name
+ //
+ // * Type
+ //
+ // * TTL
+ //
+ // * SetIdentifier
+ //
+ // Alias resource record sets (including failover alias, geolocation alias,
+ // latency alias, and weighted alias resource record sets)
+ //
+ // * Name
+ //
+ // * Type
+ //
+ // * AliasTarget (includes DNSName, EvaluateTargetHealth, and HostedZoneId)
+ //
+ // * SetIdentifier (for failover, geolocation, latency, and weighted resource
+ // record sets)
+ //
+ // Action is a required field
Action *string `type:"string" required:"true" enum:"ChangeAction"`
- // Information about the resource record set to create or delete.
+ // Information about the resource record set to create, delete, or update.
+ //
+ // ResourceRecordSet is a required field
ResourceRecordSet *ResourceRecordSet `type:"structure" required:"true"`
}
@@ -3172,13 +5921,26 @@ func (s *Change) Validate() error {
return nil
}
-// A complex type that contains an optional comment and the changes that you
-// want to make with a change batch request.
+// SetAction sets the Action field's value.
+func (s *Change) SetAction(v string) *Change {
+ s.Action = &v
+ return s
+}
+
+// SetResourceRecordSet sets the ResourceRecordSet field's value.
+func (s *Change) SetResourceRecordSet(v *ResourceRecordSet) *Change {
+ s.ResourceRecordSet = v
+ return s
+}
+
+// The information for a change request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ChangeBatch
type ChangeBatch struct {
_ struct{} `type:"structure"`
- // A complex type that contains one Change element for each resource record
- // set that you want to create or delete.
+ // Information about the changes to make to the record sets.
+ //
+ // Changes is a required field
Changes []*Change `locationNameList:"Change" min:"1" type:"list" required:"true"`
// Optional: Any comments you want to include about a change batch request.
@@ -3221,55 +5983,21 @@ func (s *ChangeBatch) Validate() error {
return nil
}
-// A complex type that lists the changes and information for a ChangeBatch.
-type ChangeBatchRecord struct {
- _ struct{} `deprecated:"true" type:"structure"`
-
- // A list of changes made in the ChangeBatch.
- Changes []*Change `locationNameList:"Change" min:"1" type:"list"`
-
- // A complex type that describes change information about changes made to your
- // hosted zone.
- //
- // This element contains an ID that you use when performing a GetChange action
- // to get detailed information about the change.
- Comment *string `type:"string"`
-
- // The ID of the request. Use this ID to track when the change has completed
- // across all Amazon Route 53 DNS servers.
- Id *string `type:"string" required:"true"`
-
- // The current state of the request. PENDING indicates that this request has
- // not yet been applied to all Amazon Route 53 DNS servers.
- //
- // Valid Values: PENDING | INSYNC
- Status *string `type:"string" required:"true" enum:"ChangeStatus"`
-
- // The date and time the change was submitted, in the format YYYY-MM-DDThh:mm:ssZ,
- // as specified in the ISO 8601 standard (for example, 2009-11-19T19:37:58Z).
- // The Z after the time indicates that the time is listed in Coordinated Universal
- // Time (UTC).
- SubmittedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
-
- // The AWS account ID attached to the changes.
- Submitter *string `type:"string"`
+// SetChanges sets the Changes field's value.
+func (s *ChangeBatch) SetChanges(v []*Change) *ChangeBatch {
+ s.Changes = v
+ return s
}
-// String returns the string representation
-func (s ChangeBatchRecord) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ChangeBatchRecord) GoString() string {
- return s.String()
+// SetComment sets the Comment field's value.
+func (s *ChangeBatch) SetComment(v string) *ChangeBatch {
+ s.Comment = &v
+ return s
}
// A complex type that describes change information about changes made to your
// hosted zone.
-//
-// This element contains an ID that you use when performing a GetChange action
-// to get detailed information about the change.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ChangeInfo
type ChangeInfo struct {
_ struct{} `type:"structure"`
@@ -3280,20 +6008,23 @@ type ChangeInfo struct {
// to get detailed information about the change.
Comment *string `type:"string"`
- // The ID of the request. Use this ID to track when the change has completed
- // across all Amazon Route 53 DNS servers.
+ // The ID of the request.
+ //
+ // Id is a required field
Id *string `type:"string" required:"true"`
// The current state of the request. PENDING indicates that this request has
// not yet been applied to all Amazon Route 53 DNS servers.
//
- // Valid Values: PENDING | INSYNC
+ // Status is a required field
Status *string `type:"string" required:"true" enum:"ChangeStatus"`
- // The date and time the change was submitted, in the format YYYY-MM-DDThh:mm:ssZ,
- // as specified in the ISO 8601 standard (for example, 2009-11-19T19:37:58Z).
- // The Z after the time indicates that the time is listed in Coordinated Universal
- // Time (UTC).
+ // The date and time that the change request was submitted in ISO 8601 format
+ // (https://en.wikipedia.org/wiki/ISO_8601) and Coordinated Universal Time (UTC).
+ // For example, the value 2017-03-27T17:48:16.751Z represents March 27, 2017
+ // at 17:48:16.751 UTC.
+ //
+ // SubmittedAt is a required field
SubmittedAt *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
}
@@ -3307,15 +6038,44 @@ func (s ChangeInfo) GoString() string {
return s.String()
}
-// A complex type that contains a change batch.
+// SetComment sets the Comment field's value.
+func (s *ChangeInfo) SetComment(v string) *ChangeInfo {
+ s.Comment = &v
+ return s
+}
+
+// SetId sets the Id field's value.
+func (s *ChangeInfo) SetId(v string) *ChangeInfo {
+ s.Id = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *ChangeInfo) SetStatus(v string) *ChangeInfo {
+ s.Status = &v
+ return s
+}
+
+// SetSubmittedAt sets the SubmittedAt field's value.
+func (s *ChangeInfo) SetSubmittedAt(v time.Time) *ChangeInfo {
+ s.SubmittedAt = &v
+ return s
+}
+
+// A complex type that contains change information for the resource record set.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ChangeResourceRecordSetsRequest
type ChangeResourceRecordSetsInput struct {
_ struct{} `locationName:"ChangeResourceRecordSetsRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
// A complex type that contains an optional comment and the Changes element.
+ //
+ // ChangeBatch is a required field
ChangeBatch *ChangeBatch `type:"structure" required:"true"`
// The ID of the hosted zone that contains the resource record sets that you
// want to change.
+ //
+ // HostedZoneId is a required field
HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
}
@@ -3350,7 +6110,20 @@ func (s *ChangeResourceRecordSetsInput) Validate() error {
return nil
}
+// SetChangeBatch sets the ChangeBatch field's value.
+func (s *ChangeResourceRecordSetsInput) SetChangeBatch(v *ChangeBatch) *ChangeResourceRecordSetsInput {
+ s.ChangeBatch = v
+ return s
+}
+
+// SetHostedZoneId sets the HostedZoneId field's value.
+func (s *ChangeResourceRecordSetsInput) SetHostedZoneId(v string) *ChangeResourceRecordSetsInput {
+ s.HostedZoneId = &v
+ return s
+}
+
// A complex type containing the response for the request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ChangeResourceRecordSetsResponse
type ChangeResourceRecordSetsOutput struct {
_ struct{} `type:"structure"`
@@ -3359,6 +6132,8 @@ type ChangeResourceRecordSetsOutput struct {
//
// This element contains an ID that you use when performing a GetChange action
// to get detailed information about the change.
+ //
+ // ChangeInfo is a required field
ChangeInfo *ChangeInfo `type:"structure" required:"true"`
}
@@ -3372,26 +6147,41 @@ func (s ChangeResourceRecordSetsOutput) GoString() string {
return s.String()
}
-// A complex type containing information about a request to add, change, or
-// delete the tags that are associated with a resource.
+// SetChangeInfo sets the ChangeInfo field's value.
+func (s *ChangeResourceRecordSetsOutput) SetChangeInfo(v *ChangeInfo) *ChangeResourceRecordSetsOutput {
+ s.ChangeInfo = v
+ return s
+}
+
+// A complex type that contains information about the tags that you want to
+// add, edit, or delete.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ChangeTagsForResourceRequest
type ChangeTagsForResourceInput struct {
_ struct{} `locationName:"ChangeTagsForResourceRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
- // A complex type that contains a list of Tag elements. Each Tag element identifies
- // a tag that you want to add or update for the specified resource.
+ // A complex type that contains a list of the tags that you want to add to the
+ // specified health check or hosted zone and/or the tags that you want to edit
+ // Value for.
+ //
+ // You can add a maximum of 10 tags to a health check or a hosted zone.
AddTags []*Tag `locationNameList:"Tag" min:"1" type:"list"`
- // A list of Tag keys that you want to remove from the specified resource.
+ // A complex type that contains a list of the tags that you want to delete from
+ // the specified health check or hosted zone. You can specify up to 10 keys.
RemoveTagKeys []*string `locationNameList:"Key" min:"1" type:"list"`
// The ID of the resource for which you want to add, change, or delete tags.
+ //
+ // ResourceId is a required field
ResourceId *string `location:"uri" locationName:"ResourceId" type:"string" required:"true"`
// The type of the resource.
//
- // - The resource type for health checks is healthcheck.
+ // * The resource type for health checks is healthcheck.
//
- // - The resource type for hosted zones is hostedzone.
+ // * The resource type for hosted zones is hostedzone.
+ //
+ // ResourceType is a required field
ResourceType *string `location:"uri" locationName:"ResourceType" type:"string" required:"true" enum:"TagResourceType"`
}
@@ -3427,7 +6217,32 @@ func (s *ChangeTagsForResourceInput) Validate() error {
return nil
}
+// SetAddTags sets the AddTags field's value.
+func (s *ChangeTagsForResourceInput) SetAddTags(v []*Tag) *ChangeTagsForResourceInput {
+ s.AddTags = v
+ return s
+}
+
+// SetRemoveTagKeys sets the RemoveTagKeys field's value.
+func (s *ChangeTagsForResourceInput) SetRemoveTagKeys(v []*string) *ChangeTagsForResourceInput {
+ s.RemoveTagKeys = v
+ return s
+}
+
+// SetResourceId sets the ResourceId field's value.
+func (s *ChangeTagsForResourceInput) SetResourceId(v string) *ChangeTagsForResourceInput {
+ s.ResourceId = &v
+ return s
+}
+
+// SetResourceType sets the ResourceType field's value.
+func (s *ChangeTagsForResourceInput) SetResourceType(v string) *ChangeTagsForResourceInput {
+ s.ResourceType = &v
+ return s
+}
+
// Empty response for the request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ChangeTagsForResourceResponse
type ChangeTagsForResourceOutput struct {
_ struct{} `type:"structure"`
}
@@ -3442,49 +6257,58 @@ func (s ChangeTagsForResourceOutput) GoString() string {
return s.String()
}
-// For CLOUDWATCH_METRIC health checks, a complex type that contains information
-// about the CloudWatch alarm that you're associating with the health check.
+// A complex type that contains information about the CloudWatch alarm that
+// Amazon Route 53 is monitoring for this health check.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CloudWatchAlarmConfiguration
type CloudWatchAlarmConfiguration struct {
_ struct{} `type:"structure"`
- // The arithmetic operation to use when comparing the specified Statistic and
- // Threshold.
+ // For the metric that the CloudWatch alarm is associated with, the arithmetic
+ // operation that is used for the comparison.
//
- // Valid Values are GreaterThanOrEqualToThreshold, GreaterThanThreshold, LessThanThreshold
- // and LessThanOrEqualToThreshold
+ // ComparisonOperator is a required field
ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"`
- // A list of Dimension elements for the CloudWatch metric that is associated
- // with the CloudWatch alarm. For information about the metrics and dimensions
- // that CloudWatch supports, see Amazon CloudWatch Namespaces, Dimensions, and
- // Metrics Reference (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).
+ // For the metric that the CloudWatch alarm is associated with, a complex type
+ // that contains information about the dimensions for the metric. For information,
+ // see Amazon CloudWatch Namespaces, Dimensions, and Metrics Reference (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html)
+ // in the Amazon CloudWatch User Guide.
Dimensions []*Dimension `locationNameList:"Dimension" type:"list"`
- // The number of periods over which data is compared to the specified threshold.
+ // For the metric that the CloudWatch alarm is associated with, the number of
+ // periods that the metric is compared to the threshold.
+ //
+ // EvaluationPeriods is a required field
EvaluationPeriods *int64 `min:"1" type:"integer" required:"true"`
- // The name of the CloudWatch metric that is associated with the CloudWatch
- // alarm.
+ // The name of the CloudWatch metric that the alarm is associated with.
+ //
+ // MetricName is a required field
MetricName *string `min:"1" type:"string" required:"true"`
- // The namespace of the CloudWatch metric that is associated with the CloudWatch
- // alarm.
+ // The namespace of the metric that the alarm is associated with. For more information,
+ // see Amazon CloudWatch Namespaces, Dimensions, and Metrics Reference (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html)
+ // in the Amazon CloudWatch User Guide.
+ //
+ // Namespace is a required field
Namespace *string `min:"1" type:"string" required:"true"`
- // An integer that represents the period in seconds over which the statistic
- // is applied.
+ // For the metric that the CloudWatch alarm is associated with, the duration
+ // of one evaluation period in seconds.
+ //
+ // Period is a required field
Period *int64 `min:"60" type:"integer" required:"true"`
- // The statistic to apply to the CloudWatch metric that is associated with the
- // CloudWatch alarm.
+ // For the metric that the CloudWatch alarm is associated with, the statistic
+ // that is applied to the metric.
//
- // Valid Values are SampleCount, Average, Sum, Minimum and Maximum
+ // Statistic is a required field
Statistic *string `type:"string" required:"true" enum:"Statistic"`
- // The value that the metric is compared with to determine the state of the
- // alarm. For example, if you want the health check to fail if the average TCP
- // connection time is greater than 500 milliseconds for more than 60 seconds,
- // the threshold is 500.
+ // For the metric that the CloudWatch alarm is associated with, the value the
+ // metric is compared with.
+ //
+ // Threshold is a required field
Threshold *float64 `type:"double" required:"true"`
}
@@ -3498,22 +6322,86 @@ func (s CloudWatchAlarmConfiguration) GoString() string {
return s.String()
}
-// >A complex type that contains information about the request to create a health
-// check.
+// SetComparisonOperator sets the ComparisonOperator field's value.
+func (s *CloudWatchAlarmConfiguration) SetComparisonOperator(v string) *CloudWatchAlarmConfiguration {
+ s.ComparisonOperator = &v
+ return s
+}
+
+// SetDimensions sets the Dimensions field's value.
+func (s *CloudWatchAlarmConfiguration) SetDimensions(v []*Dimension) *CloudWatchAlarmConfiguration {
+ s.Dimensions = v
+ return s
+}
+
+// SetEvaluationPeriods sets the EvaluationPeriods field's value.
+func (s *CloudWatchAlarmConfiguration) SetEvaluationPeriods(v int64) *CloudWatchAlarmConfiguration {
+ s.EvaluationPeriods = &v
+ return s
+}
+
+// SetMetricName sets the MetricName field's value.
+func (s *CloudWatchAlarmConfiguration) SetMetricName(v string) *CloudWatchAlarmConfiguration {
+ s.MetricName = &v
+ return s
+}
+
+// SetNamespace sets the Namespace field's value.
+func (s *CloudWatchAlarmConfiguration) SetNamespace(v string) *CloudWatchAlarmConfiguration {
+ s.Namespace = &v
+ return s
+}
+
+// SetPeriod sets the Period field's value.
+func (s *CloudWatchAlarmConfiguration) SetPeriod(v int64) *CloudWatchAlarmConfiguration {
+ s.Period = &v
+ return s
+}
+
+// SetStatistic sets the Statistic field's value.
+func (s *CloudWatchAlarmConfiguration) SetStatistic(v string) *CloudWatchAlarmConfiguration {
+ s.Statistic = &v
+ return s
+}
+
+// SetThreshold sets the Threshold field's value.
+func (s *CloudWatchAlarmConfiguration) SetThreshold(v float64) *CloudWatchAlarmConfiguration {
+ s.Threshold = &v
+ return s
+}
+
+// A complex type that contains the health check request information.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateHealthCheckRequest
type CreateHealthCheckInput struct {
_ struct{} `locationName:"CreateHealthCheckRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
- // A unique string that identifies the request and that allows failed CreateHealthCheck
- // requests to be retried without the risk of executing the operation twice.
- // You must use a unique CallerReference string every time you create a health
- // check. CallerReference can be any unique string; you might choose to use
- // a string that identifies your project.
+ // A unique string that identifies the request and that allows you to retry
+ // a failed CreateHealthCheck request without the risk of creating two identical
+ // health checks:
//
- // Valid characters are any Unicode code points that are legal in an XML 1.0
- // document. The UTF-8 encoding of the value must be less than 128 bytes.
+ // * If you send a CreateHealthCheck request with the same CallerReference
+ // and settings as a previous request, and if the health check doesn't exist,
+ // Amazon Route 53 creates the health check. If the health check does exist,
+ // Amazon Route 53 returns the settings for the existing health check.
+ //
+ // * If you send a CreateHealthCheck request with the same CallerReference
+ // as a deleted health check, regardless of the settings, Amazon Route 53
+ // returns a HealthCheckAlreadyExists error.
+ //
+ // * If you send a CreateHealthCheck request with the same CallerReference
+ // as an existing health check but with different settings, Amazon Route
+ // 53 returns a HealthCheckAlreadyExists error.
+ //
+ // * If you send a CreateHealthCheck request with a unique CallerReference
+ // but settings identical to an existing health check, Amazon Route 53 creates
+ // the health check.
+ //
+ // CallerReference is a required field
CallerReference *string `min:"1" type:"string" required:"true"`
- // A complex type that contains health check configuration.
+ // A complex type that contains the response to a CreateHealthCheck request.
+ //
+ // HealthCheckConfig is a required field
HealthCheckConfig *HealthCheckConfig `type:"structure" required:"true"`
}
@@ -3551,14 +6439,31 @@ func (s *CreateHealthCheckInput) Validate() error {
return nil
}
+// SetCallerReference sets the CallerReference field's value.
+func (s *CreateHealthCheckInput) SetCallerReference(v string) *CreateHealthCheckInput {
+ s.CallerReference = &v
+ return s
+}
+
+// SetHealthCheckConfig sets the HealthCheckConfig field's value.
+func (s *CreateHealthCheckInput) SetHealthCheckConfig(v *HealthCheckConfig) *CreateHealthCheckInput {
+ s.HealthCheckConfig = v
+ return s
+}
+
// A complex type containing the response information for the new health check.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateHealthCheckResponse
type CreateHealthCheckOutput struct {
_ struct{} `type:"structure"`
// A complex type that contains identifying information about the health check.
+ //
+ // HealthCheck is a required field
HealthCheck *HealthCheck `type:"structure" required:"true"`
// The unique URL representing the new health check.
+ //
+ // Location is a required field
Location *string `location:"header" locationName:"Location" type:"string" required:"true"`
}
@@ -3572,42 +6477,69 @@ func (s CreateHealthCheckOutput) GoString() string {
return s.String()
}
+// SetHealthCheck sets the HealthCheck field's value.
+func (s *CreateHealthCheckOutput) SetHealthCheck(v *HealthCheck) *CreateHealthCheckOutput {
+ s.HealthCheck = v
+ return s
+}
+
+// SetLocation sets the Location field's value.
+func (s *CreateHealthCheckOutput) SetLocation(v string) *CreateHealthCheckOutput {
+ s.Location = &v
+ return s
+}
+
// A complex type that contains information about the request to create a hosted
// zone.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateHostedZoneRequest
type CreateHostedZoneInput struct {
_ struct{} `locationName:"CreateHostedZoneRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
// A unique string that identifies the request and that allows failed CreateHostedZone
// requests to be retried without the risk of executing the operation twice.
- // You must use a unique CallerReference string every time you create a hosted
- // zone. CallerReference can be any unique string; you might choose to use a
- // string that identifies your project, such as DNSMigration_01.
+ // You must use a unique CallerReference string every time you submit a CreateHostedZone
+ // request. CallerReference can be any unique string, for example, a date/time
+ // stamp.
//
- // Valid characters are any Unicode code points that are legal in an XML 1.0
- // document. The UTF-8 encoding of the value must be less than 128 bytes.
+ // CallerReference is a required field
CallerReference *string `min:"1" type:"string" required:"true"`
- // The delegation set id of the reusable delgation set whose NS records you
- // want to assign to the new hosted zone.
+ // If you want to associate a reusable delegation set with this hosted zone,
+ // the ID that Amazon Route 53 assigned to the reusable delegation set when
+ // you created it. For more information about reusable delegation sets, see
+ // CreateReusableDelegationSet.
DelegationSetId *string `type:"string"`
- // A complex type that contains an optional comment about your hosted zone.
+ // (Optional) A complex type that contains the following optional values:
+ //
+ // * For public and private hosted zones, an optional comment
+ //
+ // * For private hosted zones, an optional PrivateZone element
+ //
+ // If you don't specify a comment or the PrivateZone element, omit HostedZoneConfig
+ // and the other elements.
HostedZoneConfig *HostedZoneConfig `type:"structure"`
- // The name of the domain. This must be a fully-specified domain, for example,
- // www.example.com. The trailing dot is optional; Amazon Route 53 assumes that
- // the domain name is fully qualified. This means that Amazon Route 53 treats
- // www.example.com (without a trailing dot) and www.example.com. (with a trailing
- // dot) as identical.
+ // The name of the domain. For resource record types that include a domain name,
+ // specify a fully qualified domain name, for example, www.example.com. The
+ // trailing dot is optional; Amazon Route 53 assumes that the domain name is
+ // fully qualified. This means that Amazon Route 53 treats www.example.com (without
+ // a trailing dot) and www.example.com. (with a trailing dot) as identical.
//
- // This is the name you have registered with your DNS registrar. You should
- // ask your registrar to change the authoritative name servers for your domain
- // to the set of NameServers elements returned in DelegationSet.
+ // If you're creating a public hosted zone, this is the name you have registered
+ // with your DNS registrar. If your domain name is registered with a registrar
+ // other than Amazon Route 53, change the name servers for your domain to the
+ // set of NameServers that CreateHostedZone returns in DelegationSet.
+ //
+ // Name is a required field
Name *string `type:"string" required:"true"`
- // The VPC that you want your hosted zone to be associated with. By providing
- // this parameter, your newly created hosted cannot be resolved anywhere other
- // than the given VPC.
+ // (Private hosted zones only) A complex type that contains information about
+ // the Amazon VPC that you're associating with this hosted zone.
+ //
+ // You can specify only one Amazon VPC when you create a private hosted zone.
+ // To associate additional Amazon VPCs with the hosted zone, use AssociateVPCWithHostedZone
+ // after you create a hosted zone.
VPC *VPC `type:"structure"`
}
@@ -3645,24 +6577,63 @@ func (s *CreateHostedZoneInput) Validate() error {
return nil
}
-// A complex type containing the response information for the new hosted zone.
+// SetCallerReference sets the CallerReference field's value.
+func (s *CreateHostedZoneInput) SetCallerReference(v string) *CreateHostedZoneInput {
+ s.CallerReference = &v
+ return s
+}
+
+// SetDelegationSetId sets the DelegationSetId field's value.
+func (s *CreateHostedZoneInput) SetDelegationSetId(v string) *CreateHostedZoneInput {
+ s.DelegationSetId = &v
+ return s
+}
+
+// SetHostedZoneConfig sets the HostedZoneConfig field's value.
+func (s *CreateHostedZoneInput) SetHostedZoneConfig(v *HostedZoneConfig) *CreateHostedZoneInput {
+ s.HostedZoneConfig = v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *CreateHostedZoneInput) SetName(v string) *CreateHostedZoneInput {
+ s.Name = &v
+ return s
+}
+
+// SetVPC sets the VPC field's value.
+func (s *CreateHostedZoneInput) SetVPC(v *VPC) *CreateHostedZoneInput {
+ s.VPC = v
+ return s
+}
+
+// A complex type containing the response information for the hosted zone.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateHostedZoneResponse
type CreateHostedZoneOutput struct {
_ struct{} `type:"structure"`
- // A complex type that contains information about the request to create a hosted
- // zone. This includes an ID that you use when you call the GetChange action
- // to get the current status of the change request.
+ // A complex type that contains information about the CreateHostedZone request.
+ //
+ // ChangeInfo is a required field
ChangeInfo *ChangeInfo `type:"structure" required:"true"`
- // A complex type that contains name server information.
+ // A complex type that describes the name servers for this hosted zone.
+ //
+ // DelegationSet is a required field
DelegationSet *DelegationSet `type:"structure" required:"true"`
- // A complex type that contains identifying information about the hosted zone.
+ // A complex type that contains general information about the hosted zone.
+ //
+ // HostedZone is a required field
HostedZone *HostedZone `type:"structure" required:"true"`
// The unique URL representing the new hosted zone.
+ //
+ // Location is a required field
Location *string `location:"header" locationName:"Location" type:"string" required:"true"`
+ // A complex type that contains information about an Amazon VPC that you associated
+ // with this hosted zone.
VPC *VPC `type:"structure"`
}
@@ -3676,21 +6647,152 @@ func (s CreateHostedZoneOutput) GoString() string {
return s.String()
}
+// SetChangeInfo sets the ChangeInfo field's value.
+func (s *CreateHostedZoneOutput) SetChangeInfo(v *ChangeInfo) *CreateHostedZoneOutput {
+ s.ChangeInfo = v
+ return s
+}
+
+// SetDelegationSet sets the DelegationSet field's value.
+func (s *CreateHostedZoneOutput) SetDelegationSet(v *DelegationSet) *CreateHostedZoneOutput {
+ s.DelegationSet = v
+ return s
+}
+
+// SetHostedZone sets the HostedZone field's value.
+func (s *CreateHostedZoneOutput) SetHostedZone(v *HostedZone) *CreateHostedZoneOutput {
+ s.HostedZone = v
+ return s
+}
+
+// SetLocation sets the Location field's value.
+func (s *CreateHostedZoneOutput) SetLocation(v string) *CreateHostedZoneOutput {
+ s.Location = &v
+ return s
+}
+
+// SetVPC sets the VPC field's value.
+func (s *CreateHostedZoneOutput) SetVPC(v *VPC) *CreateHostedZoneOutput {
+ s.VPC = v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateQueryLoggingConfigRequest
+type CreateQueryLoggingConfigInput struct {
+ _ struct{} `locationName:"CreateQueryLoggingConfigRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
+
+ // The Amazon Resource Name (ARN) for the log group that you want to Amazon
+ // Route 53 to send query logs to. This is the format of the ARN:
+ //
+ // arn:aws:logs:region:account-id:log-group:log_group_name
+ //
+ // To get the ARN for a log group, you can use the CloudWatch console, the DescribeLogGroups
+ // (http://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeLogGroups.html)
+ // API action, the describe-log-groups (http://docs.aws.amazon.com/cli/latest/reference/logs/describe-log-groups.html)
+ // command, or the applicable command in one of the AWS SDKs.
+ //
+ // CloudWatchLogsLogGroupArn is a required field
+ CloudWatchLogsLogGroupArn *string `type:"string" required:"true"`
+
+ // The ID of the hosted zone that you want to log queries for. You can log queries
+ // only for public hosted zones.
+ //
+ // HostedZoneId is a required field
+ HostedZoneId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateQueryLoggingConfigInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateQueryLoggingConfigInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateQueryLoggingConfigInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateQueryLoggingConfigInput"}
+ if s.CloudWatchLogsLogGroupArn == nil {
+ invalidParams.Add(request.NewErrParamRequired("CloudWatchLogsLogGroupArn"))
+ }
+ if s.HostedZoneId == nil {
+ invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
+func (s *CreateQueryLoggingConfigInput) SetCloudWatchLogsLogGroupArn(v string) *CreateQueryLoggingConfigInput {
+ s.CloudWatchLogsLogGroupArn = &v
+ return s
+}
+
+// SetHostedZoneId sets the HostedZoneId field's value.
+func (s *CreateQueryLoggingConfigInput) SetHostedZoneId(v string) *CreateQueryLoggingConfigInput {
+ s.HostedZoneId = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateQueryLoggingConfigResponse
+type CreateQueryLoggingConfigOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The unique URL representing the new query logging configuration.
+ //
+ // Location is a required field
+ Location *string `location:"header" locationName:"Location" type:"string" required:"true"`
+
+ // A complex type that contains the ID for a query logging configuration, the
+ // ID of the hosted zone that you want to log queries for, and the ARN for the
+ // log group that you want Amazon Route 53 to send query logs to.
+ //
+ // QueryLoggingConfig is a required field
+ QueryLoggingConfig *QueryLoggingConfig `type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateQueryLoggingConfigOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateQueryLoggingConfigOutput) GoString() string {
+ return s.String()
+}
+
+// SetLocation sets the Location field's value.
+func (s *CreateQueryLoggingConfigOutput) SetLocation(v string) *CreateQueryLoggingConfigOutput {
+ s.Location = &v
+ return s
+}
+
+// SetQueryLoggingConfig sets the QueryLoggingConfig field's value.
+func (s *CreateQueryLoggingConfigOutput) SetQueryLoggingConfig(v *QueryLoggingConfig) *CreateQueryLoggingConfigOutput {
+ s.QueryLoggingConfig = v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateReusableDelegationSetRequest
type CreateReusableDelegationSetInput struct {
_ struct{} `locationName:"CreateReusableDelegationSetRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
- // A unique string that identifies the request and that allows failed CreateReusableDelegationSet
- // requests to be retried without the risk of executing the operation twice.
- // You must use a unique CallerReference string every time you create a reusable
- // delegation set. CallerReference can be any unique string; you might choose
- // to use a string that identifies your project, such as DNSMigration_01.
+ // A unique string that identifies the request, and that allows you to retry
+ // failed CreateReusableDelegationSet requests without the risk of executing
+ // the operation twice. You must use a unique CallerReference string every time
+ // you submit a CreateReusableDelegationSet request. CallerReference can be
+ // any unique string, for example a date/time stamp.
//
- // Valid characters are any Unicode code points that are legal in an XML 1.0
- // document. The UTF-8 encoding of the value must be less than 128 bytes.
+ // CallerReference is a required field
CallerReference *string `min:"1" type:"string" required:"true"`
- // The ID of the hosted zone whose delegation set you want to mark as reusable.
- // It is an optional parameter.
+ // If you want to mark the delegation set for an existing hosted zone as reusable,
+ // the ID for that hosted zone.
HostedZoneId *string `type:"string"`
}
@@ -3720,13 +6822,30 @@ func (s *CreateReusableDelegationSetInput) Validate() error {
return nil
}
+// SetCallerReference sets the CallerReference field's value.
+func (s *CreateReusableDelegationSetInput) SetCallerReference(v string) *CreateReusableDelegationSetInput {
+ s.CallerReference = &v
+ return s
+}
+
+// SetHostedZoneId sets the HostedZoneId field's value.
+func (s *CreateReusableDelegationSetInput) SetHostedZoneId(v string) *CreateReusableDelegationSetInput {
+ s.HostedZoneId = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateReusableDelegationSetResponse
type CreateReusableDelegationSetOutput struct {
_ struct{} `type:"structure"`
// A complex type that contains name server information.
+ //
+ // DelegationSet is a required field
DelegationSet *DelegationSet `type:"structure" required:"true"`
- // The unique URL representing the new reusbale delegation set.
+ // The unique URL representing the new reusable delegation set.
+ //
+ // Location is a required field
Location *string `location:"header" locationName:"Location" type:"string" required:"true"`
}
@@ -3740,20 +6859,36 @@ func (s CreateReusableDelegationSetOutput) GoString() string {
return s.String()
}
+// SetDelegationSet sets the DelegationSet field's value.
+func (s *CreateReusableDelegationSetOutput) SetDelegationSet(v *DelegationSet) *CreateReusableDelegationSetOutput {
+ s.DelegationSet = v
+ return s
+}
+
+// SetLocation sets the Location field's value.
+func (s *CreateReusableDelegationSetOutput) SetLocation(v string) *CreateReusableDelegationSetOutput {
+ s.Location = &v
+ return s
+}
+
// A complex type that contains information about the traffic policy that you
// want to create.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateTrafficPolicyRequest
type CreateTrafficPolicyInput struct {
_ struct{} `locationName:"CreateTrafficPolicyRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
- // Any comments that you want to include about the traffic policy.
+ // (Optional) Any comments that you want to include about the traffic policy.
Comment *string `type:"string"`
// The definition of this traffic policy in JSON format. For more information,
- // see Traffic Policy Document Format (http://docs.aws.amazon.com/Route53/latest/APIReference/api-policies-traffic-policy-document-format.html)
- // in the Amazon Route 53 API Reference.
+ // see Traffic Policy Document Format (http://docs.aws.amazon.com/Route53/latest/APIReference/api-policies-traffic-policy-document-format.html).
+ //
+ // Document is a required field
Document *string `type:"string" required:"true"`
// The name of the traffic policy.
+ //
+ // Name is a required field
Name *string `type:"string" required:"true"`
}
@@ -3783,30 +6918,59 @@ func (s *CreateTrafficPolicyInput) Validate() error {
return nil
}
+// SetComment sets the Comment field's value.
+func (s *CreateTrafficPolicyInput) SetComment(v string) *CreateTrafficPolicyInput {
+ s.Comment = &v
+ return s
+}
+
+// SetDocument sets the Document field's value.
+func (s *CreateTrafficPolicyInput) SetDocument(v string) *CreateTrafficPolicyInput {
+ s.Document = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *CreateTrafficPolicyInput) SetName(v string) *CreateTrafficPolicyInput {
+ s.Name = &v
+ return s
+}
+
// A complex type that contains information about the resource record sets that
// you want to create based on a specified traffic policy.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateTrafficPolicyInstanceRequest
type CreateTrafficPolicyInstanceInput struct {
_ struct{} `locationName:"CreateTrafficPolicyInstanceRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
// The ID of the hosted zone in which you want Amazon Route 53 to create resource
// record sets by using the configuration in a traffic policy.
+ //
+ // HostedZoneId is a required field
HostedZoneId *string `type:"string" required:"true"`
// The domain name (such as example.com) or subdomain name (such as www.example.com)
// for which Amazon Route 53 responds to DNS queries by using the resource record
// sets that Amazon Route 53 creates for this traffic policy instance.
+ //
+ // Name is a required field
Name *string `type:"string" required:"true"`
- // The TTL that you want Amazon Route 53 to assign to all of the resource record
- // sets that it creates in the specified hosted zone.
+ // (Optional) The TTL that you want Amazon Route 53 to assign to all of the
+ // resource record sets that it creates in the specified hosted zone.
+ //
+ // TTL is a required field
TTL *int64 `type:"long" required:"true"`
// The ID of the traffic policy that you want to use to create resource record
// sets in the specified hosted zone.
- TrafficPolicyId *string `type:"string" required:"true"`
+ //
+ // TrafficPolicyId is a required field
+ TrafficPolicyId *string `min:"1" type:"string" required:"true"`
// The version of the traffic policy that you want to use to create resource
// record sets in the specified hosted zone.
+ //
+ // TrafficPolicyVersion is a required field
TrafficPolicyVersion *int64 `min:"1" type:"integer" required:"true"`
}
@@ -3835,6 +6999,9 @@ func (s *CreateTrafficPolicyInstanceInput) Validate() error {
if s.TrafficPolicyId == nil {
invalidParams.Add(request.NewErrParamRequired("TrafficPolicyId"))
}
+ if s.TrafficPolicyId != nil && len(*s.TrafficPolicyId) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("TrafficPolicyId", 1))
+ }
if s.TrafficPolicyVersion == nil {
invalidParams.Add(request.NewErrParamRequired("TrafficPolicyVersion"))
}
@@ -3848,15 +7015,50 @@ func (s *CreateTrafficPolicyInstanceInput) Validate() error {
return nil
}
+// SetHostedZoneId sets the HostedZoneId field's value.
+func (s *CreateTrafficPolicyInstanceInput) SetHostedZoneId(v string) *CreateTrafficPolicyInstanceInput {
+ s.HostedZoneId = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *CreateTrafficPolicyInstanceInput) SetName(v string) *CreateTrafficPolicyInstanceInput {
+ s.Name = &v
+ return s
+}
+
+// SetTTL sets the TTL field's value.
+func (s *CreateTrafficPolicyInstanceInput) SetTTL(v int64) *CreateTrafficPolicyInstanceInput {
+ s.TTL = &v
+ return s
+}
+
+// SetTrafficPolicyId sets the TrafficPolicyId field's value.
+func (s *CreateTrafficPolicyInstanceInput) SetTrafficPolicyId(v string) *CreateTrafficPolicyInstanceInput {
+ s.TrafficPolicyId = &v
+ return s
+}
+
+// SetTrafficPolicyVersion sets the TrafficPolicyVersion field's value.
+func (s *CreateTrafficPolicyInstanceInput) SetTrafficPolicyVersion(v int64) *CreateTrafficPolicyInstanceInput {
+ s.TrafficPolicyVersion = &v
+ return s
+}
+
// A complex type that contains the response information for the CreateTrafficPolicyInstance
// request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateTrafficPolicyInstanceResponse
type CreateTrafficPolicyInstanceOutput struct {
_ struct{} `type:"structure"`
// A unique URL that represents a new traffic policy instance.
+ //
+ // Location is a required field
Location *string `location:"header" locationName:"Location" type:"string" required:"true"`
// A complex type that contains settings for the new traffic policy instance.
+ //
+ // TrafficPolicyInstance is a required field
TrafficPolicyInstance *TrafficPolicyInstance `type:"structure" required:"true"`
}
@@ -3870,14 +7072,32 @@ func (s CreateTrafficPolicyInstanceOutput) GoString() string {
return s.String()
}
+// SetLocation sets the Location field's value.
+func (s *CreateTrafficPolicyInstanceOutput) SetLocation(v string) *CreateTrafficPolicyInstanceOutput {
+ s.Location = &v
+ return s
+}
+
+// SetTrafficPolicyInstance sets the TrafficPolicyInstance field's value.
+func (s *CreateTrafficPolicyInstanceOutput) SetTrafficPolicyInstance(v *TrafficPolicyInstance) *CreateTrafficPolicyInstanceOutput {
+ s.TrafficPolicyInstance = v
+ return s
+}
+
// A complex type that contains the response information for the CreateTrafficPolicy
// request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateTrafficPolicyResponse
type CreateTrafficPolicyOutput struct {
_ struct{} `type:"structure"`
+ // A unique URL that represents a new traffic policy.
+ //
+ // Location is a required field
Location *string `location:"header" locationName:"Location" type:"string" required:"true"`
// A complex type that contains settings for the new traffic policy.
+ //
+ // TrafficPolicy is a required field
TrafficPolicy *TrafficPolicy `type:"structure" required:"true"`
}
@@ -3891,23 +7111,39 @@ func (s CreateTrafficPolicyOutput) GoString() string {
return s.String()
}
-// A complex type that contains information about the traffic policy for which
-// you want to create a new version.
+// SetLocation sets the Location field's value.
+func (s *CreateTrafficPolicyOutput) SetLocation(v string) *CreateTrafficPolicyOutput {
+ s.Location = &v
+ return s
+}
+
+// SetTrafficPolicy sets the TrafficPolicy field's value.
+func (s *CreateTrafficPolicyOutput) SetTrafficPolicy(v *TrafficPolicy) *CreateTrafficPolicyOutput {
+ s.TrafficPolicy = v
+ return s
+}
+
+// A complex type that contains information about the traffic policy that you
+// want to create a new version for.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateTrafficPolicyVersionRequest
type CreateTrafficPolicyVersionInput struct {
_ struct{} `locationName:"CreateTrafficPolicyVersionRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
- // Any comments that you want to include about the new traffic policy version.
+ // The comment that you specified in the CreateTrafficPolicyVersion request,
+ // if any.
Comment *string `type:"string"`
- // The definition of a new traffic policy version, in JSON format. You must
- // specify the full definition of the new traffic policy. You cannot specify
- // just the differences between the new version and a previous version. For
- // more information, see Traffic Policy Document Format (http://docs.aws.amazon.com/Route53/latest/APIReference/api-policies-traffic-policy-document-format.html)
- // in the Amazon Route 53 API Reference.
+ // The definition of this version of the traffic policy, in JSON format. You
+ // specified the JSON in the CreateTrafficPolicyVersion request. For more information
+ // about the JSON format, see CreateTrafficPolicy.
+ //
+ // Document is a required field
Document *string `type:"string" required:"true"`
// The ID of the traffic policy for which you want to create a new version.
- Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
+ //
+ // Id is a required field
+ Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
}
// String returns the string representation
@@ -3929,6 +7165,9 @@ func (s *CreateTrafficPolicyVersionInput) Validate() error {
if s.Id == nil {
invalidParams.Add(request.NewErrParamRequired("Id"))
}
+ if s.Id != nil && len(*s.Id) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Id", 1))
+ }
if invalidParams.Len() > 0 {
return invalidParams
@@ -3936,15 +7175,39 @@ func (s *CreateTrafficPolicyVersionInput) Validate() error {
return nil
}
+// SetComment sets the Comment field's value.
+func (s *CreateTrafficPolicyVersionInput) SetComment(v string) *CreateTrafficPolicyVersionInput {
+ s.Comment = &v
+ return s
+}
+
+// SetDocument sets the Document field's value.
+func (s *CreateTrafficPolicyVersionInput) SetDocument(v string) *CreateTrafficPolicyVersionInput {
+ s.Document = &v
+ return s
+}
+
+// SetId sets the Id field's value.
+func (s *CreateTrafficPolicyVersionInput) SetId(v string) *CreateTrafficPolicyVersionInput {
+ s.Id = &v
+ return s
+}
+
// A complex type that contains the response information for the CreateTrafficPolicyVersion
// request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateTrafficPolicyVersionResponse
type CreateTrafficPolicyVersionOutput struct {
_ struct{} `type:"structure"`
+ // A unique URL that represents a new traffic policy version.
+ //
+ // Location is a required field
Location *string `location:"header" locationName:"Location" type:"string" required:"true"`
// A complex type that contains settings for the new version of the traffic
// policy.
+ //
+ // TrafficPolicy is a required field
TrafficPolicy *TrafficPolicy `type:"structure" required:"true"`
}
@@ -3958,17 +7221,137 @@ func (s CreateTrafficPolicyVersionOutput) GoString() string {
return s.String()
}
-// A complex type that contains name server information.
+// SetLocation sets the Location field's value.
+func (s *CreateTrafficPolicyVersionOutput) SetLocation(v string) *CreateTrafficPolicyVersionOutput {
+ s.Location = &v
+ return s
+}
+
+// SetTrafficPolicy sets the TrafficPolicy field's value.
+func (s *CreateTrafficPolicyVersionOutput) SetTrafficPolicy(v *TrafficPolicy) *CreateTrafficPolicyVersionOutput {
+ s.TrafficPolicy = v
+ return s
+}
+
+// A complex type that contains information about the request to authorize associating
+// a VPC with your private hosted zone. Authorization is only required when
+// a private hosted zone and a VPC were created by using different accounts.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateVPCAssociationAuthorizationRequest
+type CreateVPCAssociationAuthorizationInput struct {
+ _ struct{} `locationName:"CreateVPCAssociationAuthorizationRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
+
+ // The ID of the private hosted zone that you want to authorize associating
+ // a VPC with.
+ //
+ // HostedZoneId is a required field
+ HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
+
+ // A complex type that contains the VPC ID and region for the VPC that you want
+ // to authorize associating with your hosted zone.
+ //
+ // VPC is a required field
+ VPC *VPC `type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateVPCAssociationAuthorizationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVPCAssociationAuthorizationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateVPCAssociationAuthorizationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateVPCAssociationAuthorizationInput"}
+ if s.HostedZoneId == nil {
+ invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
+ }
+ if s.VPC == nil {
+ invalidParams.Add(request.NewErrParamRequired("VPC"))
+ }
+ if s.VPC != nil {
+ if err := s.VPC.Validate(); err != nil {
+ invalidParams.AddNested("VPC", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetHostedZoneId sets the HostedZoneId field's value.
+func (s *CreateVPCAssociationAuthorizationInput) SetHostedZoneId(v string) *CreateVPCAssociationAuthorizationInput {
+ s.HostedZoneId = &v
+ return s
+}
+
+// SetVPC sets the VPC field's value.
+func (s *CreateVPCAssociationAuthorizationInput) SetVPC(v *VPC) *CreateVPCAssociationAuthorizationInput {
+ s.VPC = v
+ return s
+}
+
+// A complex type that contains the response information from a CreateVPCAssociationAuthorization
+// request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateVPCAssociationAuthorizationResponse
+type CreateVPCAssociationAuthorizationOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the hosted zone that you authorized associating a VPC with.
+ //
+ // HostedZoneId is a required field
+ HostedZoneId *string `type:"string" required:"true"`
+
+ // The VPC that you authorized associating with a hosted zone.
+ //
+ // VPC is a required field
+ VPC *VPC `type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateVPCAssociationAuthorizationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVPCAssociationAuthorizationOutput) GoString() string {
+ return s.String()
+}
+
+// SetHostedZoneId sets the HostedZoneId field's value.
+func (s *CreateVPCAssociationAuthorizationOutput) SetHostedZoneId(v string) *CreateVPCAssociationAuthorizationOutput {
+ s.HostedZoneId = &v
+ return s
+}
+
+// SetVPC sets the VPC field's value.
+func (s *CreateVPCAssociationAuthorizationOutput) SetVPC(v *VPC) *CreateVPCAssociationAuthorizationOutput {
+ s.VPC = v
+ return s
+}
+
+// A complex type that lists the name servers in a delegation set, as well as
+// the CallerReference and the ID for the delegation set.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DelegationSet
type DelegationSet struct {
_ struct{} `type:"structure"`
+ // The value that you specified for CallerReference when you created the reusable
+ // delegation set.
CallerReference *string `min:"1" type:"string"`
+ // The ID that Amazon Route 53 assigns to a reusable delegation set.
Id *string `type:"string"`
- // A complex type that contains the authoritative name servers for the hosted
- // zone. Use the method provided by your domain registrar to add an NS record
- // to your domain for each NameServer that is assigned to your hosted zone.
+ // A complex type that contains a list of the authoritative name servers for
+ // a hosted zone or for a reusable delegation set.
+ //
+ // NameServers is a required field
NameServers []*string `locationNameList:"NameServer" min:"1" type:"list" required:"true"`
}
@@ -3982,11 +7365,32 @@ func (s DelegationSet) GoString() string {
return s.String()
}
-// A complex type containing the request information for delete health check.
+// SetCallerReference sets the CallerReference field's value.
+func (s *DelegationSet) SetCallerReference(v string) *DelegationSet {
+ s.CallerReference = &v
+ return s
+}
+
+// SetId sets the Id field's value.
+func (s *DelegationSet) SetId(v string) *DelegationSet {
+ s.Id = &v
+ return s
+}
+
+// SetNameServers sets the NameServers field's value.
+func (s *DelegationSet) SetNameServers(v []*string) *DelegationSet {
+ s.NameServers = v
+ return s
+}
+
+// This action deletes a health check.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteHealthCheckRequest
type DeleteHealthCheckInput struct {
_ struct{} `type:"structure"`
- // The ID of the health check to delete.
+ // The ID of the health check that you want to delete.
+ //
+ // HealthCheckId is a required field
HealthCheckId *string `location:"uri" locationName:"HealthCheckId" type:"string" required:"true"`
}
@@ -4013,7 +7417,14 @@ func (s *DeleteHealthCheckInput) Validate() error {
return nil
}
-// Empty response for the request.
+// SetHealthCheckId sets the HealthCheckId field's value.
+func (s *DeleteHealthCheckInput) SetHealthCheckId(v string) *DeleteHealthCheckInput {
+ s.HealthCheckId = &v
+ return s
+}
+
+// An empty element.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteHealthCheckResponse
type DeleteHealthCheckOutput struct {
_ struct{} `type:"structure"`
}
@@ -4028,12 +7439,14 @@ func (s DeleteHealthCheckOutput) GoString() string {
return s.String()
}
-// A complex type that contains information about the hosted zone that you want
-// to delete.
+// A request to delete a hosted zone.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteHostedZoneRequest
type DeleteHostedZoneInput struct {
_ struct{} `type:"structure"`
// The ID of the hosted zone you want to delete.
+ //
+ // Id is a required field
Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
}
@@ -4060,12 +7473,21 @@ func (s *DeleteHostedZoneInput) Validate() error {
return nil
}
-// A complex type containing the response information for the request.
+// SetId sets the Id field's value.
+func (s *DeleteHostedZoneInput) SetId(v string) *DeleteHostedZoneInput {
+ s.Id = &v
+ return s
+}
+
+// A complex type that contains the response to a DeleteHostedZone request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteHostedZoneResponse
type DeleteHostedZoneOutput struct {
_ struct{} `type:"structure"`
// A complex type that contains the ID, the status, and the date and time of
- // your delete request.
+ // a request to delete a hosted zone.
+ //
+ // ChangeInfo is a required field
ChangeInfo *ChangeInfo `type:"structure" required:"true"`
}
@@ -4079,11 +7501,77 @@ func (s DeleteHostedZoneOutput) GoString() string {
return s.String()
}
-// A complex type containing the information for the delete request.
+// SetChangeInfo sets the ChangeInfo field's value.
+func (s *DeleteHostedZoneOutput) SetChangeInfo(v *ChangeInfo) *DeleteHostedZoneOutput {
+ s.ChangeInfo = v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteQueryLoggingConfigRequest
+type DeleteQueryLoggingConfigInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the configuration that you want to delete.
+ //
+ // Id is a required field
+ Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteQueryLoggingConfigInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteQueryLoggingConfigInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteQueryLoggingConfigInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteQueryLoggingConfigInput"}
+ if s.Id == nil {
+ invalidParams.Add(request.NewErrParamRequired("Id"))
+ }
+ if s.Id != nil && len(*s.Id) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Id", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetId sets the Id field's value.
+func (s *DeleteQueryLoggingConfigInput) SetId(v string) *DeleteQueryLoggingConfigInput {
+ s.Id = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteQueryLoggingConfigResponse
+type DeleteQueryLoggingConfigOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteQueryLoggingConfigOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteQueryLoggingConfigOutput) GoString() string {
+ return s.String()
+}
+
+// A request to delete a reusable delegation set.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteReusableDelegationSetRequest
type DeleteReusableDelegationSetInput struct {
_ struct{} `type:"structure"`
- // The ID of the reusable delegation set you want to delete.
+ // The ID of the reusable delegation set that you want to delete.
+ //
+ // Id is a required field
Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
}
@@ -4110,7 +7598,14 @@ func (s *DeleteReusableDelegationSetInput) Validate() error {
return nil
}
-// Empty response for the request.
+// SetId sets the Id field's value.
+func (s *DeleteReusableDelegationSetInput) SetId(v string) *DeleteReusableDelegationSetInput {
+ s.Id = &v
+ return s
+}
+
+// An empty element.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteReusableDelegationSetResponse
type DeleteReusableDelegationSetOutput struct {
_ struct{} `type:"structure"`
}
@@ -4126,13 +7621,18 @@ func (s DeleteReusableDelegationSetOutput) GoString() string {
}
// A request to delete a specified traffic policy version.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteTrafficPolicyRequest
type DeleteTrafficPolicyInput struct {
_ struct{} `type:"structure"`
// The ID of the traffic policy that you want to delete.
- Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
+ //
+ // Id is a required field
+ Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
// The version number of the traffic policy that you want to delete.
+ //
+ // Version is a required field
Version *int64 `location:"uri" locationName:"Version" min:"1" type:"integer" required:"true"`
}
@@ -4152,6 +7652,9 @@ func (s *DeleteTrafficPolicyInput) Validate() error {
if s.Id == nil {
invalidParams.Add(request.NewErrParamRequired("Id"))
}
+ if s.Id != nil && len(*s.Id) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Id", 1))
+ }
if s.Version == nil {
invalidParams.Add(request.NewErrParamRequired("Version"))
}
@@ -4165,17 +7668,31 @@ func (s *DeleteTrafficPolicyInput) Validate() error {
return nil
}
-// A complex type that contains information about the traffic policy instance
-// that you want to delete.
+// SetId sets the Id field's value.
+func (s *DeleteTrafficPolicyInput) SetId(v string) *DeleteTrafficPolicyInput {
+ s.Id = &v
+ return s
+}
+
+// SetVersion sets the Version field's value.
+func (s *DeleteTrafficPolicyInput) SetVersion(v int64) *DeleteTrafficPolicyInput {
+ s.Version = &v
+ return s
+}
+
+// A request to delete a specified traffic policy instance.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteTrafficPolicyInstanceRequest
type DeleteTrafficPolicyInstanceInput struct {
_ struct{} `type:"structure"`
// The ID of the traffic policy instance that you want to delete.
//
- // When you delete a traffic policy instance, Amazon Route 53 also deletes
- // all of the resource record sets that were created when you created the traffic
+ // When you delete a traffic policy instance, Amazon Route 53 also deletes all
+ // of the resource record sets that were created when you created the traffic
// policy instance.
- Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
+ //
+ // Id is a required field
+ Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
}
// String returns the string representation
@@ -4194,6 +7711,9 @@ func (s *DeleteTrafficPolicyInstanceInput) Validate() error {
if s.Id == nil {
invalidParams.Add(request.NewErrParamRequired("Id"))
}
+ if s.Id != nil && len(*s.Id) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Id", 1))
+ }
if invalidParams.Len() > 0 {
return invalidParams
@@ -4201,7 +7721,14 @@ func (s *DeleteTrafficPolicyInstanceInput) Validate() error {
return nil
}
+// SetId sets the Id field's value.
+func (s *DeleteTrafficPolicyInstanceInput) SetId(v string) *DeleteTrafficPolicyInstanceInput {
+ s.Id = &v
+ return s
+}
+
// An empty element.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteTrafficPolicyInstanceResponse
type DeleteTrafficPolicyInstanceOutput struct {
_ struct{} `type:"structure"`
}
@@ -4217,6 +7744,7 @@ func (s DeleteTrafficPolicyInstanceOutput) GoString() string {
}
// An empty element.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteTrafficPolicyResponse
type DeleteTrafficPolicyOutput struct {
_ struct{} `type:"structure"`
}
@@ -4231,14 +7759,103 @@ func (s DeleteTrafficPolicyOutput) GoString() string {
return s.String()
}
-// The name and value of a dimension for a CloudWatch metric.
+// A complex type that contains information about the request to remove authorization
+// to associate a VPC that was created by one AWS account with a hosted zone
+// that was created with a different AWS account.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteVPCAssociationAuthorizationRequest
+type DeleteVPCAssociationAuthorizationInput struct {
+ _ struct{} `locationName:"DeleteVPCAssociationAuthorizationRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
+
+ // When removing authorization to associate a VPC that was created by one AWS
+ // account with a hosted zone that was created with a different AWS account,
+ // the ID of the hosted zone.
+ //
+ // HostedZoneId is a required field
+ HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
+
+ // When removing authorization to associate a VPC that was created by one AWS
+ // account with a hosted zone that was created with a different AWS account,
+ // a complex type that includes the ID and region of the VPC.
+ //
+ // VPC is a required field
+ VPC *VPC `type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteVPCAssociationAuthorizationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVPCAssociationAuthorizationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteVPCAssociationAuthorizationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteVPCAssociationAuthorizationInput"}
+ if s.HostedZoneId == nil {
+ invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
+ }
+ if s.VPC == nil {
+ invalidParams.Add(request.NewErrParamRequired("VPC"))
+ }
+ if s.VPC != nil {
+ if err := s.VPC.Validate(); err != nil {
+ invalidParams.AddNested("VPC", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetHostedZoneId sets the HostedZoneId field's value.
+func (s *DeleteVPCAssociationAuthorizationInput) SetHostedZoneId(v string) *DeleteVPCAssociationAuthorizationInput {
+ s.HostedZoneId = &v
+ return s
+}
+
+// SetVPC sets the VPC field's value.
+func (s *DeleteVPCAssociationAuthorizationInput) SetVPC(v *VPC) *DeleteVPCAssociationAuthorizationInput {
+ s.VPC = v
+ return s
+}
+
+// Empty response for the request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteVPCAssociationAuthorizationResponse
+type DeleteVPCAssociationAuthorizationOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteVPCAssociationAuthorizationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVPCAssociationAuthorizationOutput) GoString() string {
+ return s.String()
+}
+
+// For the metric that the CloudWatch alarm is associated with, a complex type
+// that contains information about one dimension.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/Dimension
type Dimension struct {
_ struct{} `type:"structure"`
- // The name of the dimension.
+ // For the metric that the CloudWatch alarm is associated with, the name of
+ // one dimension.
+ //
+ // Name is a required field
Name *string `min:"1" type:"string" required:"true"`
- // The value of the dimension.
+ // For the metric that the CloudWatch alarm is associated with, the value of
+ // one dimension.
+ //
+ // Value is a required field
Value *string `min:"1" type:"string" required:"true"`
}
@@ -4252,20 +7869,36 @@ func (s Dimension) GoString() string {
return s.String()
}
-// A complex type that contains information about the request to disassociate
-// a VPC from an hosted zone.
+// SetName sets the Name field's value.
+func (s *Dimension) SetName(v string) *Dimension {
+ s.Name = &v
+ return s
+}
+
+// SetValue sets the Value field's value.
+func (s *Dimension) SetValue(v string) *Dimension {
+ s.Value = &v
+ return s
+}
+
+// A complex type that contains information about the VPC that you want to disassociate
+// from a specified private hosted zone.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DisassociateVPCFromHostedZoneRequest
type DisassociateVPCFromHostedZoneInput struct {
_ struct{} `locationName:"DisassociateVPCFromHostedZoneRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
- // Optional: Any comments you want to include about a DisassociateVPCFromHostedZoneRequest.
+ // Optional: A comment about the disassociation request.
Comment *string `type:"string"`
- // The ID of the hosted zone you want to disassociate your VPC from.
+ // The ID of the private hosted zone that you want to disassociate a VPC from.
//
- // Note that you cannot disassociate the last VPC from a hosted zone.
+ // HostedZoneId is a required field
HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
- // The VPC that you want your hosted zone to be disassociated from.
+ // A complex type that contains information about the VPC that you're disassociating
+ // from the specified hosted zone.
+ //
+ // VPC is a required field
VPC *VPC `type:"structure" required:"true"`
}
@@ -4300,12 +7933,34 @@ func (s *DisassociateVPCFromHostedZoneInput) Validate() error {
return nil
}
-// A complex type containing the response information for the request.
+// SetComment sets the Comment field's value.
+func (s *DisassociateVPCFromHostedZoneInput) SetComment(v string) *DisassociateVPCFromHostedZoneInput {
+ s.Comment = &v
+ return s
+}
+
+// SetHostedZoneId sets the HostedZoneId field's value.
+func (s *DisassociateVPCFromHostedZoneInput) SetHostedZoneId(v string) *DisassociateVPCFromHostedZoneInput {
+ s.HostedZoneId = &v
+ return s
+}
+
+// SetVPC sets the VPC field's value.
+func (s *DisassociateVPCFromHostedZoneInput) SetVPC(v *VPC) *DisassociateVPCFromHostedZoneInput {
+ s.VPC = v
+ return s
+}
+
+// A complex type that contains the response information for the disassociate
+// request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DisassociateVPCFromHostedZoneResponse
type DisassociateVPCFromHostedZoneOutput struct {
_ struct{} `type:"structure"`
- // A complex type that contains the ID, the status, and the date and time of
- // your DisassociateVPCFromHostedZoneRequest.
+ // A complex type that describes the changes made to the specified private hosted
+ // zone.
+ //
+ // ChangeInfo is a required field
ChangeInfo *ChangeInfo `type:"structure" required:"true"`
}
@@ -4319,12 +7974,18 @@ func (s DisassociateVPCFromHostedZoneOutput) GoString() string {
return s.String()
}
+// SetChangeInfo sets the ChangeInfo field's value.
+func (s *DisassociateVPCFromHostedZoneOutput) SetChangeInfo(v *ChangeInfo) *DisassociateVPCFromHostedZoneOutput {
+ s.ChangeInfo = v
+ return s
+}
+
// A complex type that contains information about a geo location.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GeoLocation
type GeoLocation struct {
_ struct{} `type:"structure"`
- // The code for a continent geo location. Note: only continent locations have
- // a continent code.
+ // The two-letter code for the continent.
//
// Valid values: AF | AN | AS | EU | OC | NA | SA
//
@@ -4332,18 +7993,11 @@ type GeoLocation struct {
// returns an InvalidInput error.
ContinentCode *string `min:"2" type:"string"`
- // The code for a country geo location. The default location uses '*' for the
- // country code and will match all locations that are not matched by a geo location.
- //
- // The default geo location uses a * for the country code. All other country
- // codes follow the ISO 3166 two-character code.
+ // The two-letter code for the country.
CountryCode *string `min:"1" type:"string"`
- // The code for a country's subdivision (e.g., a province of Canada). A subdivision
- // code is only valid with the appropriate country code.
- //
- // Constraint: Specifying SubdivisionCode without CountryCode returns an InvalidInput
- // error.
+ // The code for the subdivision, for example, a state in the United States or
+ // a province in Canada.
SubdivisionCode *string `min:"1" type:"string"`
}
@@ -4376,35 +8030,48 @@ func (s *GeoLocation) Validate() error {
return nil
}
-// A complex type that contains information about a GeoLocation.
+// SetContinentCode sets the ContinentCode field's value.
+func (s *GeoLocation) SetContinentCode(v string) *GeoLocation {
+ s.ContinentCode = &v
+ return s
+}
+
+// SetCountryCode sets the CountryCode field's value.
+func (s *GeoLocation) SetCountryCode(v string) *GeoLocation {
+ s.CountryCode = &v
+ return s
+}
+
+// SetSubdivisionCode sets the SubdivisionCode field's value.
+func (s *GeoLocation) SetSubdivisionCode(v string) *GeoLocation {
+ s.SubdivisionCode = &v
+ return s
+}
+
+// A complex type that contains the codes and full continent, country, and subdivision
+// names for the specified geolocation code.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GeoLocationDetails
type GeoLocationDetails struct {
_ struct{} `type:"structure"`
- // The code for a continent geo location. Note: only continent locations have
- // a continent code.
+ // The two-letter code for the continent.
ContinentCode *string `min:"2" type:"string"`
- // The name of the continent. This element is only present if ContinentCode
- // is also present.
+ // The full name of the continent.
ContinentName *string `min:"1" type:"string"`
- // The code for a country geo location. The default location uses '*' for the
- // country code and will match all locations that are not matched by a geo location.
- //
- // The default geo location uses a * for the country code. All other country
- // codes follow the ISO 3166 two-character code.
+ // The two-letter code for the country.
CountryCode *string `min:"1" type:"string"`
- // The name of the country. This element is only present if CountryCode is also
- // present.
+ // The name of the country.
CountryName *string `min:"1" type:"string"`
- // The code for a country's subdivision (e.g., a province of Canada). A subdivision
- // code is only valid with the appropriate country code.
+ // The code for the subdivision, for example, a state in the United States or
+ // a province in Canada.
SubdivisionCode *string `min:"1" type:"string"`
- // The name of the subdivision. This element is only present if SubdivisionCode
- // is also present.
+ // The full name of the subdivision, for example, a state in the United States
+ // or a province in Canada.
SubdivisionName *string `min:"1" type:"string"`
}
@@ -4418,66 +8085,52 @@ func (s GeoLocationDetails) GoString() string {
return s.String()
}
-// The input for a GetChangeDetails request.
-type GetChangeDetailsInput struct {
- _ struct{} `deprecated:"true" type:"structure"`
-
- // The ID of the change batch request. The value that you specify here is the
- // value that ChangeResourceRecordSets returned in the Id element when you submitted
- // the request.
- Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
+// SetContinentCode sets the ContinentCode field's value.
+func (s *GeoLocationDetails) SetContinentCode(v string) *GeoLocationDetails {
+ s.ContinentCode = &v
+ return s
}
-// String returns the string representation
-func (s GetChangeDetailsInput) String() string {
- return awsutil.Prettify(s)
+// SetContinentName sets the ContinentName field's value.
+func (s *GeoLocationDetails) SetContinentName(v string) *GeoLocationDetails {
+ s.ContinentName = &v
+ return s
}
-// GoString returns the string representation
-func (s GetChangeDetailsInput) GoString() string {
- return s.String()
+// SetCountryCode sets the CountryCode field's value.
+func (s *GeoLocationDetails) SetCountryCode(v string) *GeoLocationDetails {
+ s.CountryCode = &v
+ return s
}
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetChangeDetailsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetChangeDetailsInput"}
- if s.Id == nil {
- invalidParams.Add(request.NewErrParamRequired("Id"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
+// SetCountryName sets the CountryName field's value.
+func (s *GeoLocationDetails) SetCountryName(v string) *GeoLocationDetails {
+ s.CountryName = &v
+ return s
}
-// A complex type that contains the ChangeBatchRecord element.
-type GetChangeDetailsOutput struct {
- _ struct{} `deprecated:"true" type:"structure"`
-
- // A complex type that contains information about the specified change batch,
- // including the change batch ID, the status of the change, and the contained
- // changes.
- ChangeBatchRecord *ChangeBatchRecord `deprecated:"true" type:"structure" required:"true"`
+// SetSubdivisionCode sets the SubdivisionCode field's value.
+func (s *GeoLocationDetails) SetSubdivisionCode(v string) *GeoLocationDetails {
+ s.SubdivisionCode = &v
+ return s
}
-// String returns the string representation
-func (s GetChangeDetailsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetChangeDetailsOutput) GoString() string {
- return s.String()
+// SetSubdivisionName sets the SubdivisionName field's value.
+func (s *GeoLocationDetails) SetSubdivisionName(v string) *GeoLocationDetails {
+ s.SubdivisionName = &v
+ return s
}
// The input for a GetChange request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetChangeRequest
type GetChangeInput struct {
_ struct{} `type:"structure"`
// The ID of the change batch request. The value that you specify here is the
// value that ChangeResourceRecordSets returned in the Id element when you submitted
// the request.
+ //
+ // Id is a required field
Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
}
@@ -4504,13 +8157,20 @@ func (s *GetChangeInput) Validate() error {
return nil
}
+// SetId sets the Id field's value.
+func (s *GetChangeInput) SetId(v string) *GetChangeInput {
+ s.Id = &v
+ return s
+}
+
// A complex type that contains the ChangeInfo element.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetChangeResponse
type GetChangeOutput struct {
_ struct{} `type:"structure"`
- // A complex type that contains information about the specified change batch,
- // including the change batch ID, the status of the change, and the date and
- // time of the request.
+ // A complex type that contains information about the specified change batch.
+ //
+ // ChangeInfo is a required field
ChangeInfo *ChangeInfo `type:"structure" required:"true"`
}
@@ -4524,7 +8184,13 @@ func (s GetChangeOutput) GoString() string {
return s.String()
}
-// Empty request.
+// SetChangeInfo sets the ChangeInfo field's value.
+func (s *GetChangeOutput) SetChangeInfo(v *ChangeInfo) *GetChangeOutput {
+ s.ChangeInfo = v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetCheckerIpRangesRequest
type GetCheckerIpRangesInput struct {
_ struct{} `type:"structure"`
}
@@ -4539,12 +8205,11 @@ func (s GetCheckerIpRangesInput) GoString() string {
return s.String()
}
-// A complex type that contains the CheckerIpRanges element.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetCheckerIpRangesResponse
type GetCheckerIpRangesOutput struct {
_ struct{} `type:"structure"`
- // A complex type that contains sorted list of IP ranges in CIDR format for
- // Amazon Route 53 health checkers.
+ // CheckerIpRanges is a required field
CheckerIpRanges []*string `type:"list" required:"true"`
}
@@ -4558,31 +8223,43 @@ func (s GetCheckerIpRangesOutput) GoString() string {
return s.String()
}
-// A complex type that contains information about the request to get a geo location.
+// SetCheckerIpRanges sets the CheckerIpRanges field's value.
+func (s *GetCheckerIpRangesOutput) SetCheckerIpRanges(v []*string) *GetCheckerIpRangesOutput {
+ s.CheckerIpRanges = v
+ return s
+}
+
+// A request for information about whether a specified geographic location is
+// supported for Amazon Route 53 geolocation resource record sets.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetGeoLocationRequest
type GetGeoLocationInput struct {
_ struct{} `type:"structure"`
- // The code for a continent geo location. Note: only continent locations have
- // a continent code.
+ // Amazon Route 53 supports the following continent codes:
//
- // Valid values: AF | AN | AS | EU | OC | NA | SA
+ // * AF: Africa
//
- // Constraint: Specifying ContinentCode with either CountryCode or SubdivisionCode
- // returns an InvalidInput error.
+ // * AN: Antarctica
+ //
+ // * AS: Asia
+ //
+ // * EU: Europe
+ //
+ // * OC: Oceania
+ //
+ // * NA: North America
+ //
+ // * SA: South America
ContinentCode *string `location:"querystring" locationName:"continentcode" min:"2" type:"string"`
- // The code for a country geo location. The default location uses '*' for the
- // country code and will match all locations that are not matched by a geo location.
- //
- // The default geo location uses a * for the country code. All other country
- // codes follow the ISO 3166 two-character code.
+ // Amazon Route 53 uses the two-letter country codes that are specified in ISO
+ // standard 3166-1 alpha-2 (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
CountryCode *string `location:"querystring" locationName:"countrycode" min:"1" type:"string"`
- // The code for a country's subdivision (e.g., a province of Canada). A subdivision
- // code is only valid with the appropriate country code.
- //
- // Constraint: Specifying SubdivisionCode without CountryCode returns an InvalidInput
- // error.
+ // Amazon Route 53 uses the one- to three-letter subdivision codes that are
+ // specified in ISO standard 3166-1 alpha-2 (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
+ // Amazon Route 53 doesn't support subdivision codes for all countries. If you
+ // specify SubdivisionCode, you must also specify CountryCode.
SubdivisionCode *string `location:"querystring" locationName:"subdivisioncode" min:"1" type:"string"`
}
@@ -4615,11 +8292,34 @@ func (s *GetGeoLocationInput) Validate() error {
return nil
}
-// A complex type containing information about the specified geo location.
+// SetContinentCode sets the ContinentCode field's value.
+func (s *GetGeoLocationInput) SetContinentCode(v string) *GetGeoLocationInput {
+ s.ContinentCode = &v
+ return s
+}
+
+// SetCountryCode sets the CountryCode field's value.
+func (s *GetGeoLocationInput) SetCountryCode(v string) *GetGeoLocationInput {
+ s.CountryCode = &v
+ return s
+}
+
+// SetSubdivisionCode sets the SubdivisionCode field's value.
+func (s *GetGeoLocationInput) SetSubdivisionCode(v string) *GetGeoLocationInput {
+ s.SubdivisionCode = &v
+ return s
+}
+
+// A complex type that contains the response information for the specified geolocation
+// code.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetGeoLocationResponse
type GetGeoLocationOutput struct {
_ struct{} `type:"structure"`
- // A complex type that contains the information about the specified geo location.
+ // A complex type that contains the codes and full continent, country, and subdivision
+ // names for the specified geolocation code.
+ //
+ // GeoLocationDetails is a required field
GeoLocationDetails *GeoLocationDetails `type:"structure" required:"true"`
}
@@ -4633,8 +8333,15 @@ func (s GetGeoLocationOutput) GoString() string {
return s.String()
}
-// To retrieve a count of all your health checks, send a GET request to the
-// /Route 53 API version/healthcheckcount resource.
+// SetGeoLocationDetails sets the GeoLocationDetails field's value.
+func (s *GetGeoLocationOutput) SetGeoLocationDetails(v *GeoLocationDetails) *GetGeoLocationOutput {
+ s.GeoLocationDetails = v
+ return s
+}
+
+// A request for the number of health checks that are associated with the current
+// AWS account.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheckCountRequest
type GetHealthCheckCountInput struct {
_ struct{} `type:"structure"`
}
@@ -4649,12 +8356,14 @@ func (s GetHealthCheckCountInput) GoString() string {
return s.String()
}
-// A complex type that contains the count of health checks associated with the
-// current AWS account.
+// A complex type that contains the response to a GetHealthCheckCount request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheckCountResponse
type GetHealthCheckCountOutput struct {
_ struct{} `type:"structure"`
// The number of health checks associated with the current AWS account.
+ //
+ // HealthCheckCount is a required field
HealthCheckCount *int64 `type:"long" required:"true"`
}
@@ -4668,12 +8377,23 @@ func (s GetHealthCheckCountOutput) GoString() string {
return s.String()
}
-// A complex type that contains information about the request to get a health
-// check.
+// SetHealthCheckCount sets the HealthCheckCount field's value.
+func (s *GetHealthCheckCountOutput) SetHealthCheckCount(v int64) *GetHealthCheckCountOutput {
+ s.HealthCheckCount = &v
+ return s
+}
+
+// A request to get information about a specified health check.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheckRequest
type GetHealthCheckInput struct {
_ struct{} `type:"structure"`
- // The ID of the health check to retrieve.
+ // The identifier that Amazon Route 53 assigned to the health check when you
+ // created it. When you add or update a resource record set, you use this value
+ // to specify which health check to use. The value can be up to 64 characters
+ // long.
+ //
+ // HealthCheckId is a required field
HealthCheckId *string `location:"uri" locationName:"HealthCheckId" type:"string" required:"true"`
}
@@ -4700,13 +8420,22 @@ func (s *GetHealthCheckInput) Validate() error {
return nil
}
-// A complex type that contains information about the request to get the most
-// recent failure reason for a health check.
+// SetHealthCheckId sets the HealthCheckId field's value.
+func (s *GetHealthCheckInput) SetHealthCheckId(v string) *GetHealthCheckInput {
+ s.HealthCheckId = &v
+ return s
+}
+
+// A request for the reason that a health check failed most recently.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheckLastFailureReasonRequest
type GetHealthCheckLastFailureReasonInput struct {
_ struct{} `type:"structure"`
- // The ID of the health check for which you want to retrieve the reason for
- // the most recent failure.
+ // The ID for the health check for which you want the last failure reason. When
+ // you created the health check, CreateHealthCheck returned the ID in the response,
+ // in the HealthCheckId element.
+ //
+ // HealthCheckId is a required field
HealthCheckId *string `location:"uri" locationName:"HealthCheckId" type:"string" required:"true"`
}
@@ -4733,13 +8462,22 @@ func (s *GetHealthCheckLastFailureReasonInput) Validate() error {
return nil
}
-// A complex type that contains information about the most recent failure for
-// the specified health check.
+// SetHealthCheckId sets the HealthCheckId field's value.
+func (s *GetHealthCheckLastFailureReasonInput) SetHealthCheckId(v string) *GetHealthCheckLastFailureReasonInput {
+ s.HealthCheckId = &v
+ return s
+}
+
+// A complex type that contains the response to a GetHealthCheckLastFailureReason
+// request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheckLastFailureReasonResponse
type GetHealthCheckLastFailureReasonOutput struct {
_ struct{} `type:"structure"`
- // A list that contains one HealthCheckObservation element for each Amazon Route
- // 53 health checker.
+ // A list that contains one Observation element for each Amazon Route 53 health
+ // checker that is reporting a last failure reason.
+ //
+ // HealthCheckObservations is a required field
HealthCheckObservations []*HealthCheckObservation `locationNameList:"HealthCheckObservation" type:"list" required:"true"`
}
@@ -4753,11 +8491,21 @@ func (s GetHealthCheckLastFailureReasonOutput) GoString() string {
return s.String()
}
-// A complex type containing information about the specified health check.
+// SetHealthCheckObservations sets the HealthCheckObservations field's value.
+func (s *GetHealthCheckLastFailureReasonOutput) SetHealthCheckObservations(v []*HealthCheckObservation) *GetHealthCheckLastFailureReasonOutput {
+ s.HealthCheckObservations = v
+ return s
+}
+
+// A complex type that contains the response to a GetHealthCheck request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheckResponse
type GetHealthCheckOutput struct {
_ struct{} `type:"structure"`
- // A complex type that contains the information about the specified health check.
+ // A complex type that contains information about one health check that is associated
+ // with the current AWS account.
+ //
+ // HealthCheck is a required field
HealthCheck *HealthCheck `type:"structure" required:"true"`
}
@@ -4771,66 +8519,26 @@ func (s GetHealthCheckOutput) GoString() string {
return s.String()
}
-// A complex type that contains information about the request to get health
-// check status for a health check.
+// SetHealthCheck sets the HealthCheck field's value.
+func (s *GetHealthCheckOutput) SetHealthCheck(v *HealthCheck) *GetHealthCheckOutput {
+ s.HealthCheck = v
+ return s
+}
+
+// A request to get the status for a health check.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheckStatusRequest
type GetHealthCheckStatusInput struct {
_ struct{} `type:"structure"`
- // If you want Amazon Route 53 to return this resource record set in response
- // to a DNS query only when a health check is passing, include the HealthCheckId
- // element and specify the ID of the applicable health check.
+ // The ID for the health check that you want the current status for. When you
+ // created the health check, CreateHealthCheck returned the ID in the response,
+ // in the HealthCheckId element.
//
- // Amazon Route 53 determines whether a resource record set is healthy by periodically
- // sending a request to the endpoint that is specified in the health check.
- // If that endpoint returns an HTTP status code of 2xx or 3xx, the endpoint
- // is healthy. If the endpoint returns an HTTP status code of 400 or greater,
- // or if the endpoint doesn't respond for a certain amount of time, Amazon Route
- // 53 considers the endpoint unhealthy and also considers the resource record
- // set unhealthy.
+ // If you want to check the status of a calculated health check, you must use
+ // the Amazon Route 53 console or the CloudWatch console. You can't use GetHealthCheckStatus
+ // to get the status of a calculated health check.
//
- // The HealthCheckId element is only useful when Amazon Route 53 is choosing
- // between two or more resource record sets to respond to a DNS query, and you
- // want Amazon Route 53 to base the choice in part on the status of a health
- // check. Configuring health checks only makes sense in the following configurations:
- //
- // You're checking the health of the resource record sets in a weighted, latency,
- // geolocation, or failover resource record set, and you specify health check
- // IDs for all of the resource record sets. If the health check for one resource
- // record set specifies an endpoint that is not healthy, Amazon Route 53 stops
- // responding to queries using the value for that resource record set. You set
- // EvaluateTargetHealth to true for the resource record sets in an alias, weighted
- // alias, latency alias, geolocation alias, or failover alias resource record
- // set, and you specify health check IDs for all of the resource record sets
- // that are referenced by the alias resource record sets. For more information
- // about this configuration, see EvaluateTargetHealth.
- //
- // Amazon Route 53 doesn't check the health of the endpoint specified in the
- // resource record set, for example, the endpoint specified by the IP address
- // in the Value element. When you add a HealthCheckId element to a resource
- // record set, Amazon Route 53 checks the health of the endpoint that you specified
- // in the health check.
- //
- // For geolocation resource record sets, if an endpoint is unhealthy, Amazon
- // Route 53 looks for a resource record set for the larger, associated geographic
- // region. For example, suppose you have resource record sets for a state in
- // the United States, for the United States, for North America, and for all
- // locations. If the endpoint for the state resource record set is unhealthy,
- // Amazon Route 53 checks the resource record sets for the United States, for
- // North America, and for all locations (a resource record set for which the
- // value of CountryCode is *), in that order, until it finds a resource record
- // set for which the endpoint is healthy.
- //
- // If your health checks specify the endpoint only by domain name, we recommend
- // that you create a separate health check for each endpoint. For example, create
- // a health check for each HTTP server that is serving content for www.example.com.
- // For the value of FullyQualifiedDomainName, specify the domain name of the
- // server (such as us-east-1-www.example.com), not the name of the resource
- // record sets (example.com).
- //
- // In this configuration, if you create a health check for which the value
- // of FullyQualifiedDomainName matches the name of the resource record sets
- // and then associate the health check with those resource record sets, health
- // check results will be unpredictable.
+ // HealthCheckId is a required field
HealthCheckId *string `location:"uri" locationName:"HealthCheckId" type:"string" required:"true"`
}
@@ -4857,13 +8565,21 @@ func (s *GetHealthCheckStatusInput) Validate() error {
return nil
}
-// A complex type that contains information about the status of the specified
-// health check.
+// SetHealthCheckId sets the HealthCheckId field's value.
+func (s *GetHealthCheckStatusInput) SetHealthCheckId(v string) *GetHealthCheckStatusInput {
+ s.HealthCheckId = &v
+ return s
+}
+
+// A complex type that contains the response to a GetHealthCheck request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHealthCheckStatusResponse
type GetHealthCheckStatusOutput struct {
_ struct{} `type:"structure"`
// A list that contains one HealthCheckObservation element for each Amazon Route
- // 53 health checker.
+ // 53 health checker that is reporting a status about the health check endpoint.
+ //
+ // HealthCheckObservations is a required field
HealthCheckObservations []*HealthCheckObservation `locationNameList:"HealthCheckObservation" type:"list" required:"true"`
}
@@ -4877,8 +8593,15 @@ func (s GetHealthCheckStatusOutput) GoString() string {
return s.String()
}
-// To retrieve a count of all your hosted zones, send a GET request to the /Route
-// 53 API version/hostedzonecount resource.
+// SetHealthCheckObservations sets the HealthCheckObservations field's value.
+func (s *GetHealthCheckStatusOutput) SetHealthCheckObservations(v []*HealthCheckObservation) *GetHealthCheckStatusOutput {
+ s.HealthCheckObservations = v
+ return s
+}
+
+// A request to retrieve a count of all the hosted zones that are associated
+// with the current AWS account.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHostedZoneCountRequest
type GetHostedZoneCountInput struct {
_ struct{} `type:"structure"`
}
@@ -4893,12 +8616,15 @@ func (s GetHostedZoneCountInput) GoString() string {
return s.String()
}
-// A complex type that contains the count of hosted zones associated with the
-// current AWS account.
+// A complex type that contains the response to a GetHostedZoneCount request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHostedZoneCountResponse
type GetHostedZoneCountOutput struct {
_ struct{} `type:"structure"`
- // The number of hosted zones associated with the current AWS account.
+ // The total number of public and private hosted zones that are associated with
+ // the current AWS account.
+ //
+ // HostedZoneCount is a required field
HostedZoneCount *int64 `type:"long" required:"true"`
}
@@ -4912,12 +8638,20 @@ func (s GetHostedZoneCountOutput) GoString() string {
return s.String()
}
-// The input for a GetHostedZone request.
+// SetHostedZoneCount sets the HostedZoneCount field's value.
+func (s *GetHostedZoneCountOutput) SetHostedZoneCount(v int64) *GetHostedZoneCountOutput {
+ s.HostedZoneCount = &v
+ return s
+}
+
+// A request to get information about a specified hosted zone.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHostedZoneRequest
type GetHostedZoneInput struct {
_ struct{} `type:"structure"`
- // The ID of the hosted zone for which you want to get a list of the name servers
- // in the delegation set.
+ // The ID of the hosted zone that you want to get information about.
+ //
+ // Id is a required field
Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
}
@@ -4944,19 +8678,29 @@ func (s *GetHostedZoneInput) Validate() error {
return nil
}
-// A complex type containing information about the specified hosted zone.
+// SetId sets the Id field's value.
+func (s *GetHostedZoneInput) SetId(v string) *GetHostedZoneInput {
+ s.Id = &v
+ return s
+}
+
+// A complex type that contain the response to a GetHostedZone request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetHostedZoneResponse
type GetHostedZoneOutput struct {
_ struct{} `type:"structure"`
- // A complex type that contains information about the name servers for the specified
+ // A complex type that lists the Amazon Route 53 name servers for the specified
// hosted zone.
DelegationSet *DelegationSet `type:"structure"`
- // A complex type that contains the information about the specified hosted zone.
+ // A complex type that contains general information about the specified hosted
+ // zone.
+ //
+ // HostedZone is a required field
HostedZone *HostedZone `type:"structure" required:"true"`
- // A complex type that contains information about VPCs associated with the specified
- // hosted zone.
+ // A complex type that contains information about the VPCs that are associated
+ // with the specified hosted zone.
VPCs []*VPC `locationNameList:"VPC" min:"1" type:"list"`
}
@@ -4970,12 +8714,103 @@ func (s GetHostedZoneOutput) GoString() string {
return s.String()
}
-// The input for a GetReusableDelegationSet request.
+// SetDelegationSet sets the DelegationSet field's value.
+func (s *GetHostedZoneOutput) SetDelegationSet(v *DelegationSet) *GetHostedZoneOutput {
+ s.DelegationSet = v
+ return s
+}
+
+// SetHostedZone sets the HostedZone field's value.
+func (s *GetHostedZoneOutput) SetHostedZone(v *HostedZone) *GetHostedZoneOutput {
+ s.HostedZone = v
+ return s
+}
+
+// SetVPCs sets the VPCs field's value.
+func (s *GetHostedZoneOutput) SetVPCs(v []*VPC) *GetHostedZoneOutput {
+ s.VPCs = v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetQueryLoggingConfigRequest
+type GetQueryLoggingConfigInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the configuration for DNS query logging that you want to get information
+ // about.
+ //
+ // Id is a required field
+ Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetQueryLoggingConfigInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetQueryLoggingConfigInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetQueryLoggingConfigInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetQueryLoggingConfigInput"}
+ if s.Id == nil {
+ invalidParams.Add(request.NewErrParamRequired("Id"))
+ }
+ if s.Id != nil && len(*s.Id) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Id", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetId sets the Id field's value.
+func (s *GetQueryLoggingConfigInput) SetId(v string) *GetQueryLoggingConfigInput {
+ s.Id = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetQueryLoggingConfigResponse
+type GetQueryLoggingConfigOutput struct {
+ _ struct{} `type:"structure"`
+
+ // A complex type that contains information about the query logging configuration
+ // that you specified in a GetQueryLoggingConfig request.
+ //
+ // QueryLoggingConfig is a required field
+ QueryLoggingConfig *QueryLoggingConfig `type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s GetQueryLoggingConfigOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetQueryLoggingConfigOutput) GoString() string {
+ return s.String()
+}
+
+// SetQueryLoggingConfig sets the QueryLoggingConfig field's value.
+func (s *GetQueryLoggingConfigOutput) SetQueryLoggingConfig(v *QueryLoggingConfig) *GetQueryLoggingConfigOutput {
+ s.QueryLoggingConfig = v
+ return s
+}
+
+// A request to get information about a specified reusable delegation set.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetReusableDelegationSetRequest
type GetReusableDelegationSetInput struct {
_ struct{} `type:"structure"`
- // The ID of the reusable delegation set for which you want to get a list of
- // the name server.
+ // The ID of the reusable delegation set that you want to get a list of name
+ // servers for.
+ //
+ // Id is a required field
Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
}
@@ -5002,13 +8837,21 @@ func (s *GetReusableDelegationSetInput) Validate() error {
return nil
}
-// A complex type containing information about the specified reusable delegation
-// set.
+// SetId sets the Id field's value.
+func (s *GetReusableDelegationSetInput) SetId(v string) *GetReusableDelegationSetInput {
+ s.Id = &v
+ return s
+}
+
+// A complex type that contains the response to the GetReusableDelegationSet
+// request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetReusableDelegationSetResponse
type GetReusableDelegationSetOutput struct {
_ struct{} `type:"structure"`
- // A complex type that contains the information about the nameservers for the
- // specified delegation set ID.
+ // A complex type that contains information about the reusable delegation set.
+ //
+ // DelegationSet is a required field
DelegationSet *DelegationSet `type:"structure" required:"true"`
}
@@ -5022,17 +8865,26 @@ func (s GetReusableDelegationSetOutput) GoString() string {
return s.String()
}
-// Gets information about a specific traffic policy version. To get the information,
-// send a GET request to the /Route 53 API version/trafficpolicy resource, and
-// specify the ID and the version of the traffic policy.
+// SetDelegationSet sets the DelegationSet field's value.
+func (s *GetReusableDelegationSetOutput) SetDelegationSet(v *DelegationSet) *GetReusableDelegationSetOutput {
+ s.DelegationSet = v
+ return s
+}
+
+// Gets information about a specific traffic policy version.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetTrafficPolicyRequest
type GetTrafficPolicyInput struct {
_ struct{} `type:"structure"`
// The ID of the traffic policy that you want to get information about.
- Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
+ //
+ // Id is a required field
+ Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
// The version number of the traffic policy that you want to get information
// about.
+ //
+ // Version is a required field
Version *int64 `location:"uri" locationName:"Version" min:"1" type:"integer" required:"true"`
}
@@ -5052,6 +8904,9 @@ func (s *GetTrafficPolicyInput) Validate() error {
if s.Id == nil {
invalidParams.Add(request.NewErrParamRequired("Id"))
}
+ if s.Id != nil && len(*s.Id) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Id", 1))
+ }
if s.Version == nil {
invalidParams.Add(request.NewErrParamRequired("Version"))
}
@@ -5065,8 +8920,21 @@ func (s *GetTrafficPolicyInput) Validate() error {
return nil
}
-// To retrieve a count of all your traffic policy instances, send a GET request
-// to the /Route 53 API version/trafficpolicyinstancecount resource.
+// SetId sets the Id field's value.
+func (s *GetTrafficPolicyInput) SetId(v string) *GetTrafficPolicyInput {
+ s.Id = &v
+ return s
+}
+
+// SetVersion sets the Version field's value.
+func (s *GetTrafficPolicyInput) SetVersion(v int64) *GetTrafficPolicyInput {
+ s.Version = &v
+ return s
+}
+
+// Request to get the number of traffic policy instances that are associated
+// with the current AWS account.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetTrafficPolicyInstanceCountRequest
type GetTrafficPolicyInstanceCountInput struct {
_ struct{} `type:"structure"`
}
@@ -5081,13 +8949,16 @@ func (s GetTrafficPolicyInstanceCountInput) GoString() string {
return s.String()
}
-// A complex type that contains information about the number of traffic policy
-// instances that are associated with the current AWS account.
+// A complex type that contains information about the resource record sets that
+// Amazon Route 53 created based on a specified traffic policy.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetTrafficPolicyInstanceCountResponse
type GetTrafficPolicyInstanceCountOutput struct {
_ struct{} `type:"structure"`
// The number of traffic policy instances that are associated with the current
// AWS account.
+ //
+ // TrafficPolicyInstanceCount is a required field
TrafficPolicyInstanceCount *int64 `type:"integer" required:"true"`
}
@@ -5101,15 +8972,21 @@ func (s GetTrafficPolicyInstanceCountOutput) GoString() string {
return s.String()
}
+// SetTrafficPolicyInstanceCount sets the TrafficPolicyInstanceCount field's value.
+func (s *GetTrafficPolicyInstanceCountOutput) SetTrafficPolicyInstanceCount(v int64) *GetTrafficPolicyInstanceCountOutput {
+ s.TrafficPolicyInstanceCount = &v
+ return s
+}
+
// Gets information about a specified traffic policy instance.
-//
-// To get information about a traffic policy instance, send a GET request to
-// the /Route 53 API version/trafficpolicyinstance/Id resource.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetTrafficPolicyInstanceRequest
type GetTrafficPolicyInstanceInput struct {
_ struct{} `type:"structure"`
// The ID of the traffic policy instance that you want to get information about.
- Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
+ //
+ // Id is a required field
+ Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
}
// String returns the string representation
@@ -5128,6 +9005,9 @@ func (s *GetTrafficPolicyInstanceInput) Validate() error {
if s.Id == nil {
invalidParams.Add(request.NewErrParamRequired("Id"))
}
+ if s.Id != nil && len(*s.Id) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Id", 1))
+ }
if invalidParams.Len() > 0 {
return invalidParams
@@ -5135,12 +9015,21 @@ func (s *GetTrafficPolicyInstanceInput) Validate() error {
return nil
}
+// SetId sets the Id field's value.
+func (s *GetTrafficPolicyInstanceInput) SetId(v string) *GetTrafficPolicyInstanceInput {
+ s.Id = &v
+ return s
+}
+
// A complex type that contains information about the resource record sets that
// Amazon Route 53 created based on a specified traffic policy.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetTrafficPolicyInstanceResponse
type GetTrafficPolicyInstanceOutput struct {
_ struct{} `type:"structure"`
// A complex type that contains settings for the traffic policy instance.
+ //
+ // TrafficPolicyInstance is a required field
TrafficPolicyInstance *TrafficPolicyInstance `type:"structure" required:"true"`
}
@@ -5154,11 +9043,20 @@ func (s GetTrafficPolicyInstanceOutput) GoString() string {
return s.String()
}
+// SetTrafficPolicyInstance sets the TrafficPolicyInstance field's value.
+func (s *GetTrafficPolicyInstanceOutput) SetTrafficPolicyInstance(v *TrafficPolicyInstance) *GetTrafficPolicyInstanceOutput {
+ s.TrafficPolicyInstance = v
+ return s
+}
+
// A complex type that contains the response information for the request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetTrafficPolicyResponse
type GetTrafficPolicyOutput struct {
_ struct{} `type:"structure"`
// A complex type that contains settings for the specified traffic policy.
+ //
+ // TrafficPolicy is a required field
TrafficPolicy *TrafficPolicy `type:"structure" required:"true"`
}
@@ -5172,26 +9070,45 @@ func (s GetTrafficPolicyOutput) GoString() string {
return s.String()
}
-// A complex type that contains identifying information about the health check.
+// SetTrafficPolicy sets the TrafficPolicy field's value.
+func (s *GetTrafficPolicyOutput) SetTrafficPolicy(v *TrafficPolicy) *GetTrafficPolicyOutput {
+ s.TrafficPolicy = v
+ return s
+}
+
+// A complex type that contains information about one health check that is associated
+// with the current AWS account.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/HealthCheck
type HealthCheck struct {
_ struct{} `type:"structure"`
- // A unique string that identifies the request to create the health check.
+ // A unique string that you specified when you created the health check.
+ //
+ // CallerReference is a required field
CallerReference *string `min:"1" type:"string" required:"true"`
- // For CLOUDWATCH_METRIC health checks, a complex type that contains information
- // about the CloudWatch alarm that you're associating with the health check.
+ // A complex type that contains information about the CloudWatch alarm that
+ // Amazon Route 53 is monitoring for this health check.
CloudWatchAlarmConfiguration *CloudWatchAlarmConfiguration `type:"structure"`
- // A complex type that contains the health check configuration.
+ // A complex type that contains detailed information about one health check.
+ //
+ // HealthCheckConfig is a required field
HealthCheckConfig *HealthCheckConfig `type:"structure" required:"true"`
// The version of the health check. You can optionally pass this value in a
// call to UpdateHealthCheck to prevent overwriting another change to the health
// check.
+ //
+ // HealthCheckVersion is a required field
HealthCheckVersion *int64 `min:"1" type:"long" required:"true"`
- // The ID of the specified health check.
+ // The identifier that Amazon Route 53assigned to the health check when you
+ // created it. When you add or update a resource record set, you use this value
+ // to specify which health check to use. The value can be up to 64 characters
+ // long.
+ //
+ // Id is a required field
Id *string `type:"string" required:"true"`
}
@@ -5205,88 +9122,308 @@ func (s HealthCheck) GoString() string {
return s.String()
}
-// A complex type that contains the health check configuration.
+// SetCallerReference sets the CallerReference field's value.
+func (s *HealthCheck) SetCallerReference(v string) *HealthCheck {
+ s.CallerReference = &v
+ return s
+}
+
+// SetCloudWatchAlarmConfiguration sets the CloudWatchAlarmConfiguration field's value.
+func (s *HealthCheck) SetCloudWatchAlarmConfiguration(v *CloudWatchAlarmConfiguration) *HealthCheck {
+ s.CloudWatchAlarmConfiguration = v
+ return s
+}
+
+// SetHealthCheckConfig sets the HealthCheckConfig field's value.
+func (s *HealthCheck) SetHealthCheckConfig(v *HealthCheckConfig) *HealthCheck {
+ s.HealthCheckConfig = v
+ return s
+}
+
+// SetHealthCheckVersion sets the HealthCheckVersion field's value.
+func (s *HealthCheck) SetHealthCheckVersion(v int64) *HealthCheck {
+ s.HealthCheckVersion = &v
+ return s
+}
+
+// SetId sets the Id field's value.
+func (s *HealthCheck) SetId(v string) *HealthCheck {
+ s.Id = &v
+ return s
+}
+
+// A complex type that contains information about the health check.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/HealthCheckConfig
type HealthCheckConfig struct {
_ struct{} `type:"structure"`
- // A complex type that contains information to uniquely identify the CloudWatch
- // alarm that you're associating with a Route 53 health check.
+ // A complex type that identifies the CloudWatch alarm that you want Amazon
+ // Route 53 health checkers to use to determine whether this health check is
+ // healthy.
AlarmIdentifier *AlarmIdentifier `type:"structure"`
- // For a specified parent health check, a list of HealthCheckId values for the
- // associated child health checks.
+ // (CALCULATED Health Checks Only) A complex type that contains one ChildHealthCheck
+ // element for each health check that you want to associate with a CALCULATED
+ // health check.
ChildHealthChecks []*string `locationNameList:"ChildHealthCheck" type:"list"`
// Specify whether you want Amazon Route 53 to send the value of FullyQualifiedDomainName
- // to the endpoint in the client_hello message during TLS negotiation. If you
- // don't specify a value for EnableSNI, Amazon Route 53 defaults to true when
- // Type is HTTPS or HTTPS_STR_MATCH and defaults to false when Type is any other
- // value.
+ // to the endpoint in the client_hello message during TLS negotiation. This
+ // allows the endpoint to respond to HTTPS health check requests with the applicable
+ // SSL/TLS certificate.
+ //
+ // Some endpoints require that HTTPS requests include the host name in the client_hello
+ // message. If you don't enable SNI, the status of the health check will be
+ // SSL alert handshake_failure. A health check can also have that status for
+ // other reasons. If SNI is enabled and you're still getting the error, check
+ // the SSL/TLS configuration on your endpoint and confirm that your certificate
+ // is valid.
+ //
+ // The SSL/TLS certificate on your endpoint includes a domain name in the Common
+ // Name field and possibly several more in the Subject Alternative Names field.
+ // One of the domain names in the certificate should match the value that you
+ // specify for FullyQualifiedDomainName. If the endpoint responds to the client_hello
+ // message with a certificate that does not include the domain name that you
+ // specified in FullyQualifiedDomainName, a health checker will retry the handshake.
+ // In the second attempt, the health checker will omit FullyQualifiedDomainName
+ // from the client_hello message.
EnableSNI *bool `type:"boolean"`
// The number of consecutive health checks that an endpoint must pass or fail
// for Amazon Route 53 to change the current status of the endpoint from unhealthy
- // to healthy or vice versa.
+ // to healthy or vice versa. For more information, see How Amazon Route 53 Determines
+ // Whether an Endpoint Is Healthy (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)
+ // in the Amazon Route 53 Developer Guide.
//
- // Valid values are integers between 1 and 10. For more information, see "How
- // Amazon Route 53 Determines Whether an Endpoint Is Healthy" in the Amazon
- // Route 53 Developer Guide.
+ // If you don't specify a value for FailureThreshold, the default value is three
+ // health checks.
FailureThreshold *int64 `min:"1" type:"integer"`
- // Fully qualified domain name of the instance to be health checked.
+ // Amazon Route 53 behavior depends on whether you specify a value for IPAddress.
+ //
+ // If you specify a value forIPAddress:
+ //
+ // Amazon Route 53 sends health check requests to the specified IPv4 or IPv6
+ // address and passes the value of FullyQualifiedDomainName in the Host header
+ // for all health checks except TCP health checks. This is typically the fully
+ // qualified DNS name of the endpoint on which you want Amazon Route 53 to perform
+ // health checks.
+ //
+ // When Amazon Route 53 checks the health of an endpoint, here is how it constructs
+ // the Host header:
+ //
+ // * If you specify a value of 80 for Port and HTTP or HTTP_STR_MATCH for
+ // Type, Amazon Route 53 passes the value of FullyQualifiedDomainName to
+ // the endpoint in the Host header.
+ //
+ // * If you specify a value of 443 for Port and HTTPS or HTTPS_STR_MATCH
+ // for Type, Amazon Route 53 passes the value of FullyQualifiedDomainName
+ // to the endpoint in the Host header.
+ //
+ // * If you specify another value for Port and any value except TCP for Type,
+ // Amazon Route 53 passes FullyQualifiedDomainName:Port to the endpoint in
+ // the Host header.
+ //
+ // If you don't specify a value for FullyQualifiedDomainName, Amazon Route 53
+ // substitutes the value of IPAddress in the Host header in each of the preceding
+ // cases.
+ //
+ // If you don't specify a value for IPAddress:
+ //
+ // Amazon Route 53 sends a DNS request to the domain that you specify for FullyQualifiedDomainName
+ // at the interval that you specify for RequestInterval. Using an IPv4 address
+ // that DNS returns, Amazon Route 53 then checks the health of the endpoint.
+ //
+ // If you don't specify a value for IPAddress, Amazon Route 53 uses only IPv4
+ // to send health checks to the endpoint. If there's no resource record set
+ // with a type of A for the name that you specify for FullyQualifiedDomainName,
+ // the health check fails with a "DNS resolution failed" error.
+ //
+ // If you want to check the health of weighted, latency, or failover resource
+ // record sets and you choose to specify the endpoint only by FullyQualifiedDomainName,
+ // we recommend that you create a separate health check for each endpoint. For
+ // example, create a health check for each HTTP server that is serving content
+ // for www.example.com. For the value of FullyQualifiedDomainName, specify the
+ // domain name of the server (such as us-east-2-www.example.com), not the name
+ // of the resource record sets (www.example.com).
+ //
+ // In this configuration, if you create a health check for which the value of
+ // FullyQualifiedDomainName matches the name of the resource record sets and
+ // you then associate the health check with those resource record sets, health
+ // check results will be unpredictable.
+ //
+ // In addition, if the value that you specify for Type is HTTP, HTTPS, HTTP_STR_MATCH,
+ // or HTTPS_STR_MATCH, Amazon Route 53 passes the value of FullyQualifiedDomainName
+ // in the Host header, as it does when you specify a value for IPAddress. If
+ // the value of Type is TCP, Amazon Route 53 doesn't pass a Host header.
FullyQualifiedDomainName *string `type:"string"`
- // The minimum number of child health checks that must be healthy for Amazon
- // Route 53 to consider the parent health check to be healthy. Valid values
- // are integers between 0 and 256, inclusive.
+ // The number of child health checks that are associated with a CALCULATED health
+ // that Amazon Route 53 must consider healthy for the CALCULATED health check
+ // to be considered healthy. To specify the child health checks that you want
+ // to associate with a CALCULATED health check, use the HealthCheckConfig$ChildHealthChecks
+ // and HealthCheckConfig$ChildHealthChecks elements.
+ //
+ // Note the following:
+ //
+ // * If you specify a number greater than the number of child health checks,
+ // Amazon Route 53 always considers this health check to be unhealthy.
+ //
+ // * If you specify 0, Amazon Route 53 always considers this health check
+ // to be healthy.
HealthThreshold *int64 `type:"integer"`
- // IP Address of the instance being checked.
+ // The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53
+ // to perform health checks on. If you don't specify a value for IPAddress,
+ // Amazon Route 53 sends a DNS request to resolve the domain name that you specify
+ // in FullyQualifiedDomainName at the interval that you specify in RequestInterval.
+ // Using an IP address returned by DNS, Amazon Route 53 then checks the health
+ // of the endpoint.
+ //
+ // Use one of the following formats for the value of IPAddress:
+ //
+ // * IPv4 address: four values between 0 and 255, separated by periods (.),
+ // for example, 192.0.2.44.
+ //
+ // * IPv6 address: eight groups of four hexadecimal values, separated by
+ // colons (:), for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345. You
+ // can also shorten IPv6 addresses as described in RFC 5952, for example,
+ // 2001:db8:85a3::abcd:1:2345.
+ //
+ // If the endpoint is an EC2 instance, we recommend that you create an Elastic
+ // IP address, associate it with your EC2 instance, and specify the Elastic
+ // IP address for IPAddress. This ensures that the IP address of your instance
+ // will never change.
+ //
+ // For more information, see HealthCheckConfig$FullyQualifiedDomainName.
+ //
+ // Constraints: Amazon Route 53 can't check the health of endpoints for which
+ // the IP address is in local, private, non-routable, or multicast ranges. For
+ // more information about IP addresses for which you can't create health checks,
+ // see the following documents:
+ //
+ // * RFC 5735, Special Use IPv4 Addresses (https://tools.ietf.org/html/rfc5735)
+ //
+ // * RFC 6598, IANA-Reserved IPv4 Prefix for Shared Address Space (https://tools.ietf.org/html/rfc6598)
+ //
+ // * RFC 5156, Special-Use IPv6 Addresses (https://tools.ietf.org/html/rfc5156)
+ //
+ // When the value of Type is CALCULATED or CLOUDWATCH_METRIC, omit IPAddress.
IPAddress *string `type:"string"`
- // The status of the health check when CloudWatch has insufficient data about
- // the state of associated alarm. Valid values are Healthy, Unhealthy and LastKnownStatus.
+ // When CloudWatch has insufficient data about the metric to determine the alarm
+ // state, the status that you want Amazon Route 53 to assign to the health check:
+ //
+ // * Healthy: Amazon Route 53 considers the health check to be healthy.
+ //
+ // * Unhealthy: Amazon Route 53 considers the health check to be unhealthy.
+ //
+ // * LastKnownStatus: Amazon Route 53 uses the status of the health check
+ // from the last time that CloudWatch had sufficient data to determine the
+ // alarm state. For new health checks that have no last known status, the
+ // default status for the health check is healthy.
InsufficientDataHealthStatus *string `type:"string" enum:"InsufficientDataHealthStatus"`
- // A boolean value that indicates whether the status of health check should
- // be inverted. For example, if a health check is healthy but Inverted is True,
- // then Amazon Route 53 considers the health check to be unhealthy.
+ // Specify whether you want Amazon Route 53 to invert the status of a health
+ // check, for example, to consider a health check unhealthy when it otherwise
+ // would be considered healthy.
Inverted *bool `type:"boolean"`
- // A Boolean value that indicates whether you want Amazon Route 53 to measure
- // the latency between health checkers in multiple AWS regions and your endpoint
- // and to display CloudWatch latency graphs in the Amazon Route 53 console.
+ // Specify whether you want Amazon Route 53 to measure the latency between health
+ // checkers in multiple AWS regions and your endpoint, and to display CloudWatch
+ // latency graphs on the Health Checks page in the Amazon Route 53 console.
+ //
+ // You can't change the value of MeasureLatency after you create a health check.
MeasureLatency *bool `type:"boolean"`
- // Port on which connection will be opened to the instance to health check.
- // For HTTP and HTTP_STR_MATCH this defaults to 80 if the port is not specified.
- // For HTTPS and HTTPS_STR_MATCH this defaults to 443 if the port is not specified.
+ // The port on the endpoint on which you want Amazon Route 53 to perform health
+ // checks. Specify a value for Port only when you specify a value for IPAddress.
Port *int64 `min:"1" type:"integer"`
- // A list of HealthCheckRegion values that you want Amazon Route 53 to use to
- // perform health checks for the specified endpoint. You must specify at least
- // three regions.
- Regions []*string `locationNameList:"Region" min:"1" type:"list"`
+ // A complex type that contains one Region element for each region from which
+ // you want Amazon Route 53 health checkers to check the specified endpoint.
+ //
+ // If you don't specify any regions, Amazon Route 53 health checkers automatically
+ // performs checks from all of the regions that are listed under Valid Values.
+ //
+ // If you update a health check to remove a region that has been performing
+ // health checks, Amazon Route 53 will briefly continue to perform checks from
+ // that region to ensure that some health checkers are always checking the endpoint
+ // (for example, if you replace three regions with four different regions).
+ Regions []*string `locationNameList:"Region" min:"3" type:"list"`
// The number of seconds between the time that Amazon Route 53 gets a response
- // from your endpoint and the time that it sends the next health-check request.
+ // from your endpoint and the time that it sends the next health check request.
+ // Each Amazon Route 53 health checker makes requests at this interval.
//
- // Each Amazon Route 53 health checker makes requests at this interval. Valid
- // values are 10 and 30. The default value is 30.
+ // You can't change the value of RequestInterval after you create a health check.
+ //
+ // If you don't specify a value for RequestInterval, the default value is 30
+ // seconds.
RequestInterval *int64 `min:"10" type:"integer"`
- // Path to ping on the instance to check the health. Required for HTTP, HTTPS,
- // HTTP_STR_MATCH, and HTTPS_STR_MATCH health checks. The HTTP request is issued
- // to the instance on the given port and path.
+ // The path, if any, that you want Amazon Route 53 to request when performing
+ // health checks. The path can be any value for which your endpoint will return
+ // an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example,
+ // the file /docs/route53-health-check.html.
ResourcePath *string `type:"string"`
- // A string to search for in the body of a health check response. Required for
- // HTTP_STR_MATCH and HTTPS_STR_MATCH health checks. Amazon Route 53 considers
- // case when searching for SearchString in the response body.
+ // If the value of Type is HTTP_STR_MATCH or HTTP_STR_MATCH, the string that
+ // you want Amazon Route 53 to search for in the response body from the specified
+ // resource. If the string appears in the response body, Amazon Route 53 considers
+ // the resource healthy.
+ //
+ // Amazon Route 53 considers case when searching for SearchString in the response
+ // body.
SearchString *string `type:"string"`
- // The type of health check to be performed. Currently supported types are TCP,
- // HTTP, HTTPS, HTTP_STR_MATCH, HTTPS_STR_MATCH, CALCULATED and CLOUDWATCH_METRIC.
+ // The type of health check that you want to create, which indicates how Amazon
+ // Route 53 determines whether an endpoint is healthy.
+ //
+ // You can't change the value of Type after you create a health check.
+ //
+ // You can create the following types of health checks:
+ //
+ // * HTTP: Amazon Route 53 tries to establish a TCP connection. If successful,
+ // Amazon Route 53 submits an HTTP request and waits for an HTTP status code
+ // of 200 or greater and less than 400.
+ //
+ // * HTTPS: Amazon Route 53 tries to establish a TCP connection. If successful,
+ // Amazon Route 53 submits an HTTPS request and waits for an HTTP status
+ // code of 200 or greater and less than 400.
+ //
+ // If you specify HTTPS for the value of Type, the endpoint must support TLS
+ // v1.0 or later.
+ //
+ // * HTTP_STR_MATCH: Amazon Route 53 tries to establish a TCP connection.
+ // If successful, Amazon Route 53 submits an HTTP request and searches the
+ // first 5,120 bytes of the response body for the string that you specify
+ // in SearchString.
+ //
+ // * HTTPS_STR_MATCH: Amazon Route 53 tries to establish a TCP connection.
+ // If successful, Amazon Route 53 submits an HTTPS request and searches the
+ // first 5,120 bytes of the response body for the string that you specify
+ // in SearchString.
+ //
+ // * TCP: Amazon Route 53 tries to establish a TCP connection.
+ //
+ // * CLOUDWATCH_METRIC: The health check is associated with a CloudWatch
+ // alarm. If the state of the alarm is OK, the health check is considered
+ // healthy. If the state is ALARM, the health check is considered unhealthy.
+ // If CloudWatch doesn't have sufficient data to determine whether the state
+ // is OK or ALARM, the health check status depends on the setting for InsufficientDataHealthStatus:
+ // Healthy, Unhealthy, or LastKnownStatus.
+ //
+ // * CALCULATED: For health checks that monitor the status of other health
+ // checks, Amazon Route 53 adds up the number of health checks that Amazon
+ // Route 53 health checkers consider to be healthy and compares that number
+ // with the value of HealthThreshold.
+ //
+ // For more information, see How Amazon Route 53 Determines Whether an Endpoint
+ // Is Healthy (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)
+ // in the Amazon Route 53 Developer Guide.
+ //
+ // Type is a required field
Type *string `type:"string" required:"true" enum:"HealthCheckType"`
}
@@ -5309,8 +9446,8 @@ func (s *HealthCheckConfig) Validate() error {
if s.Port != nil && *s.Port < 1 {
invalidParams.Add(request.NewErrParamMinValue("Port", 1))
}
- if s.Regions != nil && len(s.Regions) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Regions", 1))
+ if s.Regions != nil && len(s.Regions) < 3 {
+ invalidParams.Add(request.NewErrParamMinLen("Regions", 3))
}
if s.RequestInterval != nil && *s.RequestInterval < 10 {
invalidParams.Add(request.NewErrParamMinValue("RequestInterval", 10))
@@ -5330,21 +9467,118 @@ func (s *HealthCheckConfig) Validate() error {
return nil
}
-// A complex type that contains the IP address of a Amazon Route 53 health checker
-// and the reason for the health check status.
+// SetAlarmIdentifier sets the AlarmIdentifier field's value.
+func (s *HealthCheckConfig) SetAlarmIdentifier(v *AlarmIdentifier) *HealthCheckConfig {
+ s.AlarmIdentifier = v
+ return s
+}
+
+// SetChildHealthChecks sets the ChildHealthChecks field's value.
+func (s *HealthCheckConfig) SetChildHealthChecks(v []*string) *HealthCheckConfig {
+ s.ChildHealthChecks = v
+ return s
+}
+
+// SetEnableSNI sets the EnableSNI field's value.
+func (s *HealthCheckConfig) SetEnableSNI(v bool) *HealthCheckConfig {
+ s.EnableSNI = &v
+ return s
+}
+
+// SetFailureThreshold sets the FailureThreshold field's value.
+func (s *HealthCheckConfig) SetFailureThreshold(v int64) *HealthCheckConfig {
+ s.FailureThreshold = &v
+ return s
+}
+
+// SetFullyQualifiedDomainName sets the FullyQualifiedDomainName field's value.
+func (s *HealthCheckConfig) SetFullyQualifiedDomainName(v string) *HealthCheckConfig {
+ s.FullyQualifiedDomainName = &v
+ return s
+}
+
+// SetHealthThreshold sets the HealthThreshold field's value.
+func (s *HealthCheckConfig) SetHealthThreshold(v int64) *HealthCheckConfig {
+ s.HealthThreshold = &v
+ return s
+}
+
+// SetIPAddress sets the IPAddress field's value.
+func (s *HealthCheckConfig) SetIPAddress(v string) *HealthCheckConfig {
+ s.IPAddress = &v
+ return s
+}
+
+// SetInsufficientDataHealthStatus sets the InsufficientDataHealthStatus field's value.
+func (s *HealthCheckConfig) SetInsufficientDataHealthStatus(v string) *HealthCheckConfig {
+ s.InsufficientDataHealthStatus = &v
+ return s
+}
+
+// SetInverted sets the Inverted field's value.
+func (s *HealthCheckConfig) SetInverted(v bool) *HealthCheckConfig {
+ s.Inverted = &v
+ return s
+}
+
+// SetMeasureLatency sets the MeasureLatency field's value.
+func (s *HealthCheckConfig) SetMeasureLatency(v bool) *HealthCheckConfig {
+ s.MeasureLatency = &v
+ return s
+}
+
+// SetPort sets the Port field's value.
+func (s *HealthCheckConfig) SetPort(v int64) *HealthCheckConfig {
+ s.Port = &v
+ return s
+}
+
+// SetRegions sets the Regions field's value.
+func (s *HealthCheckConfig) SetRegions(v []*string) *HealthCheckConfig {
+ s.Regions = v
+ return s
+}
+
+// SetRequestInterval sets the RequestInterval field's value.
+func (s *HealthCheckConfig) SetRequestInterval(v int64) *HealthCheckConfig {
+ s.RequestInterval = &v
+ return s
+}
+
+// SetResourcePath sets the ResourcePath field's value.
+func (s *HealthCheckConfig) SetResourcePath(v string) *HealthCheckConfig {
+ s.ResourcePath = &v
+ return s
+}
+
+// SetSearchString sets the SearchString field's value.
+func (s *HealthCheckConfig) SetSearchString(v string) *HealthCheckConfig {
+ s.SearchString = &v
+ return s
+}
+
+// SetType sets the Type field's value.
+func (s *HealthCheckConfig) SetType(v string) *HealthCheckConfig {
+ s.Type = &v
+ return s
+}
+
+// A complex type that contains the last failure reason as reported by one Amazon
+// Route 53 health checker.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/HealthCheckObservation
type HealthCheckObservation struct {
_ struct{} `type:"structure"`
- // The IP address of the Amazon Route 53 health checker that performed this
- // health check.
+ // The IP address of the Amazon Route 53 health checker that provided the failure
+ // reason in StatusReport.
IPAddress *string `type:"string"`
- // The HealthCheckRegion of the Amazon Route 53 health checker that performed
- // this health check.
+ // The region of the Amazon Route 53 health checker that provided the status
+ // in StatusReport.
Region *string `min:"1" type:"string" enum:"HealthCheckRegion"`
- // A complex type that contains information about the health check status for
- // the current observation.
+ // A complex type that contains the last failure reason as reported by one Amazon
+ // Route 53 health checker and the time of the failed health check.
StatusReport *StatusReport `type:"structure"`
}
@@ -5358,31 +9592,56 @@ func (s HealthCheckObservation) GoString() string {
return s.String()
}
-// A complex type that contain information about the specified hosted zone.
+// SetIPAddress sets the IPAddress field's value.
+func (s *HealthCheckObservation) SetIPAddress(v string) *HealthCheckObservation {
+ s.IPAddress = &v
+ return s
+}
+
+// SetRegion sets the Region field's value.
+func (s *HealthCheckObservation) SetRegion(v string) *HealthCheckObservation {
+ s.Region = &v
+ return s
+}
+
+// SetStatusReport sets the StatusReport field's value.
+func (s *HealthCheckObservation) SetStatusReport(v *StatusReport) *HealthCheckObservation {
+ s.StatusReport = v
+ return s
+}
+
+// A complex type that contains general information about the hosted zone.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/HostedZone
type HostedZone struct {
_ struct{} `type:"structure"`
- // A unique string that identifies the request to create the hosted zone.
+ // The value that you specified for CallerReference when you created the hosted
+ // zone.
+ //
+ // CallerReference is a required field
CallerReference *string `min:"1" type:"string" required:"true"`
- // A complex type that contains the Comment element.
+ // A complex type that includes the Comment and PrivateZone elements. If you
+ // omitted the HostedZoneConfig and Comment elements from the request, the Config
+ // and Comment elements don't appear in the response.
Config *HostedZoneConfig `type:"structure"`
- // The ID of the specified hosted zone.
+ // The ID that Amazon Route 53 assigned to the hosted zone when you created
+ // it.
+ //
+ // Id is a required field
Id *string `type:"string" required:"true"`
- // The name of the domain. This must be a fully-specified domain, for example,
- // www.example.com. The trailing dot is optional; Amazon Route 53 assumes that
- // the domain name is fully qualified. This means that Amazon Route 53 treats
- // www.example.com (without a trailing dot) and www.example.com. (with a trailing
- // dot) as identical.
+ // The name of the domain. For public hosted zones, this is the name that you
+ // have registered with your DNS registrar.
//
- // This is the name you have registered with your DNS registrar. You should
- // ask your registrar to change the authoritative name servers for your domain
- // to the set of NameServers elements returned in DelegationSet.
+ // For information about how to specify characters other than a-z, 0-9, and
+ // - (hyphen) and how to specify internationalized domain names, see CreateHostedZone.
+ //
+ // Name is a required field
Name *string `type:"string" required:"true"`
- // Total number of resource record sets in the hosted zone.
+ // The number of resource record sets in the hosted zone.
ResourceRecordSetCount *int64 `type:"long"`
}
@@ -5396,23 +9655,47 @@ func (s HostedZone) GoString() string {
return s.String()
}
+// SetCallerReference sets the CallerReference field's value.
+func (s *HostedZone) SetCallerReference(v string) *HostedZone {
+ s.CallerReference = &v
+ return s
+}
+
+// SetConfig sets the Config field's value.
+func (s *HostedZone) SetConfig(v *HostedZoneConfig) *HostedZone {
+ s.Config = v
+ return s
+}
+
+// SetId sets the Id field's value.
+func (s *HostedZone) SetId(v string) *HostedZone {
+ s.Id = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *HostedZone) SetName(v string) *HostedZone {
+ s.Name = &v
+ return s
+}
+
+// SetResourceRecordSetCount sets the ResourceRecordSetCount field's value.
+func (s *HostedZone) SetResourceRecordSetCount(v int64) *HostedZone {
+ s.ResourceRecordSetCount = &v
+ return s
+}
+
// A complex type that contains an optional comment about your hosted zone.
-// If you don't want to specify a comment, you can omit the HostedZoneConfig
-// and Comment elements from the XML document.
+// If you don't want to specify a comment, omit both the HostedZoneConfig and
+// Comment elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/HostedZoneConfig
type HostedZoneConfig struct {
_ struct{} `type:"structure"`
- // An optional comment about your hosted zone. If you don't want to specify
- // a comment, you can omit the HostedZoneConfig and Comment elements from the
- // XML document.
+ // Any comments that you want to include about the hosted zone.
Comment *string `type:"string"`
- // GetHostedZone and ListHostedZone responses: A Boolean value that indicates
- // whether a hosted zone is private.
- //
- // CreateHostedZone requests: When you're creating a private hosted zone (when
- // you specify values for VPCId and VPCRegion), you can optionally specify true
- // for PrivateZone.
+ // A value that indicates whether this is a private hosted zone.
PrivateZone *bool `type:"boolean"`
}
@@ -5426,211 +9709,58 @@ func (s HostedZoneConfig) GoString() string {
return s.String()
}
-// The input for a ListChangeBatchesByHostedZone request.
-type ListChangeBatchesByHostedZoneInput struct {
- _ struct{} `deprecated:"true" type:"structure"`
-
- // The end of the time period you want to see changes for.
- EndDate *string `location:"querystring" locationName:"endDate" deprecated:"true" type:"string" required:"true"`
-
- // The ID of the hosted zone that you want to see changes for.
- HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
-
- // The page marker.
- Marker *string `location:"querystring" locationName:"marker" type:"string"`
-
- // The maximum number of items on a page.
- MaxItems *string `location:"querystring" locationName:"maxItems" type:"string"`
-
- // The start of the time period you want to see changes for.
- StartDate *string `location:"querystring" locationName:"startDate" deprecated:"true" type:"string" required:"true"`
+// SetComment sets the Comment field's value.
+func (s *HostedZoneConfig) SetComment(v string) *HostedZoneConfig {
+ s.Comment = &v
+ return s
}
-// String returns the string representation
-func (s ListChangeBatchesByHostedZoneInput) String() string {
- return awsutil.Prettify(s)
+// SetPrivateZone sets the PrivateZone field's value.
+func (s *HostedZoneConfig) SetPrivateZone(v bool) *HostedZoneConfig {
+ s.PrivateZone = &v
+ return s
}
-// GoString returns the string representation
-func (s ListChangeBatchesByHostedZoneInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListChangeBatchesByHostedZoneInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListChangeBatchesByHostedZoneInput"}
- if s.EndDate == nil {
- invalidParams.Add(request.NewErrParamRequired("EndDate"))
- }
- if s.HostedZoneId == nil {
- invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
- }
- if s.StartDate == nil {
- invalidParams.Add(request.NewErrParamRequired("StartDate"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// The input for a ListChangeBatchesByHostedZone request.
-type ListChangeBatchesByHostedZoneOutput struct {
- _ struct{} `deprecated:"true" type:"structure"`
-
- // The change batches within the given hosted zone and time period.
- ChangeBatchRecords []*ChangeBatchRecord `locationNameList:"ChangeBatchRecord" min:"1" deprecated:"true" type:"list" required:"true"`
-
- // A flag that indicates if there are more change batches to list.
- IsTruncated *bool `type:"boolean"`
-
- // The page marker.
- Marker *string `type:"string" required:"true"`
-
- // The maximum number of items on a page.
- MaxItems *string `type:"string" required:"true"`
-
- // The next page marker.
- NextMarker *string `type:"string"`
-}
-
-// String returns the string representation
-func (s ListChangeBatchesByHostedZoneOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListChangeBatchesByHostedZoneOutput) GoString() string {
- return s.String()
-}
-
-// The input for a ListChangeBatchesByRRSet request.
-type ListChangeBatchesByRRSetInput struct {
- _ struct{} `deprecated:"true" type:"structure"`
-
- // The end of the time period you want to see changes for.
- EndDate *string `location:"querystring" locationName:"endDate" deprecated:"true" type:"string" required:"true"`
-
- // The ID of the hosted zone that you want to see changes for.
- HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
-
- // The page marker.
- Marker *string `location:"querystring" locationName:"marker" type:"string"`
-
- // The maximum number of items on a page.
- MaxItems *string `location:"querystring" locationName:"maxItems" type:"string"`
-
- // The name of the RRSet that you want to see changes for.
- Name *string `location:"querystring" locationName:"rrSet_name" type:"string" required:"true"`
-
- // The identifier of the RRSet that you want to see changes for.
- SetIdentifier *string `location:"querystring" locationName:"identifier" min:"1" type:"string"`
-
- // The start of the time period you want to see changes for.
- StartDate *string `location:"querystring" locationName:"startDate" deprecated:"true" type:"string" required:"true"`
-
- // The type of the RRSet that you want to see changes for.
- Type *string `location:"querystring" locationName:"type" type:"string" required:"true" enum:"RRType"`
-}
-
-// String returns the string representation
-func (s ListChangeBatchesByRRSetInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListChangeBatchesByRRSetInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListChangeBatchesByRRSetInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListChangeBatchesByRRSetInput"}
- if s.EndDate == nil {
- invalidParams.Add(request.NewErrParamRequired("EndDate"))
- }
- if s.HostedZoneId == nil {
- invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
- }
- if s.Name == nil {
- invalidParams.Add(request.NewErrParamRequired("Name"))
- }
- if s.SetIdentifier != nil && len(*s.SetIdentifier) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("SetIdentifier", 1))
- }
- if s.StartDate == nil {
- invalidParams.Add(request.NewErrParamRequired("StartDate"))
- }
- if s.Type == nil {
- invalidParams.Add(request.NewErrParamRequired("Type"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// The input for a ListChangeBatchesByRRSet request.
-type ListChangeBatchesByRRSetOutput struct {
- _ struct{} `deprecated:"true" type:"structure"`
-
- // The change batches within the given hosted zone and time period.
- ChangeBatchRecords []*ChangeBatchRecord `locationNameList:"ChangeBatchRecord" min:"1" deprecated:"true" type:"list" required:"true"`
-
- // A flag that indicates if there are more change batches to list.
- IsTruncated *bool `type:"boolean"`
-
- // The page marker.
- Marker *string `type:"string" required:"true"`
-
- // The maximum number of items on a page.
- MaxItems *string `type:"string" required:"true"`
-
- // The next page marker.
- NextMarker *string `type:"string"`
-}
-
-// String returns the string representation
-func (s ListChangeBatchesByRRSetOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListChangeBatchesByRRSetOutput) GoString() string {
- return s.String()
-}
-
-// The input for a ListGeoLocations request.
+// A request to get a list of geographic locations that Amazon Route 53 supports
+// for geolocation resource record sets.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListGeoLocationsRequest
type ListGeoLocationsInput struct {
_ struct{} `type:"structure"`
- // The maximum number of geo locations you want in the response body.
+ // (Optional) The maximum number of geolocations to be included in the response
+ // body for this request. If more than MaxItems geolocations remain to be listed,
+ // then the value of the IsTruncated element in the response is true.
MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"`
- // The first continent code in the lexicographic ordering of geo locations that
- // you want the ListGeoLocations request to list. For non-continent geo locations,
- // this should be null.
+ // The code for the continent with which you want to start listing locations
+ // that Amazon Route 53 supports for geolocation. If Amazon Route 53 has already
+ // returned a page or more of results, if IsTruncated is true, and if NextContinentCode
+ // from the previous response has a value, enter that value in StartContinentCode
+ // to return the next page of results.
//
- // Valid values: AF | AN | AS | EU | OC | NA | SA
- //
- // Constraint: Specifying ContinentCode with either CountryCode or SubdivisionCode
- // returns an InvalidInput error.
+ // Include StartContinentCode only if you want to list continents. Don't include
+ // StartContinentCode when you're listing countries or countries with their
+ // subdivisions.
StartContinentCode *string `location:"querystring" locationName:"startcontinentcode" min:"2" type:"string"`
- // The first country code in the lexicographic ordering of geo locations that
- // you want the ListGeoLocations request to list.
+ // The code for the country with which you want to start listing locations that
+ // Amazon Route 53 supports for geolocation. If Amazon Route 53 has already
+ // returned a page or more of results, if IsTruncated is true, and if NextCountryCode
+ // from the previous response has a value, enter that value in StartCountryCode
+ // to return the next page of results.
//
- // The default geo location uses a * for the country code. All other country
- // codes follow the ISO 3166 two-character code.
+ // Amazon Route 53 uses the two-letter country codes that are specified in ISO
+ // standard 3166-1 alpha-2 (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
StartCountryCode *string `location:"querystring" locationName:"startcountrycode" min:"1" type:"string"`
- // The first subdivision code in the lexicographic ordering of geo locations
- // that you want the ListGeoLocations request to list.
+ // The code for the subdivision (for example, state or province) with which
+ // you want to start listing locations that Amazon Route 53 supports for geolocation.
+ // If Amazon Route 53 has already returned a page or more of results, if IsTruncated
+ // is true, and if NextSubdivisionCode from the previous response has a value,
+ // enter that value in StartSubdivisionCode to return the next page of results.
//
- // Constraint: Specifying SubdivisionCode without CountryCode returns an InvalidInput
- // error.
+ // To list subdivisions of a country, you must include both StartCountryCode
+ // and StartSubdivisionCode.
StartSubdivisionCode *string `location:"querystring" locationName:"startsubdivisioncode" min:"1" type:"string"`
}
@@ -5663,40 +9793,68 @@ func (s *ListGeoLocationsInput) Validate() error {
return nil
}
-// A complex type that contains information about the geo locations that are
-// returned by the request and information about the response.
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListGeoLocationsInput) SetMaxItems(v string) *ListGeoLocationsInput {
+ s.MaxItems = &v
+ return s
+}
+
+// SetStartContinentCode sets the StartContinentCode field's value.
+func (s *ListGeoLocationsInput) SetStartContinentCode(v string) *ListGeoLocationsInput {
+ s.StartContinentCode = &v
+ return s
+}
+
+// SetStartCountryCode sets the StartCountryCode field's value.
+func (s *ListGeoLocationsInput) SetStartCountryCode(v string) *ListGeoLocationsInput {
+ s.StartCountryCode = &v
+ return s
+}
+
+// SetStartSubdivisionCode sets the StartSubdivisionCode field's value.
+func (s *ListGeoLocationsInput) SetStartSubdivisionCode(v string) *ListGeoLocationsInput {
+ s.StartSubdivisionCode = &v
+ return s
+}
+
+// A complex type containing the response information for the request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListGeoLocationsResponse
type ListGeoLocationsOutput struct {
_ struct{} `type:"structure"`
- // A complex type that contains information about the geo locations that are
- // returned by the request.
+ // A complex type that contains one GeoLocationDetails element for each location
+ // that Amazon Route 53 supports for geolocation.
+ //
+ // GeoLocationDetailsList is a required field
GeoLocationDetailsList []*GeoLocationDetails `locationNameList:"GeoLocationDetails" type:"list" required:"true"`
- // A flag that indicates whether there are more geo locations to be listed.
- // If your results were truncated, you can make a follow-up request for the
- // next page of results by using the values included in the NextContinentCode,
- // NextCountryCode, and NextSubdivisionCode elements.
+ // A value that indicates whether more locations remain to be listed after the
+ // last location in this response. If so, the value of IsTruncated is true.
+ // To get more values, submit another request and include the values of NextContinentCode,
+ // NextCountryCode, and NextSubdivisionCode in the StartContinentCode, StartCountryCode,
+ // and StartSubdivisionCode, as applicable.
//
- // Valid Values: true | false
+ // IsTruncated is a required field
IsTruncated *bool `type:"boolean" required:"true"`
- // The maximum number of records you requested. The maximum value of MaxItems
- // is 100.
+ // The value that you specified for MaxItems in the request.
+ //
+ // MaxItems is a required field
MaxItems *string `type:"string" required:"true"`
- // If the results were truncated, the continent code of the next geo location
- // in the list. This element is present only if IsTruncated is true and the
- // next geo location to list is a continent location.
+ // If IsTruncated is true, you can make a follow-up request to display more
+ // locations. Enter the value of NextContinentCode in the StartContinentCode
+ // parameter in another ListGeoLocations request.
NextContinentCode *string `min:"2" type:"string"`
- // If the results were truncated, the country code of the next geo location
- // in the list. This element is present only if IsTruncated is true and the
- // next geo location to list is not a continent location.
+ // If IsTruncated is true, you can make a follow-up request to display more
+ // locations. Enter the value of NextCountryCode in the StartCountryCode parameter
+ // in another ListGeoLocations request.
NextCountryCode *string `min:"1" type:"string"`
- // If the results were truncated, the subdivision code of the next geo location
- // in the list. This element is present only if IsTruncated is true and the
- // next geo location has a subdivision.
+ // If IsTruncated is true, you can make a follow-up request to display more
+ // locations. Enter the value of NextSubdivisionCode in the StartSubdivisionCode
+ // parameter in another ListGeoLocations request.
NextSubdivisionCode *string `min:"1" type:"string"`
}
@@ -5710,25 +9868,63 @@ func (s ListGeoLocationsOutput) GoString() string {
return s.String()
}
-// To retrieve a list of your health checks, send a GET request to the /Route
-// 53 API version/healthcheck resource. The response to this request includes
-// a HealthChecks element with zero or more HealthCheck child elements. By default,
-// the list of health checks is displayed on a single page. You can control
-// the length of the page that is displayed by using the MaxItems parameter.
-// You can use the Marker parameter to control the health check that the list
-// begins with.
-//
-// Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to
-// a value greater than 100, Amazon Route 53 returns only the first 100.
+// SetGeoLocationDetailsList sets the GeoLocationDetailsList field's value.
+func (s *ListGeoLocationsOutput) SetGeoLocationDetailsList(v []*GeoLocationDetails) *ListGeoLocationsOutput {
+ s.GeoLocationDetailsList = v
+ return s
+}
+
+// SetIsTruncated sets the IsTruncated field's value.
+func (s *ListGeoLocationsOutput) SetIsTruncated(v bool) *ListGeoLocationsOutput {
+ s.IsTruncated = &v
+ return s
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListGeoLocationsOutput) SetMaxItems(v string) *ListGeoLocationsOutput {
+ s.MaxItems = &v
+ return s
+}
+
+// SetNextContinentCode sets the NextContinentCode field's value.
+func (s *ListGeoLocationsOutput) SetNextContinentCode(v string) *ListGeoLocationsOutput {
+ s.NextContinentCode = &v
+ return s
+}
+
+// SetNextCountryCode sets the NextCountryCode field's value.
+func (s *ListGeoLocationsOutput) SetNextCountryCode(v string) *ListGeoLocationsOutput {
+ s.NextCountryCode = &v
+ return s
+}
+
+// SetNextSubdivisionCode sets the NextSubdivisionCode field's value.
+func (s *ListGeoLocationsOutput) SetNextSubdivisionCode(v string) *ListGeoLocationsOutput {
+ s.NextSubdivisionCode = &v
+ return s
+}
+
+// A request to retrieve a list of the health checks that are associated with
+// the current AWS account.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListHealthChecksRequest
type ListHealthChecksInput struct {
_ struct{} `type:"structure"`
- // If the request returned more than one page of results, submit another request
- // and specify the value of NextMarker from the last response in the marker
- // parameter to get the next page of results.
+ // If the value of IsTruncated in the previous response was true, you have more
+ // health checks. To get another group, submit another ListHealthChecks request.
+ //
+ // For the value of marker, specify the value of NextMarker from the previous
+ // response, which is the ID of the first health check that Amazon Route 53
+ // will return if you submit another request.
+ //
+ // If the value of IsTruncated in the previous response was false, there are
+ // no more health checks to get.
Marker *string `location:"querystring" locationName:"marker" type:"string"`
- // Specify the maximum number of health checks to return per page of results.
+ // The maximum number of health checks that you want ListHealthChecks to return
+ // in response to the current request. Amazon Route 53 returns a maximum of
+ // 100 items. If you set MaxItems to a value greater than 100, Amazon Route
+ // 53 returns only the first 100 health checks.
MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"`
}
@@ -5742,36 +9938,52 @@ func (s ListHealthChecksInput) GoString() string {
return s.String()
}
-// A complex type that contains the response for the request.
+// SetMarker sets the Marker field's value.
+func (s *ListHealthChecksInput) SetMarker(v string) *ListHealthChecksInput {
+ s.Marker = &v
+ return s
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListHealthChecksInput) SetMaxItems(v string) *ListHealthChecksInput {
+ s.MaxItems = &v
+ return s
+}
+
+// A complex type that contains the response to a ListHealthChecks request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListHealthChecksResponse
type ListHealthChecksOutput struct {
_ struct{} `type:"structure"`
- // A complex type that contains information about the health checks associated
- // with the current AWS account.
+ // A complex type that contains one HealthCheck element for each health check
+ // that is associated with the current AWS account.
+ //
+ // HealthChecks is a required field
HealthChecks []*HealthCheck `locationNameList:"HealthCheck" type:"list" required:"true"`
- // A flag indicating whether there are more health checks to be listed. If your
- // results were truncated, you can make a follow-up request for the next page
- // of results by using the Marker element.
+ // A flag that indicates whether there are more health checks to be listed.
+ // If the response was truncated, you can get the next group of health checks
+ // by submitting another ListHealthChecks request and specifying the value of
+ // NextMarker in the marker parameter.
//
- // Valid Values: true | false
+ // IsTruncated is a required field
IsTruncated *bool `type:"boolean" required:"true"`
- // If the request returned more than one page of results, submit another request
- // and specify the value of NextMarker from the last response in the marker
- // parameter to get the next page of results.
+ // For the second and subsequent calls to ListHealthChecks, Marker is the value
+ // that you specified for the marker parameter in the previous request.
+ //
+ // Marker is a required field
Marker *string `type:"string" required:"true"`
- // The maximum number of health checks to be included in the response body.
- // If the number of health checks associated with this AWS account exceeds MaxItems,
- // the value of IsTruncated in the response is true. Call ListHealthChecks again
- // and specify the value of NextMarker from the last response in the Marker
- // element of the next request to get the next page of results.
+ // The value that you specified for the maxitems parameter in the call to ListHealthChecks
+ // that produced the current response.
+ //
+ // MaxItems is a required field
MaxItems *string `type:"string" required:"true"`
- // Indicates where to continue listing health checks. If IsTruncated is true,
- // make another request to ListHealthChecks and include the value of the NextMarker
- // element in the Marker element to get the next page of results.
+ // If IsTruncated is true, the value of NextMarker identifies the first health
+ // check that Amazon Route 53 returns if you submit another ListHealthChecks
+ // request and specify the value of NextMarker in the marker parameter.
NextMarker *string `type:"string"`
}
@@ -5785,31 +9997,66 @@ func (s ListHealthChecksOutput) GoString() string {
return s.String()
}
-// To retrieve a list of your hosted zones in lexicographic order, send a GET
-// request to the /Route 53 API version/hostedzonesbyname resource. The response
-// to this request includes a HostedZones element with zero or more HostedZone
-// child elements lexicographically ordered by DNS name. By default, the list
-// of hosted zones is displayed on a single page. You can control the length
-// of the page that is displayed by using the MaxItems parameter. You can use
-// the DNSName and HostedZoneId parameters to control the hosted zone that the
-// list begins with.
+// SetHealthChecks sets the HealthChecks field's value.
+func (s *ListHealthChecksOutput) SetHealthChecks(v []*HealthCheck) *ListHealthChecksOutput {
+ s.HealthChecks = v
+ return s
+}
+
+// SetIsTruncated sets the IsTruncated field's value.
+func (s *ListHealthChecksOutput) SetIsTruncated(v bool) *ListHealthChecksOutput {
+ s.IsTruncated = &v
+ return s
+}
+
+// SetMarker sets the Marker field's value.
+func (s *ListHealthChecksOutput) SetMarker(v string) *ListHealthChecksOutput {
+ s.Marker = &v
+ return s
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListHealthChecksOutput) SetMaxItems(v string) *ListHealthChecksOutput {
+ s.MaxItems = &v
+ return s
+}
+
+// SetNextMarker sets the NextMarker field's value.
+func (s *ListHealthChecksOutput) SetNextMarker(v string) *ListHealthChecksOutput {
+ s.NextMarker = &v
+ return s
+}
+
+// Retrieves a list of the public and private hosted zones that are associated
+// with the current AWS account in ASCII order by domain name.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListHostedZonesByNameRequest
type ListHostedZonesByNameInput struct {
_ struct{} `type:"structure"`
- // The first name in the lexicographic ordering of domain names that you want
- // the ListHostedZonesByNameRequest request to list.
- //
- // If the request returned more than one page of results, submit another request
- // and specify the value of NextDNSName and NextHostedZoneId from the last response
- // in the DNSName and HostedZoneId parameters to get the next page of results.
+ // (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 AWS 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 `location:"querystring" locationName:"dnsname" type:"string"`
- // If the request returned more than one page of results, submit another request
- // and specify the value of NextDNSName and NextHostedZoneId from the last response
- // in the DNSName and HostedZoneId parameters to get the next page of results.
+ // (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 `location:"querystring" locationName:"hostedzoneid" type:"string"`
- // Specify the maximum number of hosted zones to return per page of results.
+ // 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 *string `location:"querystring" locationName:"maxitems" type:"string"`
}
@@ -5823,46 +10070,72 @@ func (s ListHostedZonesByNameInput) GoString() string {
return s.String()
}
-// A complex type that contains the response for the request.
+// SetDNSName sets the DNSName field's value.
+func (s *ListHostedZonesByNameInput) SetDNSName(v string) *ListHostedZonesByNameInput {
+ s.DNSName = &v
+ return s
+}
+
+// SetHostedZoneId sets the HostedZoneId field's value.
+func (s *ListHostedZonesByNameInput) SetHostedZoneId(v string) *ListHostedZonesByNameInput {
+ s.HostedZoneId = &v
+ return s
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListHostedZonesByNameInput) SetMaxItems(v string) *ListHostedZonesByNameInput {
+ s.MaxItems = &v
+ return s
+}
+
+// A complex type that contains the response information for the request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListHostedZonesByNameResponse
type ListHostedZonesByNameOutput struct {
_ struct{} `type:"structure"`
- // The DNSName value sent in the request.
+ // 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 `type:"string"`
- // The HostedZoneId value sent in the request.
+ // The ID that Amazon Route 53 assigned to the hosted zone when you created
+ // it.
HostedZoneId *string `type:"string"`
- // A complex type that contains information about the hosted zones associated
- // with the current AWS account.
+ // A complex type that contains general information about the hosted zone.
+ //
+ // HostedZones is a required field
HostedZones []*HostedZone `locationNameList:"HostedZone" type:"list" required:"true"`
- // A flag indicating whether there are more hosted zones to be listed. If your
- // results were truncated, you can make a follow-up request for the next page
- // of results by using the NextDNSName and NextHostedZoneId elements.
+ // 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.
//
- // Valid Values: true | false
+ // IsTruncated is a required field
IsTruncated *bool `type:"boolean" required:"true"`
- // The maximum number of hosted zones to be included in the response body. If
- // the number of hosted zones associated with this AWS account exceeds MaxItems,
- // the value of IsTruncated in the ListHostedZonesByNameResponse is true. Call
- // ListHostedZonesByName again and specify the value of NextDNSName and NextHostedZoneId
- // elements from the previous response to get the next page of results.
+ // The value that you specified for the maxitems parameter in the call to ListHostedZonesByName
+ // that produced the current response.
+ //
+ // MaxItems is a required field
MaxItems *string `type:"string" required:"true"`
- // If the value of IsTruncated in the ListHostedZonesByNameResponse is true,
- // there are more hosted zones associated with the current AWS account. To get
- // the next page of results, make another request to ListHostedZonesByName.
- // Specify the value of NextDNSName in the DNSName parameter. Specify NextHostedZoneId
- // in the HostedZoneId parameter.
+ // 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 `type:"string"`
- // If the value of IsTruncated in the ListHostedZonesByNameResponse is true,
- // there are more hosted zones associated with the current AWS account. To get
- // the next page of results, make another request to ListHostedZonesByName.
- // Specify the value of NextDNSName in the DNSName parameter. Specify NextHostedZoneId
- // in the HostedZoneId parameter.
+ // 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 `type:"string"`
}
@@ -5876,27 +10149,75 @@ func (s ListHostedZonesByNameOutput) GoString() string {
return s.String()
}
-// To retrieve a list of your hosted zones, send a GET request to the /Route
-// 53 API version/hostedzone resource. The response to this request includes
-// a HostedZones element with zero or more HostedZone child elements. By default,
-// the list of hosted zones is displayed on a single page. You can control the
-// length of the page that is displayed by using the MaxItems parameter. You
-// can use the Marker parameter to control the hosted zone that the list begins
-// with.
-//
-// Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to a
-// value greater than 100, Amazon Route 53 returns only the first 100.
+// SetDNSName sets the DNSName field's value.
+func (s *ListHostedZonesByNameOutput) SetDNSName(v string) *ListHostedZonesByNameOutput {
+ s.DNSName = &v
+ return s
+}
+
+// SetHostedZoneId sets the HostedZoneId field's value.
+func (s *ListHostedZonesByNameOutput) SetHostedZoneId(v string) *ListHostedZonesByNameOutput {
+ s.HostedZoneId = &v
+ return s
+}
+
+// SetHostedZones sets the HostedZones field's value.
+func (s *ListHostedZonesByNameOutput) SetHostedZones(v []*HostedZone) *ListHostedZonesByNameOutput {
+ s.HostedZones = v
+ return s
+}
+
+// SetIsTruncated sets the IsTruncated field's value.
+func (s *ListHostedZonesByNameOutput) SetIsTruncated(v bool) *ListHostedZonesByNameOutput {
+ s.IsTruncated = &v
+ return s
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListHostedZonesByNameOutput) SetMaxItems(v string) *ListHostedZonesByNameOutput {
+ s.MaxItems = &v
+ return s
+}
+
+// SetNextDNSName sets the NextDNSName field's value.
+func (s *ListHostedZonesByNameOutput) SetNextDNSName(v string) *ListHostedZonesByNameOutput {
+ s.NextDNSName = &v
+ return s
+}
+
+// SetNextHostedZoneId sets the NextHostedZoneId field's value.
+func (s *ListHostedZonesByNameOutput) SetNextHostedZoneId(v string) *ListHostedZonesByNameOutput {
+ s.NextHostedZoneId = &v
+ return s
+}
+
+// A request to retrieve a list of the public and private hosted zones that
+// are associated with the current AWS account.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListHostedZonesRequest
type ListHostedZonesInput struct {
_ struct{} `type:"structure"`
+ // If you're using reusable delegation sets and you want to list all of the
+ // hosted zones that are associated with a reusable delegation set, specify
+ // the ID of that reusable delegation set.
DelegationSetId *string `location:"querystring" locationName:"delegationsetid" type:"string"`
- // If the request returned more than one page of results, submit another request
- // and specify the value of NextMarker from the last response in the marker
- // parameter to get the next page of results.
+ // If the value of IsTruncated in the previous response was true, you have more
+ // hosted zones. To get more hosted zones, submit another ListHostedZones request.
+ //
+ // For the value of marker, specify the value of NextMarker from the previous
+ // response, which is the ID of the first hosted zone that Amazon Route 53 will
+ // return if you submit another request.
+ //
+ // If the value of IsTruncated in the previous response was false, there are
+ // no more hosted zones to get.
Marker *string `location:"querystring" locationName:"marker" type:"string"`
- // Specify the maximum number of hosted zones to return per page of results.
+ // (Optional) The maximum number of hosted zones that you want Amazon Route
+ // 53 to return. If you have more than maxitems hosted zones, the value of IsTruncated
+ // in the response is true, and the value of NextMarker is the hosted zone ID
+ // of the first hosted zone that Amazon Route 53 will return if you submit another
+ // request.
MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"`
}
@@ -5910,36 +10231,59 @@ func (s ListHostedZonesInput) GoString() string {
return s.String()
}
-// A complex type that contains the response for the request.
+// SetDelegationSetId sets the DelegationSetId field's value.
+func (s *ListHostedZonesInput) SetDelegationSetId(v string) *ListHostedZonesInput {
+ s.DelegationSetId = &v
+ return s
+}
+
+// SetMarker sets the Marker field's value.
+func (s *ListHostedZonesInput) SetMarker(v string) *ListHostedZonesInput {
+ s.Marker = &v
+ return s
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListHostedZonesInput) SetMaxItems(v string) *ListHostedZonesInput {
+ s.MaxItems = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListHostedZonesResponse
type ListHostedZonesOutput struct {
_ struct{} `type:"structure"`
- // A complex type that contains information about the hosted zones associated
- // with the current AWS account.
+ // A complex type that contains general information about the hosted zone.
+ //
+ // HostedZones is a required field
HostedZones []*HostedZone `locationNameList:"HostedZone" type:"list" required:"true"`
- // A flag indicating whether there are more hosted zones to be listed. If your
- // results were truncated, you can make a follow-up request for the next page
- // of results by using the Marker element.
+ // A flag indicating whether there are more hosted zones to be listed. If the
+ // response was truncated, you can get more hosted zones by submitting another
+ // ListHostedZones request and specifying the value of NextMarker in the marker
+ // parameter.
//
- // Valid Values: true | false
+ // IsTruncated is a required field
IsTruncated *bool `type:"boolean" required:"true"`
- // If the request returned more than one page of results, submit another request
- // and specify the value of NextMarker from the last response in the marker
- // parameter to get the next page of results.
+ // For the second and subsequent calls to ListHostedZones, Marker is the value
+ // that you specified for the marker parameter in the request that produced
+ // the current response.
+ //
+ // Marker is a required field
Marker *string `type:"string" required:"true"`
- // The maximum number of hosted zones to be included in the response body. If
- // the number of hosted zones associated with this AWS account exceeds MaxItems,
- // the value of IsTruncated in the response is true. Call ListHostedZones again
- // and specify the value of NextMarker in the Marker parameter to get the next
- // page of results.
+ // The value that you specified for the maxitems parameter in the call to ListHostedZones
+ // that produced the current response.
+ //
+ // MaxItems is a required field
MaxItems *string `type:"string" required:"true"`
- // Indicates where to continue listing hosted zones. If IsTruncated is true,
- // make another request to ListHostedZones and include the value of the NextMarker
- // element in the Marker element to get the next page of results.
+ // If IsTruncated is true, the value of NextMarker identifies the first hosted
+ // zone in the next group of hosted zones. Submit another ListHostedZones request,
+ // and specify the value of NextMarker from the response in the marker parameter.
+ //
+ // This element is present only if IsTruncated is true.
NextMarker *string `type:"string"`
}
@@ -5953,15 +10297,155 @@ func (s ListHostedZonesOutput) GoString() string {
return s.String()
}
-// The input for a ListResourceRecordSets request.
+// SetHostedZones sets the HostedZones field's value.
+func (s *ListHostedZonesOutput) SetHostedZones(v []*HostedZone) *ListHostedZonesOutput {
+ s.HostedZones = v
+ return s
+}
+
+// SetIsTruncated sets the IsTruncated field's value.
+func (s *ListHostedZonesOutput) SetIsTruncated(v bool) *ListHostedZonesOutput {
+ s.IsTruncated = &v
+ return s
+}
+
+// SetMarker sets the Marker field's value.
+func (s *ListHostedZonesOutput) SetMarker(v string) *ListHostedZonesOutput {
+ s.Marker = &v
+ return s
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListHostedZonesOutput) SetMaxItems(v string) *ListHostedZonesOutput {
+ s.MaxItems = &v
+ return s
+}
+
+// SetNextMarker sets the NextMarker field's value.
+func (s *ListHostedZonesOutput) SetNextMarker(v string) *ListHostedZonesOutput {
+ s.NextMarker = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListQueryLoggingConfigsRequest
+type ListQueryLoggingConfigsInput struct {
+ _ struct{} `type:"structure"`
+
+ // (Optional) If you want to list the query logging configuration that is associated
+ // with a hosted zone, specify the ID in HostedZoneId.
+ //
+ // If you don't specify a hosted zone ID, ListQueryLoggingConfigs returns all
+ // of the configurations that are associated with the current AWS account.
+ HostedZoneId *string `location:"querystring" locationName:"hostedzoneid" type:"string"`
+
+ // (Optional) The maximum number of query logging configurations that you want
+ // Amazon Route 53 to return in response to the current request. If the current
+ // AWS account has more than MaxResults configurations, use the value of ListQueryLoggingConfigsResponse$NextToken
+ // in the response to get the next page of results.
+ //
+ // If you don't specify a value for MaxResults, Amazon Route 53 returns up to
+ // 100 configurations.
+ MaxResults *string `location:"querystring" locationName:"maxresults" type:"string"`
+
+ // (Optional) If the current AWS account has more than MaxResults query logging
+ // configurations, use NextToken to get the second and subsequent pages of results.
+ //
+ // For the first ListQueryLoggingConfigs request, omit this value.
+ //
+ // For the second and subsequent requests, get the value of NextToken from the
+ // previous response and specify that value for NextToken in the request.
+ NextToken *string `location:"querystring" locationName:"nexttoken" type:"string"`
+}
+
+// String returns the string representation
+func (s ListQueryLoggingConfigsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListQueryLoggingConfigsInput) GoString() string {
+ return s.String()
+}
+
+// SetHostedZoneId sets the HostedZoneId field's value.
+func (s *ListQueryLoggingConfigsInput) SetHostedZoneId(v string) *ListQueryLoggingConfigsInput {
+ s.HostedZoneId = &v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *ListQueryLoggingConfigsInput) SetMaxResults(v string) *ListQueryLoggingConfigsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *ListQueryLoggingConfigsInput) SetNextToken(v string) *ListQueryLoggingConfigsInput {
+ s.NextToken = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListQueryLoggingConfigsResponse
+type ListQueryLoggingConfigsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // If a response includes the last of the query logging configurations that
+ // are associated with the current AWS account, NextToken doesn't appear in
+ // the response.
+ //
+ // If a response doesn't include the last of the configurations, you can get
+ // more configurations by submitting another ListQueryLoggingConfigs request.
+ // Get the value of NextToken that Amazon Route 53 returned in the previous
+ // response and include it in NextToken in the next request.
+ NextToken *string `type:"string"`
+
+ // An array that contains one QueryLoggingConfig element for each configuration
+ // for DNS query logging that is associated with the current AWS account.
+ //
+ // QueryLoggingConfigs is a required field
+ QueryLoggingConfigs []*QueryLoggingConfig `locationNameList:"QueryLoggingConfig" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s ListQueryLoggingConfigsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListQueryLoggingConfigsOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *ListQueryLoggingConfigsOutput) SetNextToken(v string) *ListQueryLoggingConfigsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetQueryLoggingConfigs sets the QueryLoggingConfigs field's value.
+func (s *ListQueryLoggingConfigsOutput) SetQueryLoggingConfigs(v []*QueryLoggingConfig) *ListQueryLoggingConfigsOutput {
+ s.QueryLoggingConfigs = v
+ return s
+}
+
+// A request for the resource record sets that are associated with a specified
+// hosted zone.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListResourceRecordSetsRequest
type ListResourceRecordSetsInput struct {
_ struct{} `type:"structure"`
// The ID of the hosted zone that contains the resource record sets that you
- // want to get.
+ // want to list.
+ //
+ // HostedZoneId is a required field
HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
- // The maximum number of records you want in the response body.
+ // (Optional) The maximum number of resource records sets to include in the
+ // response body for this request. If the response includes more than maxitems
+ // resource record sets, the value of the IsTruncated element in the response
+ // is true, and the values of the NextRecordName and NextRecordType elements
+ // in the response identify the first resource record set in the next group
+ // of maxitems resource record sets.
MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"`
// Weighted resource record sets only: If results were truncated for a given
@@ -5970,19 +10454,30 @@ type ListResourceRecordSetsInput struct {
// and type.
StartRecordIdentifier *string `location:"querystring" locationName:"identifier" min:"1" type:"string"`
- // The first name in the lexicographic ordering of domain names that you want
- // the ListResourceRecordSets request to list.
+ // The first name in the lexicographic ordering of resource record sets that
+ // you want to list.
StartRecordName *string `location:"querystring" locationName:"name" type:"string"`
- // The DNS type at which to begin the listing of resource record sets.
+ // The type of resource record set to begin the record listing from.
//
- // Valid values: A | AAAA | CNAME | MX | NS | PTR | SOA | SPF | SRV | TXT
+ // Valid values for basic resource record sets: A | AAAA | CAA | CNAME | MX
+ // | NAPTR | NS | PTR | SOA | SPF | SRV | TXT
//
- // Values for Weighted Resource Record Sets: A | AAAA | CNAME | TXT
+ // Values for weighted, latency, geo, and failover resource record sets: A |
+ // AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT
//
- // Values for Regional Resource Record Sets: A | AAAA | CNAME | TXT
+ // Values for alias resource record sets:
//
- // Values for Alias Resource Record Sets: A | AAAA
+ // * CloudFront distribution: A or AAAA
+ //
+ // * Elastic Beanstalk environment that has a regionalized subdomain: A
+ //
+ // * ELB load balancer: A | AAAA
+ //
+ // * Amazon S3 bucket: A
+ //
+ // * Another resource record set in this hosted zone: The type of the resource
+ // record set that the alias references.
//
// Constraint: Specifying type without specifying name returns an InvalidInput
// error.
@@ -6015,37 +10510,71 @@ func (s *ListResourceRecordSetsInput) Validate() error {
return nil
}
-// A complex type that contains information about the resource record sets that
-// are returned by the request and information about the response.
+// SetHostedZoneId sets the HostedZoneId field's value.
+func (s *ListResourceRecordSetsInput) SetHostedZoneId(v string) *ListResourceRecordSetsInput {
+ s.HostedZoneId = &v
+ return s
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListResourceRecordSetsInput) SetMaxItems(v string) *ListResourceRecordSetsInput {
+ s.MaxItems = &v
+ return s
+}
+
+// SetStartRecordIdentifier sets the StartRecordIdentifier field's value.
+func (s *ListResourceRecordSetsInput) SetStartRecordIdentifier(v string) *ListResourceRecordSetsInput {
+ s.StartRecordIdentifier = &v
+ return s
+}
+
+// SetStartRecordName sets the StartRecordName field's value.
+func (s *ListResourceRecordSetsInput) SetStartRecordName(v string) *ListResourceRecordSetsInput {
+ s.StartRecordName = &v
+ return s
+}
+
+// SetStartRecordType sets the StartRecordType field's value.
+func (s *ListResourceRecordSetsInput) SetStartRecordType(v string) *ListResourceRecordSetsInput {
+ s.StartRecordType = &v
+ return s
+}
+
+// A complex type that contains list information for the resource record set.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListResourceRecordSetsResponse
type ListResourceRecordSetsOutput struct {
_ struct{} `type:"structure"`
- // A flag that indicates whether there are more resource record sets to be listed.
- // If your results were truncated, you can make a follow-up request for the
- // next page of results by using the NextRecordName element.
+ // A flag that indicates whether more resource record sets remain to be listed.
+ // If your results were truncated, you can make a follow-up pagination request
+ // by using the NextRecordName element.
//
- // Valid Values: true | false
+ // IsTruncated is a required field
IsTruncated *bool `type:"boolean" required:"true"`
- // The maximum number of records you requested. The maximum value of MaxItems
- // is 100.
+ // The maximum number of records you requested.
+ //
+ // MaxItems is a required field
MaxItems *string `type:"string" required:"true"`
- // Weighted resource record sets only: If results were truncated for a given
- // DNS name and type, the value of SetIdentifier for the next resource record
- // set that has the current DNS name and type.
+ // Weighted, latency, geolocation, and failover resource record sets only: If
+ // results were truncated for a given DNS name and type, the value of SetIdentifier
+ // for the next resource record set that has the current DNS name and type.
NextRecordIdentifier *string `min:"1" type:"string"`
- // If the results were truncated, the name of the next record in the list. This
- // element is present only if IsTruncated is true.
+ // If the results were truncated, the name of the next record in the list.
+ //
+ // This element is present only if IsTruncated is true.
NextRecordName *string `type:"string"`
- // If the results were truncated, the type of the next record in the list. This
- // element is present only if IsTruncated is true.
+ // If the results were truncated, the type of the next record in the list.
+ //
+ // This element is present only if IsTruncated is true.
NextRecordType *string `type:"string" enum:"RRType"`
- // A complex type that contains information about the resource record sets that
- // are returned by the request.
+ // Information about multiple resource record sets.
+ //
+ // ResourceRecordSets is a required field
ResourceRecordSets []*ResourceRecordSet `locationNameList:"ResourceRecordSet" type:"list" required:"true"`
}
@@ -6059,26 +10588,63 @@ func (s ListResourceRecordSetsOutput) GoString() string {
return s.String()
}
-// To retrieve a list of your reusable delegation sets, send a GET request to
-// the /Route 53 API version/delegationset resource. The response to this request
-// includes a DelegationSets element with zero or more DelegationSet child elements.
-// By default, the list of reusable delegation sets is displayed on a single
-// page. You can control the length of the page that is displayed by using the
-// MaxItems parameter. You can use the Marker parameter to control the delegation
-// set that the list begins with.
-//
-// Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to
-// a value greater than 100, Amazon Route 53 returns only the first 100.
+// SetIsTruncated sets the IsTruncated field's value.
+func (s *ListResourceRecordSetsOutput) SetIsTruncated(v bool) *ListResourceRecordSetsOutput {
+ s.IsTruncated = &v
+ return s
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListResourceRecordSetsOutput) SetMaxItems(v string) *ListResourceRecordSetsOutput {
+ s.MaxItems = &v
+ return s
+}
+
+// SetNextRecordIdentifier sets the NextRecordIdentifier field's value.
+func (s *ListResourceRecordSetsOutput) SetNextRecordIdentifier(v string) *ListResourceRecordSetsOutput {
+ s.NextRecordIdentifier = &v
+ return s
+}
+
+// SetNextRecordName sets the NextRecordName field's value.
+func (s *ListResourceRecordSetsOutput) SetNextRecordName(v string) *ListResourceRecordSetsOutput {
+ s.NextRecordName = &v
+ return s
+}
+
+// SetNextRecordType sets the NextRecordType field's value.
+func (s *ListResourceRecordSetsOutput) SetNextRecordType(v string) *ListResourceRecordSetsOutput {
+ s.NextRecordType = &v
+ return s
+}
+
+// SetResourceRecordSets sets the ResourceRecordSets field's value.
+func (s *ListResourceRecordSetsOutput) SetResourceRecordSets(v []*ResourceRecordSet) *ListResourceRecordSetsOutput {
+ s.ResourceRecordSets = v
+ return s
+}
+
+// A request to get a list of the reusable delegation sets that are associated
+// with the current AWS account.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListReusableDelegationSetsRequest
type ListReusableDelegationSetsInput struct {
_ struct{} `type:"structure"`
- // If the request returned more than one page of results, submit another request
- // and specify the value of NextMarker from the last response in the marker
- // parameter to get the next page of results.
+ // If the value of IsTruncated in the previous response was true, you have more
+ // reusable delegation sets. To get another group, submit another ListReusableDelegationSets
+ // request.
+ //
+ // For the value of marker, specify the value of NextMarker from the previous
+ // response, which is the ID of the first reusable delegation set that Amazon
+ // Route 53 will return if you submit another request.
+ //
+ // If the value of IsTruncated in the previous response was false, there are
+ // no more reusable delegation sets to get.
Marker *string `location:"querystring" locationName:"marker" type:"string"`
- // Specify the maximum number of reusable delegation sets to return per page
- // of results.
+ // The number of reusable delegation sets that you want Amazon Route 53 to return
+ // in the response to this request. If you specify a value greater than 100,
+ // Amazon Route 53 returns only the first 100 reusable delegation sets.
MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"`
}
@@ -6092,38 +10658,52 @@ func (s ListReusableDelegationSetsInput) GoString() string {
return s.String()
}
-// A complex type that contains the response for the request.
+// SetMarker sets the Marker field's value.
+func (s *ListReusableDelegationSetsInput) SetMarker(v string) *ListReusableDelegationSetsInput {
+ s.Marker = &v
+ return s
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListReusableDelegationSetsInput) SetMaxItems(v string) *ListReusableDelegationSetsInput {
+ s.MaxItems = &v
+ return s
+}
+
+// A complex type that contains information about the reusable delegation sets
+// that are associated with the current AWS account.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListReusableDelegationSetsResponse
type ListReusableDelegationSetsOutput struct {
_ struct{} `type:"structure"`
- // A complex type that contains information about the reusable delegation sets
- // associated with the current AWS account.
+ // A complex type that contains one DelegationSet element for each reusable
+ // delegation set that was created by the current AWS account.
+ //
+ // DelegationSets is a required field
DelegationSets []*DelegationSet `locationNameList:"DelegationSet" type:"list" required:"true"`
- // A flag indicating whether there are more reusable delegation sets to be listed.
- // If your results were truncated, you can make a follow-up request for the
- // next page of results by using the Marker element.
+ // A flag that indicates whether there are more reusable delegation sets to
+ // be listed.
//
- // Valid Values: true | false
+ // IsTruncated is a required field
IsTruncated *bool `type:"boolean" required:"true"`
- // If the request returned more than one page of results, submit another request
- // and specify the value of NextMarker from the last response in the marker
- // parameter to get the next page of results.
+ // For the second and subsequent calls to ListReusableDelegationSets, Marker
+ // is the value that you specified for the marker parameter in the request that
+ // produced the current response.
+ //
+ // Marker is a required field
Marker *string `type:"string" required:"true"`
- // The maximum number of reusable delegation sets to be included in the response
- // body. If the number of reusable delegation sets associated with this AWS
- // account exceeds MaxItems, the value of IsTruncated in the response is true.
- // To get the next page of results, call ListReusableDelegationSets again and
- // specify the value of NextMarker from the previous response in the Marker
- // element of the request.
+ // The value that you specified for the maxitems parameter in the call to ListReusableDelegationSets
+ // that produced the current response.
+ //
+ // MaxItems is a required field
MaxItems *string `type:"string" required:"true"`
- // Indicates where to continue listing reusable delegation sets. If IsTruncated
- // is true, make another request to ListReusableDelegationSets and include the
- // value of the NextMarker element in the Marker element of the previous response
- // to get the next page of results.
+ // If IsTruncated is true, the value of NextMarker identifies the next reusable
+ // delegation set that Amazon Route 53 will return if you submit another ListReusableDelegationSets
+ // request and specify the value of NextMarker in the marker parameter.
NextMarker *string `type:"string"`
}
@@ -6137,19 +10717,54 @@ func (s ListReusableDelegationSetsOutput) GoString() string {
return s.String()
}
+// SetDelegationSets sets the DelegationSets field's value.
+func (s *ListReusableDelegationSetsOutput) SetDelegationSets(v []*DelegationSet) *ListReusableDelegationSetsOutput {
+ s.DelegationSets = v
+ return s
+}
+
+// SetIsTruncated sets the IsTruncated field's value.
+func (s *ListReusableDelegationSetsOutput) SetIsTruncated(v bool) *ListReusableDelegationSetsOutput {
+ s.IsTruncated = &v
+ return s
+}
+
+// SetMarker sets the Marker field's value.
+func (s *ListReusableDelegationSetsOutput) SetMarker(v string) *ListReusableDelegationSetsOutput {
+ s.Marker = &v
+ return s
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListReusableDelegationSetsOutput) SetMaxItems(v string) *ListReusableDelegationSetsOutput {
+ s.MaxItems = &v
+ return s
+}
+
+// SetNextMarker sets the NextMarker field's value.
+func (s *ListReusableDelegationSetsOutput) SetNextMarker(v string) *ListReusableDelegationSetsOutput {
+ s.NextMarker = &v
+ return s
+}
+
// A complex type containing information about a request for a list of the tags
// that are associated with an individual resource.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTagsForResourceRequest
type ListTagsForResourceInput struct {
_ struct{} `type:"structure"`
// The ID of the resource for which you want to retrieve tags.
+ //
+ // ResourceId is a required field
ResourceId *string `location:"uri" locationName:"ResourceId" type:"string" required:"true"`
// The type of the resource.
//
- // - The resource type for health checks is healthcheck.
+ // * The resource type for health checks is healthcheck.
//
- // - The resource type for hosted zones is hostedzone.
+ // * The resource type for hosted zones is hostedzone.
+ //
+ // ResourceType is a required field
ResourceType *string `location:"uri" locationName:"ResourceType" type:"string" required:"true" enum:"TagResourceType"`
}
@@ -6179,11 +10794,27 @@ func (s *ListTagsForResourceInput) Validate() error {
return nil
}
-// A complex type containing tags for the specified resource.
+// SetResourceId sets the ResourceId field's value.
+func (s *ListTagsForResourceInput) SetResourceId(v string) *ListTagsForResourceInput {
+ s.ResourceId = &v
+ return s
+}
+
+// SetResourceType sets the ResourceType field's value.
+func (s *ListTagsForResourceInput) SetResourceType(v string) *ListTagsForResourceInput {
+ s.ResourceType = &v
+ return s
+}
+
+// A complex type that contains information about the health checks or hosted
+// zones for which you want to list tags.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTagsForResourceResponse
type ListTagsForResourceOutput struct {
_ struct{} `type:"structure"`
// A ResourceTagSet containing tags associated with the specified resource.
+ //
+ // ResourceTagSet is a required field
ResourceTagSet *ResourceTagSet `type:"structure" required:"true"`
}
@@ -6197,20 +10828,31 @@ func (s ListTagsForResourceOutput) GoString() string {
return s.String()
}
-// A complex type containing information about a request for a list of the tags
-// that are associated with up to 10 specified resources.
+// SetResourceTagSet sets the ResourceTagSet field's value.
+func (s *ListTagsForResourceOutput) SetResourceTagSet(v *ResourceTagSet) *ListTagsForResourceOutput {
+ s.ResourceTagSet = v
+ return s
+}
+
+// A complex type that contains information about the health checks or hosted
+// zones for which you want to list tags.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTagsForResourcesRequest
type ListTagsForResourcesInput struct {
_ struct{} `locationName:"ListTagsForResourcesRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
// A complex type that contains the ResourceId element for each resource for
// which you want to get a list of tags.
+ //
+ // ResourceIds is a required field
ResourceIds []*string `locationNameList:"ResourceId" min:"1" type:"list" required:"true"`
// The type of the resources.
//
- // - The resource type for health checks is healthcheck.
+ // * The resource type for health checks is healthcheck.
//
- // - The resource type for hosted zones is hostedzone.
+ // * The resource type for hosted zones is hostedzone.
+ //
+ // ResourceType is a required field
ResourceType *string `location:"uri" locationName:"ResourceType" type:"string" required:"true" enum:"TagResourceType"`
}
@@ -6243,11 +10885,26 @@ func (s *ListTagsForResourcesInput) Validate() error {
return nil
}
+// SetResourceIds sets the ResourceIds field's value.
+func (s *ListTagsForResourcesInput) SetResourceIds(v []*string) *ListTagsForResourcesInput {
+ s.ResourceIds = v
+ return s
+}
+
+// SetResourceType sets the ResourceType field's value.
+func (s *ListTagsForResourcesInput) SetResourceType(v string) *ListTagsForResourcesInput {
+ s.ResourceType = &v
+ return s
+}
+
// A complex type containing tags for the specified resources.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTagsForResourcesResponse
type ListTagsForResourcesOutput struct {
_ struct{} `type:"structure"`
// A list of ResourceTagSets containing tags associated with the specified resources.
+ //
+ // ResourceTagSets is a required field
ResourceTagSets []*ResourceTagSet `locationNameList:"ResourceTagSet" type:"list" required:"true"`
}
@@ -6261,29 +10918,34 @@ func (s ListTagsForResourcesOutput) GoString() string {
return s.String()
}
+// SetResourceTagSets sets the ResourceTagSets field's value.
+func (s *ListTagsForResourcesOutput) SetResourceTagSets(v []*ResourceTagSet) *ListTagsForResourcesOutput {
+ s.ResourceTagSets = v
+ return s
+}
+
// A complex type that contains the information about the request to list the
// traffic policies that are associated with the current AWS account.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPoliciesRequest
type ListTrafficPoliciesInput struct {
_ struct{} `type:"structure"`
- // The maximum number of traffic policies to be included in the response body
- // for this request. If you have more than MaxItems traffic policies, the value
- // of the IsTruncated element in the response is true, and the value of the
- // TrafficPolicyIdMarker element is the ID of the first traffic policy in the
- // next group of MaxItems traffic policies.
+ // (Optional) The maximum number of traffic policies that you want Amazon Route
+ // 53 to return in response to this request. If you have more than MaxItems
+ // traffic policies, the value of IsTruncated in the response is true, and the
+ // value of TrafficPolicyIdMarker is the ID of the first traffic policy that
+ // Amazon Route 53 will return if you submit another request.
MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"`
- // For your first request to ListTrafficPolicies, do not include the TrafficPolicyIdMarker
- // parameter.
+ // (Conditional) For your first request to ListTrafficPolicies, don't include
+ // the TrafficPolicyIdMarker parameter.
//
// If you have more traffic policies than the value of MaxItems, ListTrafficPolicies
// returns only the first MaxItems traffic policies. To get the next group of
- // MaxItems policies, submit another request to ListTrafficPolicies. For the
- // value of TrafficPolicyIdMarker, specify the value of the TrafficPolicyIdMarker
- // element that was returned in the previous response.
- //
- // Policies are listed in the order in which they were created.
- TrafficPolicyIdMarker *string `location:"querystring" locationName:"trafficpolicyid" type:"string"`
+ // policies, submit another request to ListTrafficPolicies. For the value of
+ // TrafficPolicyIdMarker, specify the value of TrafficPolicyIdMarker that was
+ // returned in the previous response.
+ TrafficPolicyIdMarker *string `location:"querystring" locationName:"trafficpolicyid" min:"1" type:"string"`
}
// String returns the string representation
@@ -6296,28 +10958,60 @@ func (s ListTrafficPoliciesInput) GoString() string {
return s.String()
}
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ListTrafficPoliciesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ListTrafficPoliciesInput"}
+ if s.TrafficPolicyIdMarker != nil && len(*s.TrafficPolicyIdMarker) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("TrafficPolicyIdMarker", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListTrafficPoliciesInput) SetMaxItems(v string) *ListTrafficPoliciesInput {
+ s.MaxItems = &v
+ return s
+}
+
+// SetTrafficPolicyIdMarker sets the TrafficPolicyIdMarker field's value.
+func (s *ListTrafficPoliciesInput) SetTrafficPolicyIdMarker(v string) *ListTrafficPoliciesInput {
+ s.TrafficPolicyIdMarker = &v
+ return s
+}
+
// A complex type that contains the response information for the request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPoliciesResponse
type ListTrafficPoliciesOutput struct {
_ struct{} `type:"structure"`
// A flag that indicates whether there are more traffic policies to be listed.
- // If the response was truncated, you can get the next group of MaxItems traffic
- // policies by calling ListTrafficPolicies again and specifying the value of
- // the TrafficPolicyIdMarker element in the TrafficPolicyIdMarker request parameter.
+ // If the response was truncated, you can get the next group of traffic policies
+ // by submitting another ListTrafficPolicies request and specifying the value
+ // of TrafficPolicyIdMarker in the TrafficPolicyIdMarker request parameter.
//
- // Valid Values: true | false
+ // IsTruncated is a required field
IsTruncated *bool `type:"boolean" required:"true"`
- // The value that you specified for the MaxItems parameter in the call to ListTrafficPolicies
- // that produced the current response.
+ // The value that you specified for the MaxItems parameter in the ListTrafficPolicies
+ // request that produced the current response.
+ //
+ // MaxItems is a required field
MaxItems *string `type:"string" required:"true"`
// If the value of IsTruncated is true, TrafficPolicyIdMarker is the ID of the
// first traffic policy in the next group of MaxItems traffic policies.
- TrafficPolicyIdMarker *string `type:"string" required:"true"`
+ //
+ // TrafficPolicyIdMarker is a required field
+ TrafficPolicyIdMarker *string `min:"1" type:"string" required:"true"`
// A list that contains one TrafficPolicySummary element for each traffic policy
// that was created by the current AWS account.
+ //
+ // TrafficPolicySummaries is a required field
TrafficPolicySummaries []*TrafficPolicySummary `locationNameList:"TrafficPolicySummary" type:"list" required:"true"`
}
@@ -6331,45 +11025,70 @@ func (s ListTrafficPoliciesOutput) GoString() string {
return s.String()
}
+// SetIsTruncated sets the IsTruncated field's value.
+func (s *ListTrafficPoliciesOutput) SetIsTruncated(v bool) *ListTrafficPoliciesOutput {
+ s.IsTruncated = &v
+ return s
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListTrafficPoliciesOutput) SetMaxItems(v string) *ListTrafficPoliciesOutput {
+ s.MaxItems = &v
+ return s
+}
+
+// SetTrafficPolicyIdMarker sets the TrafficPolicyIdMarker field's value.
+func (s *ListTrafficPoliciesOutput) SetTrafficPolicyIdMarker(v string) *ListTrafficPoliciesOutput {
+ s.TrafficPolicyIdMarker = &v
+ return s
+}
+
+// SetTrafficPolicySummaries sets the TrafficPolicySummaries field's value.
+func (s *ListTrafficPoliciesOutput) SetTrafficPolicySummaries(v []*TrafficPolicySummary) *ListTrafficPoliciesOutput {
+ s.TrafficPolicySummaries = v
+ return s
+}
+
// A request for the traffic policy instances that you created in a specified
// hosted zone.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyInstancesByHostedZoneRequest
type ListTrafficPolicyInstancesByHostedZoneInput struct {
_ struct{} `type:"structure"`
- // The ID of the hosted zone for which you want to list traffic policy instances.
+ // The ID of the hosted zone that you want to list traffic policy instances
+ // for.
+ //
+ // HostedZoneId is a required field
HostedZoneId *string `location:"querystring" locationName:"id" type:"string" required:"true"`
// The maximum number of traffic policy instances to be included in the response
// body for this request. If you have more than MaxItems traffic policy instances,
// the value of the IsTruncated element in the response is true, and the values
// of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker
- // represent the first traffic policy instance in the next group of MaxItems
- // traffic policy instances.
+ // represent the first traffic policy instance that Amazon Route 53 will return
+ // if you submit another request.
MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"`
- // For the first request to ListTrafficPolicyInstancesByHostedZone, omit this
- // value.
- //
- // If the value of IsTruncated in the previous response was true, TrafficPolicyInstanceNameMarker
- // is the name of the first traffic policy instance in the next group of MaxItems
- // traffic policy instances.
+ // If the value of IsTruncated in the previous response is true, you have more
+ // traffic policy instances. To get more traffic policy instances, submit another
+ // ListTrafficPolicyInstances request. For the value of trafficpolicyinstancename,
+ // specify the value of TrafficPolicyInstanceNameMarker from the previous response,
+ // which is the name of the first traffic policy instance in the next group
+ // of traffic policy instances.
//
// If the value of IsTruncated in the previous response was false, there are
- // no more traffic policy instances to get for this hosted zone.
- //
- // If the value of IsTruncated in the previous response was false, omit this
- // value.
+ // no more traffic policy instances to get.
TrafficPolicyInstanceNameMarker *string `location:"querystring" locationName:"trafficpolicyinstancename" type:"string"`
- // For the first request to ListTrafficPolicyInstancesByHostedZone, omit this
- // value.
- //
- // If the value of IsTruncated in the previous response was true, TrafficPolicyInstanceTypeMarker
- // is the DNS type of the first traffic policy instance in the next group of
- // MaxItems traffic policy instances.
+ // If the value of IsTruncated in the previous response is true, you have more
+ // traffic policy instances. To get more traffic policy instances, submit another
+ // ListTrafficPolicyInstances request. For the value of trafficpolicyinstancetype,
+ // specify the value of TrafficPolicyInstanceTypeMarker from the previous response,
+ // which is the type of the first traffic policy instance in the next group
+ // of traffic policy instances.
//
// If the value of IsTruncated in the previous response was false, there are
- // no more traffic policy instances to get for this hosted zone.
+ // no more traffic policy instances to get.
TrafficPolicyInstanceTypeMarker *string `location:"querystring" locationName:"trafficpolicyinstancetype" type:"string" enum:"RRType"`
}
@@ -6396,36 +11115,63 @@ func (s *ListTrafficPolicyInstancesByHostedZoneInput) Validate() error {
return nil
}
+// SetHostedZoneId sets the HostedZoneId field's value.
+func (s *ListTrafficPolicyInstancesByHostedZoneInput) SetHostedZoneId(v string) *ListTrafficPolicyInstancesByHostedZoneInput {
+ s.HostedZoneId = &v
+ return s
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListTrafficPolicyInstancesByHostedZoneInput) SetMaxItems(v string) *ListTrafficPolicyInstancesByHostedZoneInput {
+ s.MaxItems = &v
+ return s
+}
+
+// SetTrafficPolicyInstanceNameMarker sets the TrafficPolicyInstanceNameMarker field's value.
+func (s *ListTrafficPolicyInstancesByHostedZoneInput) SetTrafficPolicyInstanceNameMarker(v string) *ListTrafficPolicyInstancesByHostedZoneInput {
+ s.TrafficPolicyInstanceNameMarker = &v
+ return s
+}
+
+// SetTrafficPolicyInstanceTypeMarker sets the TrafficPolicyInstanceTypeMarker field's value.
+func (s *ListTrafficPolicyInstancesByHostedZoneInput) SetTrafficPolicyInstanceTypeMarker(v string) *ListTrafficPolicyInstancesByHostedZoneInput {
+ s.TrafficPolicyInstanceTypeMarker = &v
+ return s
+}
+
// A complex type that contains the response information for the request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyInstancesByHostedZoneResponse
type ListTrafficPolicyInstancesByHostedZoneOutput struct {
_ struct{} `type:"structure"`
// A flag that indicates whether there are more traffic policy instances to
- // be listed. If the response was truncated, you can get the next group of MaxItems
- // traffic policy instances by calling ListTrafficPolicyInstancesByHostedZone
- // again and specifying the values of the HostedZoneIdMarker, TrafficPolicyInstanceNameMarker,
- // and TrafficPolicyInstanceTypeMarker elements in the corresponding request
- // parameters.
+ // be listed. If the response was truncated, you can get the next group of traffic
+ // policy instances by submitting another ListTrafficPolicyInstancesByHostedZone
+ // request and specifying the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker,
+ // and TrafficPolicyInstanceTypeMarker in the corresponding request parameters.
//
- // Valid Values: true | false
+ // IsTruncated is a required field
IsTruncated *bool `type:"boolean" required:"true"`
- // The value that you specified for the MaxItems parameter in the call to ListTrafficPolicyInstancesByHostedZone
- // that produced the current response.
+ // The value that you specified for the MaxItems parameter in the ListTrafficPolicyInstancesByHostedZone
+ // request that produced the current response.
+ //
+ // MaxItems is a required field
MaxItems *string `type:"string" required:"true"`
// If IsTruncated is true, TrafficPolicyInstanceNameMarker is the name of the
- // first traffic policy instance in the next group of MaxItems traffic policy
- // instances.
+ // first traffic policy instance in the next group of traffic policy instances.
TrafficPolicyInstanceNameMarker *string `type:"string"`
// If IsTruncated is true, TrafficPolicyInstanceTypeMarker is the DNS type of
// the resource record sets that are associated with the first traffic policy
- // instance in the next group of MaxItems traffic policy instances.
+ // instance in the next group of traffic policy instances.
TrafficPolicyInstanceTypeMarker *string `type:"string" enum:"RRType"`
// A list that contains one TrafficPolicyInstance element for each traffic policy
// instance that matches the elements in the request.
+ //
+ // TrafficPolicyInstances is a required field
TrafficPolicyInstances []*TrafficPolicyInstance `locationNameList:"TrafficPolicyInstance" type:"list" required:"true"`
}
@@ -6439,61 +11185,96 @@ func (s ListTrafficPolicyInstancesByHostedZoneOutput) GoString() string {
return s.String()
}
+// SetIsTruncated sets the IsTruncated field's value.
+func (s *ListTrafficPolicyInstancesByHostedZoneOutput) SetIsTruncated(v bool) *ListTrafficPolicyInstancesByHostedZoneOutput {
+ s.IsTruncated = &v
+ return s
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListTrafficPolicyInstancesByHostedZoneOutput) SetMaxItems(v string) *ListTrafficPolicyInstancesByHostedZoneOutput {
+ s.MaxItems = &v
+ return s
+}
+
+// SetTrafficPolicyInstanceNameMarker sets the TrafficPolicyInstanceNameMarker field's value.
+func (s *ListTrafficPolicyInstancesByHostedZoneOutput) SetTrafficPolicyInstanceNameMarker(v string) *ListTrafficPolicyInstancesByHostedZoneOutput {
+ s.TrafficPolicyInstanceNameMarker = &v
+ return s
+}
+
+// SetTrafficPolicyInstanceTypeMarker sets the TrafficPolicyInstanceTypeMarker field's value.
+func (s *ListTrafficPolicyInstancesByHostedZoneOutput) SetTrafficPolicyInstanceTypeMarker(v string) *ListTrafficPolicyInstancesByHostedZoneOutput {
+ s.TrafficPolicyInstanceTypeMarker = &v
+ return s
+}
+
+// SetTrafficPolicyInstances sets the TrafficPolicyInstances field's value.
+func (s *ListTrafficPolicyInstancesByHostedZoneOutput) SetTrafficPolicyInstances(v []*TrafficPolicyInstance) *ListTrafficPolicyInstancesByHostedZoneOutput {
+ s.TrafficPolicyInstances = v
+ return s
+}
+
// A complex type that contains the information about the request to list your
// traffic policy instances.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyInstancesByPolicyRequest
type ListTrafficPolicyInstancesByPolicyInput struct {
_ struct{} `type:"structure"`
- // For the first request to ListTrafficPolicyInstancesByPolicy, omit this value.
+ // If the value of IsTruncated in the previous response was true, you have more
+ // traffic policy instances. To get more traffic policy instances, submit another
+ // ListTrafficPolicyInstancesByPolicy request.
//
- // If the value of IsTruncated in the previous response was true, HostedZoneIdMarker
- // is the ID of the hosted zone for the first traffic policy instance in the
- // next group of MaxItems traffic policy instances.
+ // For the value of hostedzoneid, specify the value of HostedZoneIdMarker from
+ // the previous response, which is the hosted zone ID of the first traffic policy
+ // instance that Amazon Route 53 will return if you submit another request.
//
// If the value of IsTruncated in the previous response was false, there are
- // no more traffic policy instances to get for this hosted zone.
- //
- // If the value of IsTruncated in the previous response was false, omit this
- // value.
+ // no more traffic policy instances to get.
HostedZoneIdMarker *string `location:"querystring" locationName:"hostedzoneid" type:"string"`
// The maximum number of traffic policy instances to be included in the response
// body for this request. If you have more than MaxItems traffic policy instances,
// the value of the IsTruncated element in the response is true, and the values
// of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker
- // represent the first traffic policy instance in the next group of MaxItems
- // traffic policy instances.
+ // represent the first traffic policy instance that Amazon Route 53 will return
+ // if you submit another request.
MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"`
// The ID of the traffic policy for which you want to list traffic policy instances.
- TrafficPolicyId *string `location:"querystring" locationName:"id" type:"string" required:"true"`
-
- // For the first request to ListTrafficPolicyInstancesByPolicy, omit this value.
//
- // If the value of IsTruncated in the previous response was true, TrafficPolicyInstanceNameMarker
- // is the name of the first traffic policy instance in the next group of MaxItems
- // traffic policy instances.
+ // TrafficPolicyId is a required field
+ TrafficPolicyId *string `location:"querystring" locationName:"id" min:"1" type:"string" required:"true"`
+
+ // If the value of IsTruncated in the previous response was true, you have more
+ // traffic policy instances. To get more traffic policy instances, submit another
+ // ListTrafficPolicyInstancesByPolicy request.
+ //
+ // For the value of trafficpolicyinstancename, specify the value of TrafficPolicyInstanceNameMarker
+ // from the previous response, which is the name of the first traffic policy
+ // instance that Amazon Route 53 will return if you submit another request.
//
// If the value of IsTruncated in the previous response was false, there are
- // no more traffic policy instances to get for this hosted zone.
- //
- // If the value of IsTruncated in the previous response was false, omit this
- // value.
+ // no more traffic policy instances to get.
TrafficPolicyInstanceNameMarker *string `location:"querystring" locationName:"trafficpolicyinstancename" type:"string"`
- // For the first request to ListTrafficPolicyInstancesByPolicy, omit this value.
+ // If the value of IsTruncated in the previous response was true, you have more
+ // traffic policy instances. To get more traffic policy instances, submit another
+ // ListTrafficPolicyInstancesByPolicy request.
//
- // If the value of IsTruncated in the previous response was true, TrafficPolicyInstanceTypeMarker
- // is the DNS type of the first traffic policy instance in the next group of
- // MaxItems traffic policy instances.
+ // For the value of trafficpolicyinstancetype, specify the value of TrafficPolicyInstanceTypeMarker
+ // from the previous response, which is the name of the first traffic policy
+ // instance that Amazon Route 53 will return if you submit another request.
//
// If the value of IsTruncated in the previous response was false, there are
- // no more traffic policy instances to get for this hosted zone.
+ // no more traffic policy instances to get.
TrafficPolicyInstanceTypeMarker *string `location:"querystring" locationName:"trafficpolicyinstancetype" type:"string" enum:"RRType"`
// The version of the traffic policy for which you want to list traffic policy
// instances. The version must be associated with the traffic policy that is
// specified by TrafficPolicyId.
+ //
+ // TrafficPolicyVersion is a required field
TrafficPolicyVersion *int64 `location:"querystring" locationName:"version" min:"1" type:"integer" required:"true"`
}
@@ -6513,6 +11294,9 @@ func (s *ListTrafficPolicyInstancesByPolicyInput) Validate() error {
if s.TrafficPolicyId == nil {
invalidParams.Add(request.NewErrParamRequired("TrafficPolicyId"))
}
+ if s.TrafficPolicyId != nil && len(*s.TrafficPolicyId) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("TrafficPolicyId", 1))
+ }
if s.TrafficPolicyVersion == nil {
invalidParams.Add(request.NewErrParamRequired("TrafficPolicyVersion"))
}
@@ -6526,27 +11310,65 @@ func (s *ListTrafficPolicyInstancesByPolicyInput) Validate() error {
return nil
}
+// SetHostedZoneIdMarker sets the HostedZoneIdMarker field's value.
+func (s *ListTrafficPolicyInstancesByPolicyInput) SetHostedZoneIdMarker(v string) *ListTrafficPolicyInstancesByPolicyInput {
+ s.HostedZoneIdMarker = &v
+ return s
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListTrafficPolicyInstancesByPolicyInput) SetMaxItems(v string) *ListTrafficPolicyInstancesByPolicyInput {
+ s.MaxItems = &v
+ return s
+}
+
+// SetTrafficPolicyId sets the TrafficPolicyId field's value.
+func (s *ListTrafficPolicyInstancesByPolicyInput) SetTrafficPolicyId(v string) *ListTrafficPolicyInstancesByPolicyInput {
+ s.TrafficPolicyId = &v
+ return s
+}
+
+// SetTrafficPolicyInstanceNameMarker sets the TrafficPolicyInstanceNameMarker field's value.
+func (s *ListTrafficPolicyInstancesByPolicyInput) SetTrafficPolicyInstanceNameMarker(v string) *ListTrafficPolicyInstancesByPolicyInput {
+ s.TrafficPolicyInstanceNameMarker = &v
+ return s
+}
+
+// SetTrafficPolicyInstanceTypeMarker sets the TrafficPolicyInstanceTypeMarker field's value.
+func (s *ListTrafficPolicyInstancesByPolicyInput) SetTrafficPolicyInstanceTypeMarker(v string) *ListTrafficPolicyInstancesByPolicyInput {
+ s.TrafficPolicyInstanceTypeMarker = &v
+ return s
+}
+
+// SetTrafficPolicyVersion sets the TrafficPolicyVersion field's value.
+func (s *ListTrafficPolicyInstancesByPolicyInput) SetTrafficPolicyVersion(v int64) *ListTrafficPolicyInstancesByPolicyInput {
+ s.TrafficPolicyVersion = &v
+ return s
+}
+
// A complex type that contains the response information for the request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyInstancesByPolicyResponse
type ListTrafficPolicyInstancesByPolicyOutput struct {
_ struct{} `type:"structure"`
// If IsTruncated is true, HostedZoneIdMarker is the ID of the hosted zone of
- // the first traffic policy instance in the next group of MaxItems traffic policy
- // instances.
+ // the first traffic policy instance in the next group of traffic policy instances.
HostedZoneIdMarker *string `type:"string"`
// A flag that indicates whether there are more traffic policy instances to
- // be listed. If the response was truncated, you can get the next group of MaxItems
- // traffic policy instances by calling ListTrafficPolicyInstancesByPolicy again
- // and specifying the values of the HostedZoneIdMarker, TrafficPolicyInstanceNameMarker,
+ // be listed. If the response was truncated, you can get the next group of traffic
+ // policy instances by calling ListTrafficPolicyInstancesByPolicy again and
+ // specifying the values of the HostedZoneIdMarker, TrafficPolicyInstanceNameMarker,
// and TrafficPolicyInstanceTypeMarker elements in the corresponding request
// parameters.
//
- // Valid Values: true | false
+ // IsTruncated is a required field
IsTruncated *bool `type:"boolean" required:"true"`
// The value that you specified for the MaxItems parameter in the call to ListTrafficPolicyInstancesByPolicy
// that produced the current response.
+ //
+ // MaxItems is a required field
MaxItems *string `type:"string" required:"true"`
// If IsTruncated is true, TrafficPolicyInstanceNameMarker is the name of the
@@ -6561,6 +11383,8 @@ type ListTrafficPolicyInstancesByPolicyOutput struct {
// A list that contains one TrafficPolicyInstance element for each traffic policy
// instance that matches the elements in the request.
+ //
+ // TrafficPolicyInstances is a required field
TrafficPolicyInstances []*TrafficPolicyInstance `locationNameList:"TrafficPolicyInstance" type:"list" required:"true"`
}
@@ -6574,47 +11398,84 @@ func (s ListTrafficPolicyInstancesByPolicyOutput) GoString() string {
return s.String()
}
-// A complex type that contains the information about the request to list your
-// traffic policy instances.
+// SetHostedZoneIdMarker sets the HostedZoneIdMarker field's value.
+func (s *ListTrafficPolicyInstancesByPolicyOutput) SetHostedZoneIdMarker(v string) *ListTrafficPolicyInstancesByPolicyOutput {
+ s.HostedZoneIdMarker = &v
+ return s
+}
+
+// SetIsTruncated sets the IsTruncated field's value.
+func (s *ListTrafficPolicyInstancesByPolicyOutput) SetIsTruncated(v bool) *ListTrafficPolicyInstancesByPolicyOutput {
+ s.IsTruncated = &v
+ return s
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListTrafficPolicyInstancesByPolicyOutput) SetMaxItems(v string) *ListTrafficPolicyInstancesByPolicyOutput {
+ s.MaxItems = &v
+ return s
+}
+
+// SetTrafficPolicyInstanceNameMarker sets the TrafficPolicyInstanceNameMarker field's value.
+func (s *ListTrafficPolicyInstancesByPolicyOutput) SetTrafficPolicyInstanceNameMarker(v string) *ListTrafficPolicyInstancesByPolicyOutput {
+ s.TrafficPolicyInstanceNameMarker = &v
+ return s
+}
+
+// SetTrafficPolicyInstanceTypeMarker sets the TrafficPolicyInstanceTypeMarker field's value.
+func (s *ListTrafficPolicyInstancesByPolicyOutput) SetTrafficPolicyInstanceTypeMarker(v string) *ListTrafficPolicyInstancesByPolicyOutput {
+ s.TrafficPolicyInstanceTypeMarker = &v
+ return s
+}
+
+// SetTrafficPolicyInstances sets the TrafficPolicyInstances field's value.
+func (s *ListTrafficPolicyInstancesByPolicyOutput) SetTrafficPolicyInstances(v []*TrafficPolicyInstance) *ListTrafficPolicyInstancesByPolicyOutput {
+ s.TrafficPolicyInstances = v
+ return s
+}
+
+// A request to get information about the traffic policy instances that you
+// created by using the current AWS account.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyInstancesRequest
type ListTrafficPolicyInstancesInput struct {
_ struct{} `type:"structure"`
- // For the first request to ListTrafficPolicyInstances, omit this value.
- //
- // If the value of IsTruncated in the previous response was true, you have
- // more traffic policy instances. To get the next group of MaxItems traffic
- // policy instances, submit another ListTrafficPolicyInstances request. For
- // the value of HostedZoneIdMarker, specify the value of HostedZoneIdMarker
- // from the previous response, which is the hosted zone ID of the first traffic
- // policy instance in the next group of MaxItems traffic policy instances.
+ // If the value of IsTruncated in the previous response was true, you have more
+ // traffic policy instances. To get more traffic policy instances, submit another
+ // ListTrafficPolicyInstances request. For the value of HostedZoneId, specify
+ // the value of HostedZoneIdMarker from the previous response, which is the
+ // hosted zone ID of the first traffic policy instance in the next group of
+ // traffic policy instances.
//
// If the value of IsTruncated in the previous response was false, there are
// no more traffic policy instances to get.
HostedZoneIdMarker *string `location:"querystring" locationName:"hostedzoneid" type:"string"`
- // The maximum number of traffic policy instances to be included in the response
- // body for this request. If you have more than MaxItems traffic policy instances,
- // the value of the IsTruncated element in the response is true, and the values
- // of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker
- // represent the first traffic policy instance in the next group of MaxItems
- // traffic policy instances.
+ // The maximum number of traffic policy instances that you want Amazon Route
+ // 53 to return in response to a ListTrafficPolicyInstances request. If you
+ // have more than MaxItems traffic policy instances, the value of the IsTruncated
+ // element in the response is true, and the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker,
+ // and TrafficPolicyInstanceTypeMarker represent the first traffic policy instance
+ // in the next group of MaxItems traffic policy instances.
MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"`
- // For the first request to ListTrafficPolicyInstances, omit this value.
- //
- // If the value of IsTruncated in the previous response was true, TrafficPolicyInstanceNameMarker
- // is the name of the first traffic policy instance in the next group of MaxItems
- // traffic policy instances.
+ // If the value of IsTruncated in the previous response was true, you have more
+ // traffic policy instances. To get more traffic policy instances, submit another
+ // ListTrafficPolicyInstances request. For the value of trafficpolicyinstancename,
+ // specify the value of TrafficPolicyInstanceNameMarker from the previous response,
+ // which is the name of the first traffic policy instance in the next group
+ // of traffic policy instances.
//
// If the value of IsTruncated in the previous response was false, there are
// no more traffic policy instances to get.
TrafficPolicyInstanceNameMarker *string `location:"querystring" locationName:"trafficpolicyinstancename" type:"string"`
- // For the first request to ListTrafficPolicyInstances, omit this value.
- //
- // If the value of IsTruncated in the previous response was true, TrafficPolicyInstanceTypeMarker
- // is the DNS type of the first traffic policy instance in the next group of
- // MaxItems traffic policy instances.
+ // If the value of IsTruncated in the previous response was true, you have more
+ // traffic policy instances. To get more traffic policy instances, submit another
+ // ListTrafficPolicyInstances request. For the value of trafficpolicyinstancetype,
+ // specify the value of TrafficPolicyInstanceTypeMarker from the previous response,
+ // which is the type of the first traffic policy instance in the next group
+ // of traffic policy instances.
//
// If the value of IsTruncated in the previous response was false, there are
// no more traffic policy instances to get.
@@ -6631,41 +11492,70 @@ func (s ListTrafficPolicyInstancesInput) GoString() string {
return s.String()
}
+// SetHostedZoneIdMarker sets the HostedZoneIdMarker field's value.
+func (s *ListTrafficPolicyInstancesInput) SetHostedZoneIdMarker(v string) *ListTrafficPolicyInstancesInput {
+ s.HostedZoneIdMarker = &v
+ return s
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListTrafficPolicyInstancesInput) SetMaxItems(v string) *ListTrafficPolicyInstancesInput {
+ s.MaxItems = &v
+ return s
+}
+
+// SetTrafficPolicyInstanceNameMarker sets the TrafficPolicyInstanceNameMarker field's value.
+func (s *ListTrafficPolicyInstancesInput) SetTrafficPolicyInstanceNameMarker(v string) *ListTrafficPolicyInstancesInput {
+ s.TrafficPolicyInstanceNameMarker = &v
+ return s
+}
+
+// SetTrafficPolicyInstanceTypeMarker sets the TrafficPolicyInstanceTypeMarker field's value.
+func (s *ListTrafficPolicyInstancesInput) SetTrafficPolicyInstanceTypeMarker(v string) *ListTrafficPolicyInstancesInput {
+ s.TrafficPolicyInstanceTypeMarker = &v
+ return s
+}
+
// A complex type that contains the response information for the request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyInstancesResponse
type ListTrafficPolicyInstancesOutput struct {
_ struct{} `type:"structure"`
// If IsTruncated is true, HostedZoneIdMarker is the ID of the hosted zone of
- // the first traffic policy instance in the next group of MaxItems traffic policy
- // instances.
+ // the first traffic policy instance that Amazon Route 53 will return if you
+ // submit another ListTrafficPolicyInstances request.
HostedZoneIdMarker *string `type:"string"`
// A flag that indicates whether there are more traffic policy instances to
- // be listed. If the response was truncated, you can get the next group of MaxItems
- // traffic policy instances by calling ListTrafficPolicyInstances again and
- // specifying the values of the HostedZoneIdMarker, TrafficPolicyInstanceNameMarker,
- // and TrafficPolicyInstanceTypeMarker elements in the corresponding request
- // parameters.
+ // be listed. If the response was truncated, you can get more traffic policy
+ // instances by calling ListTrafficPolicyInstances again and specifying the
+ // values of the HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker
+ // in the corresponding request parameters.
//
- // Valid Values: true | false
+ // IsTruncated is a required field
IsTruncated *bool `type:"boolean" required:"true"`
// The value that you specified for the MaxItems parameter in the call to ListTrafficPolicyInstances
// that produced the current response.
+ //
+ // MaxItems is a required field
MaxItems *string `type:"string" required:"true"`
// If IsTruncated is true, TrafficPolicyInstanceNameMarker is the name of the
- // first traffic policy instance in the next group of MaxItems traffic policy
- // instances.
+ // first traffic policy instance that Amazon Route 53 will return if you submit
+ // another ListTrafficPolicyInstances request.
TrafficPolicyInstanceNameMarker *string `type:"string"`
// If IsTruncated is true, TrafficPolicyInstanceTypeMarker is the DNS type of
// the resource record sets that are associated with the first traffic policy
- // instance in the next group of MaxItems traffic policy instances.
+ // instance that Amazon Route 53 will return if you submit another ListTrafficPolicyInstances
+ // request.
TrafficPolicyInstanceTypeMarker *string `type:"string" enum:"RRType"`
// A list that contains one TrafficPolicyInstance element for each traffic policy
// instance that matches the elements in the request.
+ //
+ // TrafficPolicyInstances is a required field
TrafficPolicyInstances []*TrafficPolicyInstance `locationNameList:"TrafficPolicyInstance" type:"list" required:"true"`
}
@@ -6679,33 +11569,70 @@ func (s ListTrafficPolicyInstancesOutput) GoString() string {
return s.String()
}
+// SetHostedZoneIdMarker sets the HostedZoneIdMarker field's value.
+func (s *ListTrafficPolicyInstancesOutput) SetHostedZoneIdMarker(v string) *ListTrafficPolicyInstancesOutput {
+ s.HostedZoneIdMarker = &v
+ return s
+}
+
+// SetIsTruncated sets the IsTruncated field's value.
+func (s *ListTrafficPolicyInstancesOutput) SetIsTruncated(v bool) *ListTrafficPolicyInstancesOutput {
+ s.IsTruncated = &v
+ return s
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListTrafficPolicyInstancesOutput) SetMaxItems(v string) *ListTrafficPolicyInstancesOutput {
+ s.MaxItems = &v
+ return s
+}
+
+// SetTrafficPolicyInstanceNameMarker sets the TrafficPolicyInstanceNameMarker field's value.
+func (s *ListTrafficPolicyInstancesOutput) SetTrafficPolicyInstanceNameMarker(v string) *ListTrafficPolicyInstancesOutput {
+ s.TrafficPolicyInstanceNameMarker = &v
+ return s
+}
+
+// SetTrafficPolicyInstanceTypeMarker sets the TrafficPolicyInstanceTypeMarker field's value.
+func (s *ListTrafficPolicyInstancesOutput) SetTrafficPolicyInstanceTypeMarker(v string) *ListTrafficPolicyInstancesOutput {
+ s.TrafficPolicyInstanceTypeMarker = &v
+ return s
+}
+
+// SetTrafficPolicyInstances sets the TrafficPolicyInstances field's value.
+func (s *ListTrafficPolicyInstancesOutput) SetTrafficPolicyInstances(v []*TrafficPolicyInstance) *ListTrafficPolicyInstancesOutput {
+ s.TrafficPolicyInstances = v
+ return s
+}
+
// A complex type that contains the information about the request to list your
// traffic policies.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyVersionsRequest
type ListTrafficPolicyVersionsInput struct {
_ struct{} `type:"structure"`
// Specify the value of Id of the traffic policy for which you want to list
// all versions.
- Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
+ //
+ // Id is a required field
+ Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
// The maximum number of traffic policy versions that you want Amazon Route
// 53 to include in the response body for this request. If the specified traffic
- // policy has more than MaxItems versions, the value of the IsTruncated element
- // in the response is true, and the value of the TrafficPolicyVersionMarker
- // element is the ID of the first version in the next group of MaxItems traffic
- // policy versions.
+ // policy has more than MaxItems versions, the value of IsTruncated in the response
+ // is true, and the value of the TrafficPolicyVersionMarker element is the ID
+ // of the first version that Amazon Route 53 will return if you submit another
+ // request.
MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"`
- // For your first request to ListTrafficPolicyVersions, do not include the TrafficPolicyVersionMarker
+ // For your first request to ListTrafficPolicyVersions, don't include the TrafficPolicyVersionMarker
// parameter.
//
// If you have more traffic policy versions than the value of MaxItems, ListTrafficPolicyVersions
- // returns only the first group of MaxItems versions. To get the next group
- // of MaxItems traffic policy versions, submit another request to ListTrafficPolicyVersions.
- // For the value of TrafficPolicyVersionMarker, specify the value of the TrafficPolicyVersionMarker
- // element that was returned in the previous response.
- //
- // Traffic policy versions are listed in sequential order.
+ // returns only the first group of MaxItems versions. To get more traffic policy
+ // versions, submit another ListTrafficPolicyVersions request. For the value
+ // of TrafficPolicyVersionMarker, specify the value of TrafficPolicyVersionMarker
+ // in the previous response.
TrafficPolicyVersionMarker *string `location:"querystring" locationName:"trafficpolicyversion" type:"string"`
}
@@ -6725,6 +11652,9 @@ func (s *ListTrafficPolicyVersionsInput) Validate() error {
if s.Id == nil {
invalidParams.Add(request.NewErrParamRequired("Id"))
}
+ if s.Id != nil && len(*s.Id) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Id", 1))
+ }
if invalidParams.Len() > 0 {
return invalidParams
@@ -6732,32 +11662,57 @@ func (s *ListTrafficPolicyVersionsInput) Validate() error {
return nil
}
+// SetId sets the Id field's value.
+func (s *ListTrafficPolicyVersionsInput) SetId(v string) *ListTrafficPolicyVersionsInput {
+ s.Id = &v
+ return s
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListTrafficPolicyVersionsInput) SetMaxItems(v string) *ListTrafficPolicyVersionsInput {
+ s.MaxItems = &v
+ return s
+}
+
+// SetTrafficPolicyVersionMarker sets the TrafficPolicyVersionMarker field's value.
+func (s *ListTrafficPolicyVersionsInput) SetTrafficPolicyVersionMarker(v string) *ListTrafficPolicyVersionsInput {
+ s.TrafficPolicyVersionMarker = &v
+ return s
+}
+
// A complex type that contains the response information for the request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListTrafficPolicyVersionsResponse
type ListTrafficPolicyVersionsOutput struct {
_ struct{} `type:"structure"`
// A flag that indicates whether there are more traffic policies to be listed.
- // If the response was truncated, you can get the next group of maxitems traffic
- // policies by calling ListTrafficPolicyVersions again and specifying the value
- // of the NextMarker element in the marker parameter.
+ // If the response was truncated, you can get the next group of traffic policies
+ // by submitting another ListTrafficPolicyVersions request and specifying the
+ // value of NextMarker in the marker parameter.
//
- // Valid Values: true | false
+ // IsTruncated is a required field
IsTruncated *bool `type:"boolean" required:"true"`
- // The value that you specified for the maxitems parameter in the call to ListTrafficPolicyVersions
- // that produced the current response.
+ // The value that you specified for the maxitems parameter in the ListTrafficPolicyVersions
+ // request that produced the current response.
+ //
+ // MaxItems is a required field
MaxItems *string `type:"string" required:"true"`
// A list that contains one TrafficPolicy element for each traffic policy version
// that is associated with the specified traffic policy.
+ //
+ // TrafficPolicies is a required field
TrafficPolicies []*TrafficPolicy `locationNameList:"TrafficPolicy" type:"list" required:"true"`
// If IsTruncated is true, the value of TrafficPolicyVersionMarker identifies
- // the first traffic policy in the next group of MaxItems traffic policies.
- // Call ListTrafficPolicyVersions again and specify the value of TrafficPolicyVersionMarker
+ // the first traffic policy that Amazon Route 53 will return if you submit another
+ // request. Call ListTrafficPolicyVersions again and specify the value of TrafficPolicyVersionMarker
// in the TrafficPolicyVersionMarker request parameter.
//
// This element is present only if IsTruncated is true.
+ //
+ // TrafficPolicyVersionMarker is a required field
TrafficPolicyVersionMarker *string `type:"string" required:"true"`
}
@@ -6771,8 +11726,203 @@ func (s ListTrafficPolicyVersionsOutput) GoString() string {
return s.String()
}
-// A complex type that contains the value of the Value element for the current
-// resource record set.
+// SetIsTruncated sets the IsTruncated field's value.
+func (s *ListTrafficPolicyVersionsOutput) SetIsTruncated(v bool) *ListTrafficPolicyVersionsOutput {
+ s.IsTruncated = &v
+ return s
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListTrafficPolicyVersionsOutput) SetMaxItems(v string) *ListTrafficPolicyVersionsOutput {
+ s.MaxItems = &v
+ return s
+}
+
+// SetTrafficPolicies sets the TrafficPolicies field's value.
+func (s *ListTrafficPolicyVersionsOutput) SetTrafficPolicies(v []*TrafficPolicy) *ListTrafficPolicyVersionsOutput {
+ s.TrafficPolicies = v
+ return s
+}
+
+// SetTrafficPolicyVersionMarker sets the TrafficPolicyVersionMarker field's value.
+func (s *ListTrafficPolicyVersionsOutput) SetTrafficPolicyVersionMarker(v string) *ListTrafficPolicyVersionsOutput {
+ s.TrafficPolicyVersionMarker = &v
+ return s
+}
+
+// A complex type that contains information about that can be associated with
+// your hosted zone.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListVPCAssociationAuthorizationsRequest
+type ListVPCAssociationAuthorizationsInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the hosted zone for which you want a list of VPCs that can be associated
+ // with the hosted zone.
+ //
+ // HostedZoneId is a required field
+ HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
+
+ // Optional: An integer that specifies the maximum number of VPCs that you want
+ // Amazon Route 53 to return. If you don't specify a value for MaxResults, Amazon
+ // Route 53 returns up to 50 VPCs per page.
+ MaxResults *string `location:"querystring" locationName:"maxresults" type:"string"`
+
+ // Optional: If a response includes a NextToken element, there are more VPCs
+ // that can be associated with the specified hosted zone. To get the next page
+ // of results, submit another request, and include the value of NextToken from
+ // the response in the nexttoken parameter in another ListVPCAssociationAuthorizations
+ // request.
+ NextToken *string `location:"querystring" locationName:"nexttoken" type:"string"`
+}
+
+// String returns the string representation
+func (s ListVPCAssociationAuthorizationsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListVPCAssociationAuthorizationsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ListVPCAssociationAuthorizationsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ListVPCAssociationAuthorizationsInput"}
+ if s.HostedZoneId == nil {
+ invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetHostedZoneId sets the HostedZoneId field's value.
+func (s *ListVPCAssociationAuthorizationsInput) SetHostedZoneId(v string) *ListVPCAssociationAuthorizationsInput {
+ s.HostedZoneId = &v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *ListVPCAssociationAuthorizationsInput) SetMaxResults(v string) *ListVPCAssociationAuthorizationsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *ListVPCAssociationAuthorizationsInput) SetNextToken(v string) *ListVPCAssociationAuthorizationsInput {
+ s.NextToken = &v
+ return s
+}
+
+// A complex type that contains the response information for the request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListVPCAssociationAuthorizationsResponse
+type ListVPCAssociationAuthorizationsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the hosted zone that you can associate the listed VPCs with.
+ //
+ // HostedZoneId is a required field
+ HostedZoneId *string `type:"string" required:"true"`
+
+ // When the response includes a NextToken element, there are more VPCs that
+ // can be associated with the specified hosted zone. To get the next page of
+ // VPCs, submit another ListVPCAssociationAuthorizations request, and include
+ // the value of the NextToken element from the response in the nexttoken request
+ // parameter.
+ NextToken *string `type:"string"`
+
+ // The list of VPCs that are authorized to be associated with the specified
+ // hosted zone.
+ //
+ // VPCs is a required field
+ VPCs []*VPC `locationNameList:"VPC" min:"1" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s ListVPCAssociationAuthorizationsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListVPCAssociationAuthorizationsOutput) GoString() string {
+ return s.String()
+}
+
+// SetHostedZoneId sets the HostedZoneId field's value.
+func (s *ListVPCAssociationAuthorizationsOutput) SetHostedZoneId(v string) *ListVPCAssociationAuthorizationsOutput {
+ s.HostedZoneId = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *ListVPCAssociationAuthorizationsOutput) SetNextToken(v string) *ListVPCAssociationAuthorizationsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetVPCs sets the VPCs field's value.
+func (s *ListVPCAssociationAuthorizationsOutput) SetVPCs(v []*VPC) *ListVPCAssociationAuthorizationsOutput {
+ s.VPCs = v
+ return s
+}
+
+// A complex type that contains information about a configuration for DNS query
+// logging.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/QueryLoggingConfig
+type QueryLoggingConfig struct {
+ _ struct{} `type:"structure"`
+
+ // The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon
+ // Route 53 is publishing logs to.
+ //
+ // CloudWatchLogsLogGroupArn is a required field
+ CloudWatchLogsLogGroupArn *string `type:"string" required:"true"`
+
+ // The ID of the hosted zone that CloudWatch Logs is logging queries for.
+ //
+ // HostedZoneId is a required field
+ HostedZoneId *string `type:"string" required:"true"`
+
+ // The ID for a configuration for DNS query logging.
+ //
+ // Id is a required field
+ Id *string `min:"1" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s QueryLoggingConfig) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s QueryLoggingConfig) GoString() string {
+ return s.String()
+}
+
+// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
+func (s *QueryLoggingConfig) SetCloudWatchLogsLogGroupArn(v string) *QueryLoggingConfig {
+ s.CloudWatchLogsLogGroupArn = &v
+ return s
+}
+
+// SetHostedZoneId sets the HostedZoneId field's value.
+func (s *QueryLoggingConfig) SetHostedZoneId(v string) *QueryLoggingConfig {
+ s.HostedZoneId = &v
+ return s
+}
+
+// SetId sets the Id field's value.
+func (s *QueryLoggingConfig) SetId(v string) *QueryLoggingConfig {
+ s.Id = &v
+ return s
+}
+
+// Information specific to the resource record.
+//
+// If you're creating an alias resource record set, omit ResourceRecord.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ResourceRecord
type ResourceRecord struct {
_ struct{} `type:"structure"`
@@ -6784,6 +11934,10 @@ type ResourceRecord struct {
//
// You can specify more than one value for all record types except CNAME and
// SOA.
+ //
+ // If you're creating an alias resource record set, omit Value.
+ //
+ // Value is a required field
Value *string `type:"string" required:"true"`
}
@@ -6810,13 +11964,34 @@ func (s *ResourceRecord) Validate() error {
return nil
}
-// A complex type that contains information about the current resource record
-// set.
+// SetValue sets the Value field's value.
+func (s *ResourceRecord) SetValue(v string) *ResourceRecord {
+ s.Value = &v
+ return s
+}
+
+// Information about the resource record set to create or delete.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ResourceRecordSet
type ResourceRecordSet struct {
_ struct{} `type:"structure"`
- // Alias resource record sets only: Information about the AWS resource to which
- // you are redirecting traffic.
+ // Alias resource record sets only: Information about the CloudFront distribution,
+ // AWS Elastic Beanstalk environment, ELB load balancer, Amazon S3 bucket, or
+ // Amazon Route 53 resource record set to which you're redirecting queries.
+ // The AWS Elastic Beanstalk environment must have a regionalized subdomain.
+ //
+ // If you're creating resource records sets for a private hosted zone, note
+ // the following:
+ //
+ // * You can't create alias resource record sets for CloudFront distributions
+ // in a private hosted zone.
+ //
+ // * Creating geolocation alias resource record sets or latency alias resource
+ // record sets in a private hosted zone is unsupported.
+ //
+ // * For information about creating failover resource record sets in a private
+ // hosted zone, see Configuring Failover in a Private Hosted Zone (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)
+ // in the Amazon Route 53 Developer Guide.
AliasTarget *AliasTarget `type:"structure"`
// Failover resource record sets only: To configure failover, you add the Failover
@@ -6826,35 +12001,39 @@ type ResourceRecordSet struct {
// specify the health check that you want Amazon Route 53 to perform for each
// resource record set.
//
- // You can create failover and failover alias resource record sets only in
- // public hosted zones. Except where noted, the following failover behaviors
- // assume that you have included the HealthCheckId element in both resource
- // record sets:
+ // Except where noted, the following failover behaviors assume that you have
+ // included the HealthCheckId element in both resource record sets:
//
- // When the primary resource record set is healthy, Amazon Route 53 responds
- // to DNS queries with the applicable value from the primary resource record
- // set regardless of the health of the secondary resource record set. When the
- // primary resource record set is unhealthy and the secondary resource record
- // set is healthy, Amazon Route 53 responds to DNS queries with the applicable
- // value from the secondary resource record set. When the secondary resource
- // record set is unhealthy, Amazon Route 53 responds to DNS queries with the
- // applicable value from the primary resource record set regardless of the health
- // of the primary resource record set. If you omit the HealthCheckId element
- // for the secondary resource record set, and if the primary resource record
- // set is unhealthy, Amazon Route 53 always responds to DNS queries with the
- // applicable value from the secondary resource record set. This is true regardless
- // of the health of the associated endpoint. You cannot create non-failover
- // resource record sets that have the same values for the Name and Type elements
- // as failover resource record sets.
+ // * When the primary resource record set is healthy, Amazon Route 53 responds
+ // to DNS queries with the applicable value from the primary resource record
+ // set regardless of the health of the secondary resource record set.
+ //
+ // * When the primary resource record set is unhealthy and the secondary
+ // resource record set is healthy, Amazon Route 53 responds to DNS queries
+ // with the applicable value from the secondary resource record set.
+ //
+ // * When the secondary resource record set is unhealthy, Amazon Route 53
+ // responds to DNS queries with the applicable value from the primary resource
+ // record set regardless of the health of the primary resource record set.
+ //
+ // * If you omit the HealthCheckId element for the secondary resource record
+ // set, and if the primary resource record set is unhealthy, Amazon Route
+ // 53 always responds to DNS queries with the applicable value from the secondary
+ // resource record set. This is true regardless of the health of the associated
+ // endpoint.
+ //
+ // You can't create non-failover resource record sets that have the same values
+ // for the Name and Type elements as failover resource record sets.
//
// For failover alias resource record sets, you must also include the EvaluateTargetHealth
// element and set the value to true.
//
// For more information about configuring failover for Amazon Route 53, see
- // Amazon Route 53 Health Checks and DNS Failover (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)
- // in the Amazon Route 53 Developer Guide.
+ // the following topics in the Amazon Route 53 Developer Guide:
//
- // Valid values: PRIMARY | SECONDARY
+ // * Amazon Route 53 Health Checks and DNS Failover (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)
+ //
+ // * Configuring Failover in a Private Hosted Zone (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)
Failover *string `type:"string" enum:"ResourceRecordSetFailover"`
// Geo location resource record sets only: A complex type that lets you control
@@ -6863,20 +12042,21 @@ type ResourceRecordSet struct {
// to a web server with an IP address of 192.0.2.111, create a resource record
// set with a Type of A and a ContinentCode of AF.
//
- // You can create geolocation and geolocation alias resource record sets only
- // in public hosted zones. If you create separate resource record sets for overlapping
- // geographic regions (for example, one resource record set for a continent
- // and one for a country on the same continent), priority goes to the smallest
- // geographic region. This allows you to route most queries for a continent
- // to one resource and to route queries for a country on that continent to a
- // different resource.
+ // Creating geolocation and geolocation alias resource record sets in private
+ // hosted zones is not supported.
//
- // You cannot create two geolocation resource record sets that specify the
- // same geographic location.
+ // If you create separate resource record sets for overlapping geographic regions
+ // (for example, one resource record set for a continent and one for a country
+ // on the same continent), priority goes to the smallest geographic region.
+ // This allows you to route most queries for a continent to one resource and
+ // to route queries for a country on that continent to a different resource.
//
- // The value * in the CountryCode element matches all geographic locations
- // that aren't specified in other geolocation resource record sets that have
- // the same values for the Name and Type elements.
+ // You can't create two geolocation resource record sets that specify the same
+ // geographic location.
+ //
+ // The value * in the CountryCode element matches all geographic locations that
+ // aren't specified in other geolocation resource record sets that have the
+ // same values for the Name and Type elements.
//
// Geolocation works by mapping IP addresses to locations. However, some IP
// addresses aren't mapped to geographic locations, so even if you create geolocation
@@ -6887,15 +12067,112 @@ type ResourceRecordSet struct {
// created geolocation resource record sets and queries from IP addresses that
// aren't mapped to a location. If you don't create a * resource record set,
// Amazon Route 53 returns a "no answer" response for queries from those locations.
- // You cannot create non-geolocation resource record sets that have the same
+ //
+ // You can't create non-geolocation resource record sets that have the same
// values for the Name and Type elements as geolocation resource record sets.
GeoLocation *GeoLocation `type:"structure"`
- // Health Check resource record sets only, not required for alias resource record
- // sets: An identifier that is used to identify health check associated with
- // the resource record set.
+ // If you want Amazon Route 53 to return this resource record set in response
+ // to a DNS query only when a health check is passing, include the HealthCheckId
+ // element and specify the ID of the applicable health check.
+ //
+ // Amazon Route 53 determines whether a resource record set is healthy based
+ // on one of the following:
+ //
+ // * By periodically sending a request to the endpoint that is specified
+ // in the health check
+ //
+ // * By aggregating the status of a specified group of health checks (calculated
+ // health checks)
+ //
+ // * By determining the current state of a CloudWatch alarm (CloudWatch metric
+ // health checks)
+ //
+ // For more information, see How Amazon Route 53 Determines Whether an Endpoint
+ // Is Healthy (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html).
+ //
+ // The HealthCheckId element is only useful when Amazon Route 53 is choosing
+ // between two or more resource record sets to respond to a DNS query, and you
+ // want Amazon Route 53 to base the choice in part on the status of a health
+ // check. Configuring health checks only makes sense in the following configurations:
+ //
+ // * You're checking the health of the resource record sets in a group of
+ // weighted, latency, geolocation, or failover resource record sets, and
+ // you specify health check IDs for all of the resource record sets. If the
+ // health check for one resource record set specifies an endpoint that is
+ // not healthy, Amazon Route 53 stops responding to queries using the value
+ // for that resource record set.
+ //
+ // * You set EvaluateTargetHealth to true for the resource record sets in
+ // a group of alias, weighted alias, latency alias, geolocation alias, or
+ // failover alias resource record sets, and you specify health check IDs
+ // for all of the resource record sets that are referenced by the alias resource
+ // record sets.
+ //
+ // Amazon Route 53 doesn't check the health of the endpoint specified in the
+ // resource record set, for example, the endpoint specified by the IP address
+ // in the Value element. When you add a HealthCheckId element to a resource
+ // record set, Amazon Route 53 checks the health of the endpoint that you specified
+ // in the health check.
+ //
+ // For geolocation resource record sets, if an endpoint is unhealthy, Amazon
+ // Route 53 looks for a resource record set for the larger, associated geographic
+ // region. For example, suppose you have resource record sets for a state in
+ // the United States, for the United States, for North America, and for all
+ // locations. If the endpoint for the state resource record set is unhealthy,
+ // Amazon Route 53 checks the resource record sets for the United States, for
+ // North America, and for all locations (a resource record set for which the
+ // value of CountryCode is *), in that order, until it finds a resource record
+ // set for which the endpoint is healthy.
+ //
+ // If your health checks specify the endpoint only by domain name, we recommend
+ // that you create a separate health check for each endpoint. For example, create
+ // a health check for each HTTP server that is serving content for www.example.com.
+ // For the value of FullyQualifiedDomainName, specify the domain name of the
+ // server (such as us-east-2-www.example.com), not the name of the resource
+ // record sets (example.com).
+ //
+ // n this configuration, if you create a health check for which the value of
+ // FullyQualifiedDomainName matches the name of the resource record sets and
+ // then associate the health check with those resource record sets, health check
+ // results will be unpredictable.
+ //
+ // For more information, see the following topics in the Amazon Route 53 Developer
+ // Guide:
+ //
+ // * Amazon Route 53 Health Checks and DNS Failover (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)
+ //
+ // * Configuring Failover in a Private Hosted Zone (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)
HealthCheckId *string `type:"string"`
+ // Multivalue answer resource record sets only: To route traffic approximately
+ // randomly to multiple resources, such as web servers, create one multivalue
+ // answer record for each resource and specify true for MultiValueAnswer. Note
+ // the following:
+ //
+ // * If you associate a health check with a multivalue answer resource record
+ // set, Amazon Route 53 responds to DNS queries with the corresponding IP
+ // address only when the health check is healthy.
+ //
+ // * If you don't associate a health check with a multivalue answer record,
+ // Amazon Route 53 always considers the record to be healthy.
+ //
+ // * Amazon Route 53 responds to DNS queries with up to eight healthy records;
+ // if you have eight or fewer healthy records, Amazon Route 53 responds to
+ // all DNS queries with all the healthy records.
+ //
+ // * If you have more than eight healthy records, Amazon Route 53 responds
+ // to different DNS resolvers with different combinations of healthy records.
+ //
+ // * When all records are unhealthy, Amazon Route 53 responds to DNS queries
+ // with up to eight unhealthy records.
+ //
+ // * If a resource becomes unavailable after a resolver caches a response,
+ // client software typically tries another of the IP addresses in the response.
+ //
+ // You can't create multivalue answer alias records.
+ MultiValueAnswer *bool `type:"boolean"`
+
// The name of the domain you want to perform the action on.
//
// Enter a fully qualified domain name, for example, www.example.com. You can
@@ -6909,82 +12186,118 @@ type ResourceRecordSet struct {
// Name Format (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html)
// in the Amazon Route 53 Developer Guide.
//
- // You can use an asterisk (*) character in the name. DNS treats the * character
- // either as a wildcard or as the * character (ASCII 42), depending on where
- // it appears in the name. For more information, see Using an Asterisk (*) in
- // the Names of Hosted Zones and Resource Record Sets (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html#domain-name-format-asterisk)
- // in the Amazon Route 53 Developer Guide
+ // You can use the asterisk (*) wildcard to replace the leftmost label in a
+ // domain name, for example, *.example.com. Note the following:
//
- // You can't use the * wildcard for resource records sets that have a type
- // of NS.
+ // * The * must replace the entire label. For example, you can't specify
+ // *prod.example.com or prod*.example.com.
+ //
+ // * The * can't replace any of the middle labels, for example, marketing.*.example.com.
+ //
+ // * If you include * in any position other than the leftmost label in a
+ // domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.
+ //
+ // You can't use the * wildcard for resource records sets that have a type of
+ // NS.
+ //
+ // You can use the * wildcard as the leftmost label in a domain name, for example,
+ // *.example.com. You can't use an * for one of the middle labels, for example,
+ // marketing.*.example.com. In addition, the * must replace the entire label;
+ // for example, you can't specify prod*.example.com.
+ //
+ // Name is a required field
Name *string `type:"string" required:"true"`
- // Latency-based resource record sets only: The Amazon EC2 region where the
- // resource that is specified in this resource record set resides. The resource
- // typically is an AWS resource, such as an Amazon EC2 instance or an ELB load
- // balancer, and is referred to by an IP address or a DNS domain name, depending
- // on the record type.
+ // Latency-based resource record sets only: The Amazon EC2 Region where you
+ // created the resource that this resource record set refers to. The resource
+ // typically is an AWS resource, such as an EC2 instance or an ELB load balancer,
+ // and is referred to by an IP address or a DNS domain name, depending on the
+ // record type.
//
- // You can create latency and latency alias resource record sets only in public
- // hosted zones. When Amazon Route 53 receives a DNS query for a domain name
- // and type for which you have created latency resource record sets, Amazon
- // Route 53 selects the latency resource record set that has the lowest latency
- // between the end user and the associated Amazon EC2 region. Amazon Route 53
- // then returns the value that is associated with the selected resource record
- // set.
+ // Creating latency and latency alias resource record sets in private hosted
+ // zones is not supported.
+ //
+ // When Amazon Route 53 receives a DNS query for a domain name and type for
+ // which you have created latency resource record sets, Amazon Route 53 selects
+ // the latency resource record set that has the lowest latency between the end
+ // user and the associated Amazon EC2 Region. Amazon Route 53 then returns the
+ // value that is associated with the selected resource record set.
//
// Note the following:
//
- // You can only specify one ResourceRecord per latency resource record set.
- // You can only create one latency resource record set for each Amazon EC2 region.
- // You are not required to create latency resource record sets for all Amazon
- // EC2 regions. Amazon Route 53 will choose the region with the best latency
- // from among the regions for which you create latency resource record sets.
- // You cannot create non-latency resource record sets that have the same values
- // for the Name and Type elements as latency resource record sets.
+ // * You can only specify one ResourceRecord per latency resource record
+ // set.
+ //
+ // * You can only create one latency resource record set for each Amazon
+ // EC2 Region.
+ //
+ // * You aren't required to create latency resource record sets for all Amazon
+ // EC2 Regions. Amazon Route 53 will choose the region with the best latency
+ // from among the regions that you create latency resource record sets for.
+ //
+ // * You can't create non-latency resource record sets that have the same
+ // values for the Name and Type elements as latency resource record sets.
Region *string `min:"1" type:"string" enum:"ResourceRecordSetRegion"`
- // A complex type that contains the resource records for the current resource
- // record set.
+ // Information about the resource records to act upon.
+ //
+ // If you're creating an alias resource record set, omit ResourceRecords.
ResourceRecords []*ResourceRecord `locationNameList:"ResourceRecord" min:"1" type:"list"`
// Weighted, Latency, Geo, and Failover resource record sets only: An identifier
// that differentiates among multiple resource record sets that have the same
// combination of DNS name and type. The value of SetIdentifier must be unique
// for each resource record set that has the same combination of DNS name and
- // type.
+ // type. Omit SetIdentifier for any other types of record sets.
SetIdentifier *string `min:"1" type:"string"`
- // The cache time to live for the current resource record set. Note the following:
+ // The resource record cache time to live (TTL), in seconds. Note the following:
//
- // If you're creating a non-alias resource record set, TTL is required. If
- // you're creating an alias resource record set, omit TTL. Amazon Route 53 uses
- // the value of TTL for the alias target. If you're associating this resource
- // record set with a health check (if you're adding a HealthCheckId element),
- // we recommend that you specify a TTL of 60 seconds or less so clients respond
- // quickly to changes in health status. All of the resource record sets in a
- // group of weighted, latency, geolocation, or failover resource record sets
- // must have the same value for TTL. If a group of weighted resource record
- // sets includes one or more weighted alias resource record sets for which the
- // alias target is an ELB load balancer, we recommend that you specify a TTL
- // of 60 seconds for all of the non-alias weighted resource record sets that
- // have the same name and type. Values other than 60 seconds (the TTL for load
- // balancers) will change the effect of the values that you specify for Weight.
+ // * If you're creating or updating an alias resource record set, omit TTL.
+ // Amazon Route 53 uses the value of TTL for the alias target.
+ //
+ // * If you're associating this resource record set with a health check (if
+ // you're adding a HealthCheckId element), we recommend that you specify
+ // a TTL of 60 seconds or less so clients respond quickly to changes in health
+ // status.
+ //
+ // * All of the resource record sets in a group of weighted resource record
+ // sets must have the same value for TTL.
+ //
+ // * If a group of weighted resource record sets includes one or more weighted
+ // alias resource record sets for which the alias target is an ELB load balancer,
+ // we recommend that you specify a TTL of 60 seconds for all of the non-alias
+ // weighted resource record sets that have the same name and type. Values
+ // other than 60 seconds (the TTL for load balancers) will change the effect
+ // of the values that you specify for Weight.
TTL *int64 `type:"long"`
- TrafficPolicyInstanceId *string `type:"string"`
+ // When you create a traffic policy instance, Amazon Route 53 automatically
+ // creates a resource record set. TrafficPolicyInstanceId is the ID of the traffic
+ // policy instance that Amazon Route 53 created this resource record set for.
+ //
+ // To delete the resource record set that is associated with a traffic policy
+ // instance, use DeleteTrafficPolicyInstance. Amazon Route 53 will delete the
+ // resource record set automatically. If you delete the resource record set
+ // by using ChangeResourceRecordSets, Amazon Route 53 doesn't automatically
+ // delete the traffic policy instance, and you'll continue to be charged for
+ // it even though it's no longer in use.
+ TrafficPolicyInstanceId *string `min:"1" type:"string"`
// The DNS record type. For information about different record types and how
// data is encoded for them, see Supported DNS Resource Record Types (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html)
// in the Amazon Route 53 Developer Guide.
//
- // Valid values for basic resource record sets: A | AAAA | CNAME | MX | NS
- // | PTR | SOA | SPF | SRV | TXT
+ // Valid values for basic resource record sets: A | AAAA | CAA | CNAME | MX
+ // | NAPTR | NS | PTR | SOA | SPF | SRV | TXT
//
- // Values for weighted, latency, geolocation, and failover resource record
- // sets: A | AAAA | CNAME | MX | PTR | SPF | SRV | TXT. When creating a group
- // of weighted, latency, geolocation, or failover resource record sets, specify
- // the same value for all of the resource record sets in the group.
+ // Values for weighted, latency, geolocation, and failover resource record sets:
+ // A | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT. When creating
+ // a group of weighted, latency, geolocation, or failover resource record sets,
+ // specify the same value for all of the resource record sets in the group.
+ //
+ // Valid values for multivalue answer resource record sets: A | AAAA | MX |
+ // NAPTR | PTR | SPF | SRV | TXT
//
// SPF records were formerly used to verify the identity of the sender of email
// messages. However, we no longer recommend that you create resource record
@@ -6994,12 +12307,27 @@ type ResourceRecordSet struct {
// some interoperability issues. Accordingly, its use is no longer appropriate
// for SPF version 1; implementations are not to use it." In RFC 7208, see section
// 14.1, The SPF DNS Record Type (http://tools.ietf.org/html/rfc7208#section-14.1).
+ //
// Values for alias resource record sets:
//
- // CloudFront distributions: A ELB load balancers: A | AAAA Amazon S3 buckets:
- // A Another resource record set in this hosted zone: Specify the type of the
- // resource record set for which you're creating the alias. Specify any value
- // except NS or SOA.
+ // * CloudFront distributions:A
+ //
+ // If IPv6 is enabled for the distribution, create two resource record sets
+ // to route traffic to your distribution, one with a value of A and one with
+ // a value of AAAA.
+ //
+ // * AWS Elastic Beanstalk environment that has a regionalized subdomain:
+ // A
+ //
+ // * ELB load balancers:A | AAAA
+ //
+ // * Amazon S3 buckets:A
+ //
+ // * Another resource record set in this hosted zone: Specify the type of
+ // the resource record set that you're creating the alias for. All values
+ // are supported except NS and SOA.
+ //
+ // Type is a required field
Type *string `type:"string" required:"true" enum:"RRType"`
// Weighted resource record sets only: Among resource record sets that have
@@ -7010,23 +12338,31 @@ type ResourceRecordSet struct {
// 53 then responds to queries based on the ratio of a resource's weight to
// the total. Note the following:
//
- // You must specify a value for the Weight element for every weighted resource
- // record set. You can only specify one ResourceRecord per weighted resource
- // record set. You cannot create latency, failover, or geolocation resource
- // record sets that have the same values for the Name and Type elements as weighted
- // resource record sets. You can create a maximum of 100 weighted resource record
- // sets that have the same values for the Name and Type elements. For weighted
- // (but not weighted alias) resource record sets, if you set Weight to 0 for
- // a resource record set, Amazon Route 53 never responds to queries with the
- // applicable value for that resource record set. However, if you set Weight
- // to 0 for all resource record sets that have the same combination of DNS name
- // and type, traffic is routed to all resources with equal probability.
+ // * You must specify a value for the Weight element for every weighted resource
+ // record set.
+ //
+ // * You can only specify one ResourceRecord per weighted resource record
+ // set.
+ //
+ // * You can't create latency, failover, or geolocation resource record sets
+ // that have the same values for the Name and Type elements as weighted resource
+ // record sets.
+ //
+ // * You can create a maximum of 100 weighted resource record sets that have
+ // the same values for the Name and Type elements.
+ //
+ // * For weighted (but not weighted alias) resource record sets, if you set
+ // Weight to 0 for a resource record set, Amazon Route 53 never responds
+ // to queries with the applicable value for that resource record set. However,
+ // if you set Weight to 0 for all resource record sets that have the same
+ // combination of DNS name and type, traffic is routed to all resources with
+ // equal probability.
//
// The effect of setting Weight to 0 is different when you associate health
- // checks with weighted resource record sets. For more information, see Options
- // for Configuring Amazon Route 53 Active-Active and Active-Passive Failover
- // (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html)
- // in the Amazon Route 53 Developer Guide.
+ // checks with weighted resource record sets. For more information, see Options
+ // for Configuring Amazon Route 53 Active-Active and Active-Passive Failover
+ // (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html)
+ // in the Amazon Route 53 Developer Guide.
Weight *int64 `type:"long"`
}
@@ -7055,6 +12391,9 @@ func (s *ResourceRecordSet) Validate() error {
if s.SetIdentifier != nil && len(*s.SetIdentifier) < 1 {
invalidParams.Add(request.NewErrParamMinLen("SetIdentifier", 1))
}
+ if s.TrafficPolicyInstanceId != nil && len(*s.TrafficPolicyInstanceId) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("TrafficPolicyInstanceId", 1))
+ }
if s.Type == nil {
invalidParams.Add(request.NewErrParamRequired("Type"))
}
@@ -7085,7 +12424,86 @@ func (s *ResourceRecordSet) Validate() error {
return nil
}
+// SetAliasTarget sets the AliasTarget field's value.
+func (s *ResourceRecordSet) SetAliasTarget(v *AliasTarget) *ResourceRecordSet {
+ s.AliasTarget = v
+ return s
+}
+
+// SetFailover sets the Failover field's value.
+func (s *ResourceRecordSet) SetFailover(v string) *ResourceRecordSet {
+ s.Failover = &v
+ return s
+}
+
+// SetGeoLocation sets the GeoLocation field's value.
+func (s *ResourceRecordSet) SetGeoLocation(v *GeoLocation) *ResourceRecordSet {
+ s.GeoLocation = v
+ return s
+}
+
+// SetHealthCheckId sets the HealthCheckId field's value.
+func (s *ResourceRecordSet) SetHealthCheckId(v string) *ResourceRecordSet {
+ s.HealthCheckId = &v
+ return s
+}
+
+// SetMultiValueAnswer sets the MultiValueAnswer field's value.
+func (s *ResourceRecordSet) SetMultiValueAnswer(v bool) *ResourceRecordSet {
+ s.MultiValueAnswer = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *ResourceRecordSet) SetName(v string) *ResourceRecordSet {
+ s.Name = &v
+ return s
+}
+
+// SetRegion sets the Region field's value.
+func (s *ResourceRecordSet) SetRegion(v string) *ResourceRecordSet {
+ s.Region = &v
+ return s
+}
+
+// SetResourceRecords sets the ResourceRecords field's value.
+func (s *ResourceRecordSet) SetResourceRecords(v []*ResourceRecord) *ResourceRecordSet {
+ s.ResourceRecords = v
+ return s
+}
+
+// SetSetIdentifier sets the SetIdentifier field's value.
+func (s *ResourceRecordSet) SetSetIdentifier(v string) *ResourceRecordSet {
+ s.SetIdentifier = &v
+ return s
+}
+
+// SetTTL sets the TTL field's value.
+func (s *ResourceRecordSet) SetTTL(v int64) *ResourceRecordSet {
+ s.TTL = &v
+ return s
+}
+
+// SetTrafficPolicyInstanceId sets the TrafficPolicyInstanceId field's value.
+func (s *ResourceRecordSet) SetTrafficPolicyInstanceId(v string) *ResourceRecordSet {
+ s.TrafficPolicyInstanceId = &v
+ return s
+}
+
+// SetType sets the Type field's value.
+func (s *ResourceRecordSet) SetType(v string) *ResourceRecordSet {
+ s.Type = &v
+ return s
+}
+
+// SetWeight sets the Weight field's value.
+func (s *ResourceRecordSet) SetWeight(v int64) *ResourceRecordSet {
+ s.Weight = &v
+ return s
+}
+
// A complex type containing a resource and its associated tags.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ResourceTagSet
type ResourceTagSet struct {
_ struct{} `type:"structure"`
@@ -7094,9 +12512,9 @@ type ResourceTagSet struct {
// The type of the resource.
//
- // - The resource type for health checks is healthcheck.
+ // * The resource type for health checks is healthcheck.
//
- // - The resource type for hosted zones is hostedzone.
+ // * The resource type for hosted zones is hostedzone.
ResourceType *string `type:"string" enum:"TagResourceType"`
// The tags associated with the specified resource.
@@ -7113,18 +12531,38 @@ func (s ResourceTagSet) GoString() string {
return s.String()
}
-// A complex type that contains information about the health check status for
-// the current observation.
+// SetResourceId sets the ResourceId field's value.
+func (s *ResourceTagSet) SetResourceId(v string) *ResourceTagSet {
+ s.ResourceId = &v
+ return s
+}
+
+// SetResourceType sets the ResourceType field's value.
+func (s *ResourceTagSet) SetResourceType(v string) *ResourceTagSet {
+ s.ResourceType = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *ResourceTagSet) SetTags(v []*Tag) *ResourceTagSet {
+ s.Tags = v
+ return s
+}
+
+// A complex type that contains the status that one Amazon Route 53 health checker
+// reports and the time of the health check.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/StatusReport
type StatusReport struct {
_ struct{} `type:"structure"`
- // The date and time the health check status was observed, in the format YYYY-MM-DDThh:mm:ssZ,
- // as specified in the ISO 8601 standard (for example, 2009-11-19T19:37:58Z).
- // The Z after the time indicates that the time is listed in Coordinated Universal
- // Time (UTC).
+ // The date and time that the health checker performed the health check in ISO
+ // 8601 format (https://en.wikipedia.org/wiki/ISO_8601) and Coordinated Universal
+ // Time (UTC). For example, the value 2017-03-27T17:48:16.751Z represents March
+ // 27, 2017 at 17:48:16.751 UTC.
CheckedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
- // The observed health check status.
+ // A description of the status of the health check endpoint as reported by one
+ // of the Amazon Route 53 health checkers.
Status *string `type:"string"`
}
@@ -7138,14 +12576,45 @@ func (s StatusReport) GoString() string {
return s.String()
}
-// A single tag containing a key and value.
+// SetCheckedTime sets the CheckedTime field's value.
+func (s *StatusReport) SetCheckedTime(v time.Time) *StatusReport {
+ s.CheckedTime = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *StatusReport) SetStatus(v string) *StatusReport {
+ s.Status = &v
+ return s
+}
+
+// A complex type that contains information about a tag that you want to add
+// or edit for the specified health check or hosted zone.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/Tag
type Tag struct {
_ struct{} `type:"structure"`
- // The key for a Tag.
+ // The value of Key depends on the operation that you want to perform:
+ //
+ // * Add a tag to a health check or hosted zone: Key is the name that you
+ // want to give the new tag.
+ //
+ // * Edit a tag: Key is the name of the tag that you want to change the Value
+ // for.
+ //
+ // * Delete a key: Key is the name of the tag you want to remove.
+ //
+ // * Give a name to a health check: Edit the default Name tag. In the Amazon
+ // Route 53 console, the list of your health checks includes a Name column
+ // that lets you see the name that you've given to each health check.
Key *string `type:"string"`
- // The value for a Tag.
+ // The value of Value depends on the operation that you want to perform:
+ //
+ // * Add a tag to a health check or hosted zone: Value is the value that
+ // you want to give the new tag.
+ //
+ // * Edit a tag: Value is the new value that you want to assign the tag.
Value *string `type:"string"`
}
@@ -7159,19 +12628,251 @@ func (s Tag) GoString() string {
return s.String()
}
+// SetKey sets the Key field's value.
+func (s *Tag) SetKey(v string) *Tag {
+ s.Key = &v
+ return s
+}
+
+// SetValue sets the Value field's value.
+func (s *Tag) SetValue(v string) *Tag {
+ s.Value = &v
+ return s
+}
+
+// Gets the value that Amazon Route 53 returns in response to a DNS request
+// for a specified record name and type. You can optionally specify the IP address
+// of a DNS resolver, an EDNS0 client subnet IP address, and a subnet mask.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/TestDNSAnswerRequest
+type TestDNSAnswerInput struct {
+ _ struct{} `type:"structure"`
+
+ // If the resolver that you specified for resolverip supports EDNS0, specify
+ // the IPv4 or IPv6 address of a client in the applicable location, for example,
+ // 192.0.2.44 or 2001:db8:85a3::8a2e:370:7334.
+ EDNS0ClientSubnetIP *string `location:"querystring" locationName:"edns0clientsubnetip" type:"string"`
+
+ // If you specify an IP address for edns0clientsubnetip, you can optionally
+ // specify the number of bits of the IP address that you want the checking tool
+ // to include in the DNS query. For example, if you specify 192.0.2.44 for edns0clientsubnetip
+ // and 24 for edns0clientsubnetmask, the checking tool will simulate a request
+ // from 192.0.2.0/24. The default value is 24 bits for IPv4 addresses and 64
+ // bits for IPv6 addresses.
+ EDNS0ClientSubnetMask *string `location:"querystring" locationName:"edns0clientsubnetmask" type:"string"`
+
+ // The ID of the hosted zone that you want Amazon Route 53 to simulate a query
+ // for.
+ //
+ // HostedZoneId is a required field
+ HostedZoneId *string `location:"querystring" locationName:"hostedzoneid" type:"string" required:"true"`
+
+ // The name of the resource record set that you want Amazon Route 53 to simulate
+ // a query for.
+ //
+ // RecordName is a required field
+ RecordName *string `location:"querystring" locationName:"recordname" type:"string" required:"true"`
+
+ // The type of the resource record set.
+ //
+ // RecordType is a required field
+ RecordType *string `location:"querystring" locationName:"recordtype" type:"string" required:"true" enum:"RRType"`
+
+ // If you want to simulate a request from a specific DNS resolver, specify the
+ // IP address for that resolver. If you omit this value, TestDnsAnswer uses
+ // the IP address of a DNS resolver in the AWS US East (N. Virginia) Region
+ // (us-east-1).
+ ResolverIP *string `location:"querystring" locationName:"resolverip" type:"string"`
+}
+
+// String returns the string representation
+func (s TestDNSAnswerInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TestDNSAnswerInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *TestDNSAnswerInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "TestDNSAnswerInput"}
+ if s.HostedZoneId == nil {
+ invalidParams.Add(request.NewErrParamRequired("HostedZoneId"))
+ }
+ if s.RecordName == nil {
+ invalidParams.Add(request.NewErrParamRequired("RecordName"))
+ }
+ if s.RecordType == nil {
+ invalidParams.Add(request.NewErrParamRequired("RecordType"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetEDNS0ClientSubnetIP sets the EDNS0ClientSubnetIP field's value.
+func (s *TestDNSAnswerInput) SetEDNS0ClientSubnetIP(v string) *TestDNSAnswerInput {
+ s.EDNS0ClientSubnetIP = &v
+ return s
+}
+
+// SetEDNS0ClientSubnetMask sets the EDNS0ClientSubnetMask field's value.
+func (s *TestDNSAnswerInput) SetEDNS0ClientSubnetMask(v string) *TestDNSAnswerInput {
+ s.EDNS0ClientSubnetMask = &v
+ return s
+}
+
+// SetHostedZoneId sets the HostedZoneId field's value.
+func (s *TestDNSAnswerInput) SetHostedZoneId(v string) *TestDNSAnswerInput {
+ s.HostedZoneId = &v
+ return s
+}
+
+// SetRecordName sets the RecordName field's value.
+func (s *TestDNSAnswerInput) SetRecordName(v string) *TestDNSAnswerInput {
+ s.RecordName = &v
+ return s
+}
+
+// SetRecordType sets the RecordType field's value.
+func (s *TestDNSAnswerInput) SetRecordType(v string) *TestDNSAnswerInput {
+ s.RecordType = &v
+ return s
+}
+
+// SetResolverIP sets the ResolverIP field's value.
+func (s *TestDNSAnswerInput) SetResolverIP(v string) *TestDNSAnswerInput {
+ s.ResolverIP = &v
+ return s
+}
+
+// A complex type that contains the response to a TestDNSAnswer request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/TestDNSAnswerResponse
+type TestDNSAnswerOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The Amazon Route 53 name server used to respond to the request.
+ //
+ // Nameserver is a required field
+ Nameserver *string `type:"string" required:"true"`
+
+ // The protocol that Amazon Route 53 used to respond to the request, either
+ // UDP or TCP.
+ //
+ // Protocol is a required field
+ Protocol *string `type:"string" required:"true"`
+
+ // A list that contains values that Amazon Route 53 returned for this resource
+ // record set.
+ //
+ // RecordData is a required field
+ RecordData []*string `locationNameList:"RecordDataEntry" type:"list" required:"true"`
+
+ // The name of the resource record set that you submitted a request for.
+ //
+ // RecordName is a required field
+ RecordName *string `type:"string" required:"true"`
+
+ // The type of the resource record set that you submitted a request for.
+ //
+ // RecordType is a required field
+ RecordType *string `type:"string" required:"true" enum:"RRType"`
+
+ // A code that indicates whether the request is valid or not. The most common
+ // response code is NOERROR, meaning that the request is valid. If the response
+ // is not valid, Amazon Route 53 returns a response code that describes the
+ // error. For a list of possible response codes, see DNS RCODES (http://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-6)
+ // on the IANA website.
+ //
+ // ResponseCode is a required field
+ ResponseCode *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s TestDNSAnswerOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TestDNSAnswerOutput) GoString() string {
+ return s.String()
+}
+
+// SetNameserver sets the Nameserver field's value.
+func (s *TestDNSAnswerOutput) SetNameserver(v string) *TestDNSAnswerOutput {
+ s.Nameserver = &v
+ return s
+}
+
+// SetProtocol sets the Protocol field's value.
+func (s *TestDNSAnswerOutput) SetProtocol(v string) *TestDNSAnswerOutput {
+ s.Protocol = &v
+ return s
+}
+
+// SetRecordData sets the RecordData field's value.
+func (s *TestDNSAnswerOutput) SetRecordData(v []*string) *TestDNSAnswerOutput {
+ s.RecordData = v
+ return s
+}
+
+// SetRecordName sets the RecordName field's value.
+func (s *TestDNSAnswerOutput) SetRecordName(v string) *TestDNSAnswerOutput {
+ s.RecordName = &v
+ return s
+}
+
+// SetRecordType sets the RecordType field's value.
+func (s *TestDNSAnswerOutput) SetRecordType(v string) *TestDNSAnswerOutput {
+ s.RecordType = &v
+ return s
+}
+
+// SetResponseCode sets the ResponseCode field's value.
+func (s *TestDNSAnswerOutput) SetResponseCode(v string) *TestDNSAnswerOutput {
+ s.ResponseCode = &v
+ return s
+}
+
+// A complex type that contains settings for a traffic policy.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/TrafficPolicy
type TrafficPolicy struct {
_ struct{} `type:"structure"`
+ // The comment that you specify in the CreateTrafficPolicy request, if any.
Comment *string `type:"string"`
+ // The definition of a traffic policy in JSON format. You specify the JSON document
+ // to use for a new traffic policy in the CreateTrafficPolicy request. For more
+ // information about the JSON format, see Traffic Policy Document Format (http://docs.aws.amazon.com/Route53/latest/APIReference/api-policies-traffic-policy-document-format.html).
+ //
+ // Document is a required field
Document *string `type:"string" required:"true"`
- Id *string `type:"string" required:"true"`
+ // The ID that Amazon Route 53 assigned to a traffic policy when you created
+ // it.
+ //
+ // Id is a required field
+ Id *string `min:"1" type:"string" required:"true"`
+ // The name that you specified when you created the traffic policy.
+ //
+ // Name is a required field
Name *string `type:"string" required:"true"`
+ // The DNS type of the resource record sets that Amazon Route 53 creates when
+ // you use a traffic policy to create a traffic policy instance.
+ //
+ // Type is a required field
Type *string `type:"string" required:"true" enum:"RRType"`
+ // The version number that Amazon Route 53 assigns to a traffic policy. For
+ // a new traffic policy, the value of Version is always 1.
+ //
+ // Version is a required field
Version *int64 `min:"1" type:"integer" required:"true"`
}
@@ -7185,25 +12886,108 @@ func (s TrafficPolicy) GoString() string {
return s.String()
}
+// SetComment sets the Comment field's value.
+func (s *TrafficPolicy) SetComment(v string) *TrafficPolicy {
+ s.Comment = &v
+ return s
+}
+
+// SetDocument sets the Document field's value.
+func (s *TrafficPolicy) SetDocument(v string) *TrafficPolicy {
+ s.Document = &v
+ return s
+}
+
+// SetId sets the Id field's value.
+func (s *TrafficPolicy) SetId(v string) *TrafficPolicy {
+ s.Id = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *TrafficPolicy) SetName(v string) *TrafficPolicy {
+ s.Name = &v
+ return s
+}
+
+// SetType sets the Type field's value.
+func (s *TrafficPolicy) SetType(v string) *TrafficPolicy {
+ s.Type = &v
+ return s
+}
+
+// SetVersion sets the Version field's value.
+func (s *TrafficPolicy) SetVersion(v int64) *TrafficPolicy {
+ s.Version = &v
+ return s
+}
+
+// A complex type that contains settings for the new traffic policy instance.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/TrafficPolicyInstance
type TrafficPolicyInstance struct {
_ struct{} `type:"structure"`
+ // The ID of the hosted zone that Amazon Route 53 created resource record sets
+ // in.
+ //
+ // HostedZoneId is a required field
HostedZoneId *string `type:"string" required:"true"`
- Id *string `type:"string" required:"true"`
+ // The ID that Amazon Route 53 assigned to the new traffic policy instance.
+ //
+ // Id is a required field
+ Id *string `min:"1" type:"string" required:"true"`
+ // If State is Failed, an explanation of the reason for the failure. If State
+ // is another value, Message is empty.
+ //
+ // Message is a required field
Message *string `type:"string" required:"true"`
+ // The DNS name, such as www.example.com, for which Amazon Route 53 responds
+ // to queries by using the resource record sets that are associated with this
+ // traffic policy instance.
+ //
+ // Name is a required field
Name *string `type:"string" required:"true"`
+ // The value of State is one of the following values:
+ //
+ // AppliedAmazon Route 53 has finished creating resource record sets, and changes
+ // have propagated to all Amazon Route 53 edge locations.
+ //
+ // CreatingAmazon Route 53 is creating the resource record sets. Use GetTrafficPolicyInstance
+ // to confirm that the CreateTrafficPolicyInstance request completed successfully.
+ //
+ // FailedAmazon Route 53 wasn't able to create or update the resource record
+ // sets. When the value of State is Failed, see Message for an explanation of
+ // what caused the request to fail.
+ //
+ // State is a required field
State *string `type:"string" required:"true"`
+ // The TTL that Amazon Route 53 assigned to all of the resource record sets
+ // that it created in the specified hosted zone.
+ //
+ // TTL is a required field
TTL *int64 `type:"long" required:"true"`
- TrafficPolicyId *string `type:"string" required:"true"`
+ // The ID of the traffic policy that Amazon Route 53 used to create resource
+ // record sets in the specified hosted zone.
+ //
+ // TrafficPolicyId is a required field
+ TrafficPolicyId *string `min:"1" type:"string" required:"true"`
+ // The DNS type that Amazon Route 53 assigned to all of the resource record
+ // sets that it created for this traffic policy instance.
+ //
+ // TrafficPolicyType is a required field
TrafficPolicyType *string `type:"string" required:"true" enum:"RRType"`
+ // The version of the traffic policy that Amazon Route 53 used to create resource
+ // record sets in the specified hosted zone.
+ //
+ // TrafficPolicyVersion is a required field
TrafficPolicyVersion *int64 `min:"1" type:"integer" required:"true"`
}
@@ -7217,17 +13001,91 @@ func (s TrafficPolicyInstance) GoString() string {
return s.String()
}
+// SetHostedZoneId sets the HostedZoneId field's value.
+func (s *TrafficPolicyInstance) SetHostedZoneId(v string) *TrafficPolicyInstance {
+ s.HostedZoneId = &v
+ return s
+}
+
+// SetId sets the Id field's value.
+func (s *TrafficPolicyInstance) SetId(v string) *TrafficPolicyInstance {
+ s.Id = &v
+ return s
+}
+
+// SetMessage sets the Message field's value.
+func (s *TrafficPolicyInstance) SetMessage(v string) *TrafficPolicyInstance {
+ s.Message = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *TrafficPolicyInstance) SetName(v string) *TrafficPolicyInstance {
+ s.Name = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *TrafficPolicyInstance) SetState(v string) *TrafficPolicyInstance {
+ s.State = &v
+ return s
+}
+
+// SetTTL sets the TTL field's value.
+func (s *TrafficPolicyInstance) SetTTL(v int64) *TrafficPolicyInstance {
+ s.TTL = &v
+ return s
+}
+
+// SetTrafficPolicyId sets the TrafficPolicyId field's value.
+func (s *TrafficPolicyInstance) SetTrafficPolicyId(v string) *TrafficPolicyInstance {
+ s.TrafficPolicyId = &v
+ return s
+}
+
+// SetTrafficPolicyType sets the TrafficPolicyType field's value.
+func (s *TrafficPolicyInstance) SetTrafficPolicyType(v string) *TrafficPolicyInstance {
+ s.TrafficPolicyType = &v
+ return s
+}
+
+// SetTrafficPolicyVersion sets the TrafficPolicyVersion field's value.
+func (s *TrafficPolicyInstance) SetTrafficPolicyVersion(v int64) *TrafficPolicyInstance {
+ s.TrafficPolicyVersion = &v
+ return s
+}
+
+// A complex type that contains information about the latest version of one
+// traffic policy that is associated with the current AWS account.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/TrafficPolicySummary
type TrafficPolicySummary struct {
_ struct{} `type:"structure"`
- Id *string `type:"string" required:"true"`
+ // The ID that Amazon Route 53 assigned to the traffic policy when you created
+ // it.
+ //
+ // Id is a required field
+ Id *string `min:"1" type:"string" required:"true"`
+ // The version number of the latest version of the traffic policy.
+ //
+ // LatestVersion is a required field
LatestVersion *int64 `min:"1" type:"integer" required:"true"`
+ // The name that you specified for the traffic policy when you created it.
+ //
+ // Name is a required field
Name *string `type:"string" required:"true"`
+ // The number of traffic policies that are associated with the current AWS account.
+ //
+ // TrafficPolicyCount is a required field
TrafficPolicyCount *int64 `min:"1" type:"integer" required:"true"`
+ // The DNS type of the resource record sets that Amazon Route 53 creates when
+ // you use a traffic policy to create a traffic policy instance.
+ //
+ // Type is a required field
Type *string `type:"string" required:"true" enum:"RRType"`
}
@@ -7241,90 +13099,274 @@ func (s TrafficPolicySummary) GoString() string {
return s.String()
}
-// >A complex type that contains information about the request to update a health
+// SetId sets the Id field's value.
+func (s *TrafficPolicySummary) SetId(v string) *TrafficPolicySummary {
+ s.Id = &v
+ return s
+}
+
+// SetLatestVersion sets the LatestVersion field's value.
+func (s *TrafficPolicySummary) SetLatestVersion(v int64) *TrafficPolicySummary {
+ s.LatestVersion = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *TrafficPolicySummary) SetName(v string) *TrafficPolicySummary {
+ s.Name = &v
+ return s
+}
+
+// SetTrafficPolicyCount sets the TrafficPolicyCount field's value.
+func (s *TrafficPolicySummary) SetTrafficPolicyCount(v int64) *TrafficPolicySummary {
+ s.TrafficPolicyCount = &v
+ return s
+}
+
+// SetType sets the Type field's value.
+func (s *TrafficPolicySummary) SetType(v string) *TrafficPolicySummary {
+ s.Type = &v
+ return s
+}
+
+// A complex type that contains information about a request to update a health
// check.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateHealthCheckRequest
type UpdateHealthCheckInput struct {
_ struct{} `locationName:"UpdateHealthCheckRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
- // A complex type that contains information to uniquely identify the CloudWatch
- // alarm that you're associating with a Route 53 health check.
+ // A complex type that identifies the CloudWatch alarm that you want Amazon
+ // Route 53 health checkers to use to determine whether this health check is
+ // healthy.
AlarmIdentifier *AlarmIdentifier `type:"structure"`
- // For a specified parent health check, a list of HealthCheckId values for the
- // associated child health checks.
- //
- // Specify this value only if you want to change it.
+ // A complex type that contains one ChildHealthCheck element for each health
+ // check that you want to associate with a CALCULATED health check.
ChildHealthChecks []*string `locationNameList:"ChildHealthCheck" type:"list"`
// Specify whether you want Amazon Route 53 to send the value of FullyQualifiedDomainName
- // to the endpoint in the client_hello message during TLS negotiation. If you
- // don't specify a value for EnableSNI, Amazon Route 53 defaults to true when
- // Type is HTTPS or HTTPS_STR_MATCH and defaults to false when Type is any other
- // value.
+ // to the endpoint in the client_hello message during TLS negotiation. This
+ // allows the endpoint to respond to HTTPS health check requests with the applicable
+ // SSL/TLS certificate.
//
- // Specify this value only if you want to change it.
+ // Some endpoints require that HTTPS requests include the host name in the client_hello
+ // message. If you don't enable SNI, the status of the health check will be
+ // SSL alert handshake_failure. A health check can also have that status for
+ // other reasons. If SNI is enabled and you're still getting the error, check
+ // the SSL/TLS configuration on your endpoint and confirm that your certificate
+ // is valid.
+ //
+ // The SSL/TLS certificate on your endpoint includes a domain name in the Common
+ // Name field and possibly several more in the Subject Alternative Names field.
+ // One of the domain names in the certificate should match the value that you
+ // specify for FullyQualifiedDomainName. If the endpoint responds to the client_hello
+ // message with a certificate that does not include the domain name that you
+ // specified in FullyQualifiedDomainName, a health checker will retry the handshake.
+ // In the second attempt, the health checker will omit FullyQualifiedDomainName
+ // from the client_hello message.
EnableSNI *bool `type:"boolean"`
// The number of consecutive health checks that an endpoint must pass or fail
// for Amazon Route 53 to change the current status of the endpoint from unhealthy
- // to healthy or vice versa.
+ // to healthy or vice versa. For more information, see How Amazon Route 53 Determines
+ // Whether an Endpoint Is Healthy (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)
+ // in the Amazon Route 53 Developer Guide.
//
- // Valid values are integers between 1 and 10. For more information, see "How
- // Amazon Route 53 Determines Whether an Endpoint Is Healthy" in the Amazon
- // Route 53 Developer Guide.
- //
- // Specify this value only if you want to change it.
+ // If you don't specify a value for FailureThreshold, the default value is three
+ // health checks.
FailureThreshold *int64 `min:"1" type:"integer"`
- // Fully qualified domain name of the instance to be health checked.
+ // Amazon Route 53 behavior depends on whether you specify a value for IPAddress.
//
- // Specify this value only if you want to change it.
- FullyQualifiedDomainName *string `type:"string"`
-
- // The ID of the health check to update.
- HealthCheckId *string `location:"uri" locationName:"HealthCheckId" type:"string" required:"true"`
-
- // Optional. When you specify a health check version, Amazon Route 53 compares
- // this value with the current value in the health check, which prevents you
- // from updating the health check when the versions don't match. Using HealthCheckVersion
- // lets you prevent overwriting another change to the health check.
- HealthCheckVersion *int64 `min:"1" type:"long"`
-
- // The minimum number of child health checks that must be healthy for Amazon
- // Route 53 to consider the parent health check to be healthy. Valid values
- // are integers between 0 and 256, inclusive.
+ // If a health check already has a value for IPAddress, you can change the value.
+ // However, you can't update an existing health check to add or remove the value
+ // of IPAddress.
//
- // Specify this value only if you want to change it.
- HealthThreshold *int64 `type:"integer"`
-
- // The IP address of the resource that you want to check.
+ // If you specify a value forIPAddress:
//
- // Specify this value only if you want to change it.
- IPAddress *string `type:"string"`
-
- InsufficientDataHealthStatus *string `type:"string" enum:"InsufficientDataHealthStatus"`
-
- // A boolean value that indicates whether the status of health check should
- // be inverted. For example, if a health check is healthy but Inverted is True,
- // then Amazon Route 53 considers the health check to be unhealthy.
- //
- // Specify this value only if you want to change it.
- Inverted *bool `type:"boolean"`
-
- // The port on which you want Amazon Route 53 to open a connection to perform
+ // Amazon Route 53 sends health check requests to the specified IPv4 or IPv6
+ // address and passes the value of FullyQualifiedDomainName in the Host header
+ // for all health checks except TCP health checks. This is typically the fully
+ // qualified DNS name of the endpoint on which you want Amazon Route 53 to perform
// health checks.
//
- // Specify this value only if you want to change it.
+ // When Amazon Route 53 checks the health of an endpoint, here is how it constructs
+ // the Host header:
+ //
+ // * If you specify a value of 80 for Port and HTTP or HTTP_STR_MATCH for
+ // Type, Amazon Route 53 passes the value of FullyQualifiedDomainName to
+ // the endpoint in the Host header.
+ //
+ // * If you specify a value of 443 for Port and HTTPS or HTTPS_STR_MATCH
+ // for Type, Amazon Route 53 passes the value of FullyQualifiedDomainName
+ // to the endpoint in the Host header.
+ //
+ // * If you specify another value for Port and any value except TCP for Type,
+ // Amazon Route 53 passes FullyQualifiedDomainName:Port to the endpoint in
+ // the Host header.
+ //
+ // If you don't specify a value for FullyQualifiedDomainName, Amazon Route 53
+ // substitutes the value of IPAddress in the Host header in each of the above
+ // cases.
+ //
+ // If you don't specify a value forIPAddress:
+ //
+ // If you don't specify a value for IPAddress, Amazon Route 53 sends a DNS request
+ // to the domain that you specify in FullyQualifiedDomainName at the interval
+ // you specify in RequestInterval. Using an IPv4 address that is returned by
+ // DNS, Amazon Route 53 then checks the health of the endpoint.
+ //
+ // If you don't specify a value for IPAddress, Amazon Route 53 uses only IPv4
+ // to send health checks to the endpoint. If there's no resource record set
+ // with a type of A for the name that you specify for FullyQualifiedDomainName,
+ // the health check fails with a "DNS resolution failed" error.
+ //
+ // If you want to check the health of weighted, latency, or failover resource
+ // record sets and you choose to specify the endpoint only by FullyQualifiedDomainName,
+ // we recommend that you create a separate health check for each endpoint. For
+ // example, create a health check for each HTTP server that is serving content
+ // for www.example.com. For the value of FullyQualifiedDomainName, specify the
+ // domain name of the server (such as us-east-2-www.example.com), not the name
+ // of the resource record sets (www.example.com).
+ //
+ // In this configuration, if the value of FullyQualifiedDomainName matches the
+ // name of the resource record sets and you then associate the health check
+ // with those resource record sets, health check results will be unpredictable.
+ //
+ // In addition, if the value of Type is HTTP, HTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH,
+ // Amazon Route 53 passes the value of FullyQualifiedDomainName in the Host
+ // header, as it does when you specify a value for IPAddress. If the value of
+ // Type is TCP, Amazon Route 53 doesn't pass a Host header.
+ FullyQualifiedDomainName *string `type:"string"`
+
+ // The ID for the health check for which you want detailed information. When
+ // you created the health check, CreateHealthCheck returned the ID in the response,
+ // in the HealthCheckId element.
+ //
+ // HealthCheckId is a required field
+ HealthCheckId *string `location:"uri" locationName:"HealthCheckId" type:"string" required:"true"`
+
+ // A sequential counter that Amazon Route 53 sets to 1 when you create a health
+ // check and increments by 1 each time you update settings for the health check.
+ //
+ // We recommend that you use GetHealthCheck or ListHealthChecks to get the current
+ // value of HealthCheckVersion for the health check that you want to update,
+ // and that you include that value in your UpdateHealthCheck request. This prevents
+ // Amazon Route 53 from overwriting an intervening update:
+ //
+ // * If the value in the UpdateHealthCheck request matches the value of HealthCheckVersion
+ // in the health check, Amazon Route 53 updates the health check with the
+ // new settings.
+ //
+ // * If the value of HealthCheckVersion in the health check is greater, the
+ // health check was changed after you got the version number. Amazon Route
+ // 53 does not update the health check, and it returns a HealthCheckVersionMismatch
+ // error.
+ HealthCheckVersion *int64 `min:"1" type:"long"`
+
+ // The number of child health checks that are associated with a CALCULATED health
+ // that Amazon Route 53 must consider healthy for the CALCULATED health check
+ // to be considered healthy. To specify the child health checks that you want
+ // to associate with a CALCULATED health check, use the ChildHealthChecks and
+ // ChildHealthCheck elements.
+ //
+ // Note the following:
+ //
+ // * If you specify a number greater than the number of child health checks,
+ // Amazon Route 53 always considers this health check to be unhealthy.
+ //
+ // * If you specify 0, Amazon Route 53 always considers this health check
+ // to be healthy.
+ HealthThreshold *int64 `type:"integer"`
+
+ // The IPv4 or IPv6 IP address for the endpoint that you want Amazon Route 53
+ // to perform health checks on. If you don't specify a value for IPAddress,
+ // Amazon Route 53 sends a DNS request to resolve the domain name that you specify
+ // in FullyQualifiedDomainName at the interval that you specify in RequestInterval.
+ // Using an IP address that is returned by DNS, Amazon Route 53 then checks
+ // the health of the endpoint.
+ //
+ // Use one of the following formats for the value of IPAddress:
+ //
+ // * IPv4 address: four values between 0 and 255, separated by periods (.),
+ // for example, 192.0.2.44.
+ //
+ // * IPv6 address: eight groups of four hexadecimal values, separated by
+ // colons (:), for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345. You
+ // can also shorten IPv6 addresses as described in RFC 5952, for example,
+ // 2001:db8:85a3::abcd:1:2345.
+ //
+ // If the endpoint is an EC2 instance, we recommend that you create an Elastic
+ // IP address, associate it with your EC2 instance, and specify the Elastic
+ // IP address for IPAddress. This ensures that the IP address of your instance
+ // never changes. For more information, see the applicable documentation:
+ //
+ // * Linux: Elastic IP Addresses (EIP) (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
+ // in the Amazon EC2 User Guide for Linux Instances
+ //
+ // * Windows: Elastic IP Addresses (EIP) (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-ip-addresses-eip.html)
+ // in the Amazon EC2 User Guide for Windows Instances
+ //
+ // If a health check already has a value for IPAddress, you can change the value.
+ // However, you can't update an existing health check to add or remove the value
+ // of IPAddress.
+ //
+ // For more information, see UpdateHealthCheckRequest$FullyQualifiedDomainName.
+ //
+ // Constraints: Amazon Route 53 can't check the health of endpoints for which
+ // the IP address is in local, private, non-routable, or multicast ranges. For
+ // more information about IP addresses for which you can't create health checks,
+ // see the following documents:
+ //
+ // * RFC 5735, Special Use IPv4 Addresses (https://tools.ietf.org/html/rfc5735)
+ //
+ // * RFC 6598, IANA-Reserved IPv4 Prefix for Shared Address Space (https://tools.ietf.org/html/rfc6598)
+ //
+ // * RFC 5156, Special-Use IPv6 Addresses (https://tools.ietf.org/html/rfc5156)
+ IPAddress *string `type:"string"`
+
+ // When CloudWatch has insufficient data about the metric to determine the alarm
+ // state, the status that you want Amazon Route 53 to assign to the health check:
+ //
+ // * Healthy: Amazon Route 53 considers the health check to be healthy.
+ //
+ // * Unhealthy: Amazon Route 53 considers the health check to be unhealthy.
+ //
+ // * LastKnownStatus: Amazon Route 53 uses the status of the health check
+ // from the last time CloudWatch had sufficient data to determine the alarm
+ // state. For new health checks that have no last known status, the default
+ // status for the health check is healthy.
+ InsufficientDataHealthStatus *string `type:"string" enum:"InsufficientDataHealthStatus"`
+
+ // Specify whether you want Amazon Route 53 to invert the status of a health
+ // check, for example, to consider a health check unhealthy when it otherwise
+ // would be considered healthy.
+ Inverted *bool `type:"boolean"`
+
+ // The port on the endpoint on which you want Amazon Route 53 to perform health
+ // checks.
Port *int64 `min:"1" type:"integer"`
- // A list of HealthCheckRegion values that specify the Amazon EC2 regions that
- // you want Amazon Route 53 to use to perform health checks. You must specify
- // at least three regions.
+ // A complex type that contains one Region element for each region that you
+ // want Amazon Route 53 health checkers to check the specified endpoint from.
+ Regions []*string `locationNameList:"Region" min:"3" type:"list"`
+
+ // A complex type that contains one ResetElement element for each element that
+ // you want to reset to the default value. Valid values for ResetElement include
+ // the following:
//
- // When you remove a region from the list, Amazon Route 53 will briefly continue
- // to check your endpoint from that region. Specify this value only if you want
- // to change it.
- Regions []*string `locationNameList:"Region" min:"1" type:"list"`
+ // * ChildHealthChecks: Amazon Route 53 resets HealthCheckConfig$ChildHealthChecks
+ // to null.
+ //
+ // * FullyQualifiedDomainName: Amazon Route 53 resets HealthCheckConfig$FullyQualifiedDomainName
+ // to null.
+ //
+ // * Regions: Amazon Route 53 resets the HealthCheckConfig$Regions list to
+ // the default set of regions.
+ //
+ // * ResourcePath: Amazon Route 53 resets HealthCheckConfig$ResourcePath
+ // to null.
+ ResetElements []*string `locationNameList:"ResettableElementName" type:"list"`
// The path that you want Amazon Route 53 to request when performing health
// checks. The path can be any value for which your endpoint will return an
@@ -7337,10 +13379,8 @@ type UpdateHealthCheckInput struct {
// If the value of Type is HTTP_STR_MATCH or HTTP_STR_MATCH, the string that
// you want Amazon Route 53 to search for in the response body from the specified
// resource. If the string appears in the response body, Amazon Route 53 considers
- // the resource healthy. Amazon Route 53 considers case when searching for SearchString
- // in the response body.
- //
- // Specify this value only if you want to change it.
+ // the resource healthy. (You can't change the value of Type when you update
+ // a health check.)
SearchString *string `type:"string"`
}
@@ -7369,8 +13409,8 @@ func (s *UpdateHealthCheckInput) Validate() error {
if s.Port != nil && *s.Port < 1 {
invalidParams.Add(request.NewErrParamMinValue("Port", 1))
}
- if s.Regions != nil && len(s.Regions) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Regions", 1))
+ if s.Regions != nil && len(s.Regions) < 3 {
+ invalidParams.Add(request.NewErrParamMinLen("Regions", 3))
}
if s.AlarmIdentifier != nil {
if err := s.AlarmIdentifier.Validate(); err != nil {
@@ -7384,10 +13424,110 @@ func (s *UpdateHealthCheckInput) Validate() error {
return nil
}
+// SetAlarmIdentifier sets the AlarmIdentifier field's value.
+func (s *UpdateHealthCheckInput) SetAlarmIdentifier(v *AlarmIdentifier) *UpdateHealthCheckInput {
+ s.AlarmIdentifier = v
+ return s
+}
+
+// SetChildHealthChecks sets the ChildHealthChecks field's value.
+func (s *UpdateHealthCheckInput) SetChildHealthChecks(v []*string) *UpdateHealthCheckInput {
+ s.ChildHealthChecks = v
+ return s
+}
+
+// SetEnableSNI sets the EnableSNI field's value.
+func (s *UpdateHealthCheckInput) SetEnableSNI(v bool) *UpdateHealthCheckInput {
+ s.EnableSNI = &v
+ return s
+}
+
+// SetFailureThreshold sets the FailureThreshold field's value.
+func (s *UpdateHealthCheckInput) SetFailureThreshold(v int64) *UpdateHealthCheckInput {
+ s.FailureThreshold = &v
+ return s
+}
+
+// SetFullyQualifiedDomainName sets the FullyQualifiedDomainName field's value.
+func (s *UpdateHealthCheckInput) SetFullyQualifiedDomainName(v string) *UpdateHealthCheckInput {
+ s.FullyQualifiedDomainName = &v
+ return s
+}
+
+// SetHealthCheckId sets the HealthCheckId field's value.
+func (s *UpdateHealthCheckInput) SetHealthCheckId(v string) *UpdateHealthCheckInput {
+ s.HealthCheckId = &v
+ return s
+}
+
+// SetHealthCheckVersion sets the HealthCheckVersion field's value.
+func (s *UpdateHealthCheckInput) SetHealthCheckVersion(v int64) *UpdateHealthCheckInput {
+ s.HealthCheckVersion = &v
+ return s
+}
+
+// SetHealthThreshold sets the HealthThreshold field's value.
+func (s *UpdateHealthCheckInput) SetHealthThreshold(v int64) *UpdateHealthCheckInput {
+ s.HealthThreshold = &v
+ return s
+}
+
+// SetIPAddress sets the IPAddress field's value.
+func (s *UpdateHealthCheckInput) SetIPAddress(v string) *UpdateHealthCheckInput {
+ s.IPAddress = &v
+ return s
+}
+
+// SetInsufficientDataHealthStatus sets the InsufficientDataHealthStatus field's value.
+func (s *UpdateHealthCheckInput) SetInsufficientDataHealthStatus(v string) *UpdateHealthCheckInput {
+ s.InsufficientDataHealthStatus = &v
+ return s
+}
+
+// SetInverted sets the Inverted field's value.
+func (s *UpdateHealthCheckInput) SetInverted(v bool) *UpdateHealthCheckInput {
+ s.Inverted = &v
+ return s
+}
+
+// SetPort sets the Port field's value.
+func (s *UpdateHealthCheckInput) SetPort(v int64) *UpdateHealthCheckInput {
+ s.Port = &v
+ return s
+}
+
+// SetRegions sets the Regions field's value.
+func (s *UpdateHealthCheckInput) SetRegions(v []*string) *UpdateHealthCheckInput {
+ s.Regions = v
+ return s
+}
+
+// SetResetElements sets the ResetElements field's value.
+func (s *UpdateHealthCheckInput) SetResetElements(v []*string) *UpdateHealthCheckInput {
+ s.ResetElements = v
+ return s
+}
+
+// SetResourcePath sets the ResourcePath field's value.
+func (s *UpdateHealthCheckInput) SetResourcePath(v string) *UpdateHealthCheckInput {
+ s.ResourcePath = &v
+ return s
+}
+
+// SetSearchString sets the SearchString field's value.
+func (s *UpdateHealthCheckInput) SetSearchString(v string) *UpdateHealthCheckInput {
+ s.SearchString = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateHealthCheckResponse
type UpdateHealthCheckOutput struct {
_ struct{} `type:"structure"`
- // A complex type that contains identifying information about the health check.
+ // A complex type that contains information about one health check that is associated
+ // with the current AWS account.
+ //
+ // HealthCheck is a required field
HealthCheck *HealthCheck `type:"structure" required:"true"`
}
@@ -7401,15 +13541,24 @@ func (s UpdateHealthCheckOutput) GoString() string {
return s.String()
}
-// A complex type that contains information about the request to update a hosted
-// zone comment.
+// SetHealthCheck sets the HealthCheck field's value.
+func (s *UpdateHealthCheckOutput) SetHealthCheck(v *HealthCheck) *UpdateHealthCheckOutput {
+ s.HealthCheck = v
+ return s
+}
+
+// A request to update the comment for a hosted zone.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateHostedZoneCommentRequest
type UpdateHostedZoneCommentInput struct {
_ struct{} `locationName:"UpdateHostedZoneCommentRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
- // A comment about your hosted zone.
+ // The new comment for the hosted zone. If you don't specify a value for Comment,
+ // Amazon Route 53 deletes the existing value of the Comment element, if any.
Comment *string `type:"string"`
- // The ID of the hosted zone you want to update.
+ // The ID for the hosted zone that you want to update the comment for.
+ //
+ // Id is a required field
Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
}
@@ -7436,12 +13585,27 @@ func (s *UpdateHostedZoneCommentInput) Validate() error {
return nil
}
-// A complex type containing information about the specified hosted zone after
-// the update.
+// SetComment sets the Comment field's value.
+func (s *UpdateHostedZoneCommentInput) SetComment(v string) *UpdateHostedZoneCommentInput {
+ s.Comment = &v
+ return s
+}
+
+// SetId sets the Id field's value.
+func (s *UpdateHostedZoneCommentInput) SetId(v string) *UpdateHostedZoneCommentInput {
+ s.Id = &v
+ return s
+}
+
+// A complex type that contains the response to the UpdateHostedZoneComment
+// request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateHostedZoneCommentResponse
type UpdateHostedZoneCommentOutput struct {
_ struct{} `type:"structure"`
- // A complex type that contain information about the specified hosted zone.
+ // A complex type that contains general information about the hosted zone.
+ //
+ // HostedZone is a required field
HostedZone *HostedZone `type:"structure" required:"true"`
}
@@ -7455,19 +13619,33 @@ func (s UpdateHostedZoneCommentOutput) GoString() string {
return s.String()
}
-// A complex type that contains information about the traffic policy for which
-// you want to update the comment.
+// SetHostedZone sets the HostedZone field's value.
+func (s *UpdateHostedZoneCommentOutput) SetHostedZone(v *HostedZone) *UpdateHostedZoneCommentOutput {
+ s.HostedZone = v
+ return s
+}
+
+// A complex type that contains information about the traffic policy that you
+// want to update the comment for.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateTrafficPolicyCommentRequest
type UpdateTrafficPolicyCommentInput struct {
_ struct{} `locationName:"UpdateTrafficPolicyCommentRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
// The new comment for the specified traffic policy and version.
+ //
+ // Comment is a required field
Comment *string `type:"string" required:"true"`
- // The value of Id for the traffic policy for which you want to update the comment.
- Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
+ // The value of Id for the traffic policy that you want to update the comment
+ // for.
+ //
+ // Id is a required field
+ Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
- // The value of Version for the traffic policy for which you want to update
- // the comment.
+ // The value of Version for the traffic policy that you want to update the comment
+ // for.
+ //
+ // Version is a required field
Version *int64 `location:"uri" locationName:"Version" min:"1" type:"integer" required:"true"`
}
@@ -7490,6 +13668,9 @@ func (s *UpdateTrafficPolicyCommentInput) Validate() error {
if s.Id == nil {
invalidParams.Add(request.NewErrParamRequired("Id"))
}
+ if s.Id != nil && len(*s.Id) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Id", 1))
+ }
if s.Version == nil {
invalidParams.Add(request.NewErrParamRequired("Version"))
}
@@ -7503,11 +13684,32 @@ func (s *UpdateTrafficPolicyCommentInput) Validate() error {
return nil
}
+// SetComment sets the Comment field's value.
+func (s *UpdateTrafficPolicyCommentInput) SetComment(v string) *UpdateTrafficPolicyCommentInput {
+ s.Comment = &v
+ return s
+}
+
+// SetId sets the Id field's value.
+func (s *UpdateTrafficPolicyCommentInput) SetId(v string) *UpdateTrafficPolicyCommentInput {
+ s.Id = &v
+ return s
+}
+
+// SetVersion sets the Version field's value.
+func (s *UpdateTrafficPolicyCommentInput) SetVersion(v int64) *UpdateTrafficPolicyCommentInput {
+ s.Version = &v
+ return s
+}
+
// A complex type that contains the response information for the traffic policy.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateTrafficPolicyCommentResponse
type UpdateTrafficPolicyCommentOutput struct {
_ struct{} `type:"structure"`
// A complex type that contains settings for the specified traffic policy.
+ //
+ // TrafficPolicy is a required field
TrafficPolicy *TrafficPolicy `type:"structure" required:"true"`
}
@@ -7521,24 +13723,39 @@ func (s UpdateTrafficPolicyCommentOutput) GoString() string {
return s.String()
}
+// SetTrafficPolicy sets the TrafficPolicy field's value.
+func (s *UpdateTrafficPolicyCommentOutput) SetTrafficPolicy(v *TrafficPolicy) *UpdateTrafficPolicyCommentOutput {
+ s.TrafficPolicy = v
+ return s
+}
+
// A complex type that contains information about the resource record sets that
// you want to update based on a specified traffic policy instance.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateTrafficPolicyInstanceRequest
type UpdateTrafficPolicyInstanceInput struct {
_ struct{} `locationName:"UpdateTrafficPolicyInstanceRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"`
// The ID of the traffic policy instance that you want to update.
- Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
+ //
+ // Id is a required field
+ Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
// The TTL that you want Amazon Route 53 to assign to all of the updated resource
// record sets.
+ //
+ // TTL is a required field
TTL *int64 `type:"long" required:"true"`
// The ID of the traffic policy that you want Amazon Route 53 to use to update
// resource record sets for the specified traffic policy instance.
- TrafficPolicyId *string `type:"string" required:"true"`
+ //
+ // TrafficPolicyId is a required field
+ TrafficPolicyId *string `min:"1" type:"string" required:"true"`
// The version of the traffic policy that you want Amazon Route 53 to use to
// update resource record sets for the specified traffic policy instance.
+ //
+ // TrafficPolicyVersion is a required field
TrafficPolicyVersion *int64 `min:"1" type:"integer" required:"true"`
}
@@ -7558,12 +13775,18 @@ func (s *UpdateTrafficPolicyInstanceInput) Validate() error {
if s.Id == nil {
invalidParams.Add(request.NewErrParamRequired("Id"))
}
+ if s.Id != nil && len(*s.Id) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Id", 1))
+ }
if s.TTL == nil {
invalidParams.Add(request.NewErrParamRequired("TTL"))
}
if s.TrafficPolicyId == nil {
invalidParams.Add(request.NewErrParamRequired("TrafficPolicyId"))
}
+ if s.TrafficPolicyId != nil && len(*s.TrafficPolicyId) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("TrafficPolicyId", 1))
+ }
if s.TrafficPolicyVersion == nil {
invalidParams.Add(request.NewErrParamRequired("TrafficPolicyVersion"))
}
@@ -7577,12 +13800,39 @@ func (s *UpdateTrafficPolicyInstanceInput) Validate() error {
return nil
}
+// SetId sets the Id field's value.
+func (s *UpdateTrafficPolicyInstanceInput) SetId(v string) *UpdateTrafficPolicyInstanceInput {
+ s.Id = &v
+ return s
+}
+
+// SetTTL sets the TTL field's value.
+func (s *UpdateTrafficPolicyInstanceInput) SetTTL(v int64) *UpdateTrafficPolicyInstanceInput {
+ s.TTL = &v
+ return s
+}
+
+// SetTrafficPolicyId sets the TrafficPolicyId field's value.
+func (s *UpdateTrafficPolicyInstanceInput) SetTrafficPolicyId(v string) *UpdateTrafficPolicyInstanceInput {
+ s.TrafficPolicyId = &v
+ return s
+}
+
+// SetTrafficPolicyVersion sets the TrafficPolicyVersion field's value.
+func (s *UpdateTrafficPolicyInstanceInput) SetTrafficPolicyVersion(v int64) *UpdateTrafficPolicyInstanceInput {
+ s.TrafficPolicyVersion = &v
+ return s
+}
+
// A complex type that contains information about the resource record sets that
// Amazon Route 53 created based on a specified traffic policy.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateTrafficPolicyInstanceResponse
type UpdateTrafficPolicyInstanceOutput struct {
_ struct{} `type:"structure"`
// A complex type that contains settings for the updated traffic policy instance.
+ //
+ // TrafficPolicyInstance is a required field
TrafficPolicyInstance *TrafficPolicyInstance `type:"structure" required:"true"`
}
@@ -7596,12 +13846,22 @@ func (s UpdateTrafficPolicyInstanceOutput) GoString() string {
return s.String()
}
+// SetTrafficPolicyInstance sets the TrafficPolicyInstance field's value.
+func (s *UpdateTrafficPolicyInstanceOutput) SetTrafficPolicyInstance(v *TrafficPolicyInstance) *UpdateTrafficPolicyInstanceOutput {
+ s.TrafficPolicyInstance = v
+ return s
+}
+
+// (Private hosted zones only) A complex type that contains information about
+// an Amazon VPC.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/VPC
type VPC struct {
_ struct{} `type:"structure"`
- // A VPC ID
+ // (Private hosted zones only) The ID of an Amazon VPC.
VPCId *string `type:"string"`
+ // (Private hosted zones only) The region in which you created an Amazon VPC.
VPCRegion *string `min:"1" type:"string" enum:"VPCRegion"`
}
@@ -7628,203 +13888,330 @@ func (s *VPC) Validate() error {
return nil
}
+// SetVPCId sets the VPCId field's value.
+func (s *VPC) SetVPCId(v string) *VPC {
+ s.VPCId = &v
+ return s
+}
+
+// SetVPCRegion sets the VPCRegion field's value.
+func (s *VPC) SetVPCRegion(v string) *VPC {
+ s.VPCRegion = &v
+ return s
+}
+
const (
- // @enum ChangeAction
+ // ChangeActionCreate is a ChangeAction enum value
ChangeActionCreate = "CREATE"
- // @enum ChangeAction
+
+ // ChangeActionDelete is a ChangeAction enum value
ChangeActionDelete = "DELETE"
- // @enum ChangeAction
+
+ // ChangeActionUpsert is a ChangeAction enum value
ChangeActionUpsert = "UPSERT"
)
const (
- // @enum ChangeStatus
+ // ChangeStatusPending is a ChangeStatus enum value
ChangeStatusPending = "PENDING"
- // @enum ChangeStatus
+
+ // ChangeStatusInsync is a ChangeStatus enum value
ChangeStatusInsync = "INSYNC"
)
const (
- // @enum CloudWatchRegion
+ // CloudWatchRegionUsEast1 is a CloudWatchRegion enum value
CloudWatchRegionUsEast1 = "us-east-1"
- // @enum CloudWatchRegion
+
+ // CloudWatchRegionUsEast2 is a CloudWatchRegion enum value
+ CloudWatchRegionUsEast2 = "us-east-2"
+
+ // CloudWatchRegionUsWest1 is a CloudWatchRegion enum value
CloudWatchRegionUsWest1 = "us-west-1"
- // @enum CloudWatchRegion
+
+ // CloudWatchRegionUsWest2 is a CloudWatchRegion enum value
CloudWatchRegionUsWest2 = "us-west-2"
- // @enum CloudWatchRegion
+
+ // CloudWatchRegionCaCentral1 is a CloudWatchRegion enum value
+ CloudWatchRegionCaCentral1 = "ca-central-1"
+
+ // CloudWatchRegionEuCentral1 is a CloudWatchRegion enum value
CloudWatchRegionEuCentral1 = "eu-central-1"
- // @enum CloudWatchRegion
+
+ // CloudWatchRegionEuWest1 is a CloudWatchRegion enum value
CloudWatchRegionEuWest1 = "eu-west-1"
- // @enum CloudWatchRegion
+
+ // CloudWatchRegionEuWest2 is a CloudWatchRegion enum value
+ CloudWatchRegionEuWest2 = "eu-west-2"
+
+ // CloudWatchRegionApSouth1 is a CloudWatchRegion enum value
+ CloudWatchRegionApSouth1 = "ap-south-1"
+
+ // CloudWatchRegionApSoutheast1 is a CloudWatchRegion enum value
CloudWatchRegionApSoutheast1 = "ap-southeast-1"
- // @enum CloudWatchRegion
+
+ // CloudWatchRegionApSoutheast2 is a CloudWatchRegion enum value
CloudWatchRegionApSoutheast2 = "ap-southeast-2"
- // @enum CloudWatchRegion
+
+ // CloudWatchRegionApNortheast1 is a CloudWatchRegion enum value
CloudWatchRegionApNortheast1 = "ap-northeast-1"
- // @enum CloudWatchRegion
+
+ // CloudWatchRegionApNortheast2 is a CloudWatchRegion enum value
CloudWatchRegionApNortheast2 = "ap-northeast-2"
- // @enum CloudWatchRegion
+
+ // CloudWatchRegionSaEast1 is a CloudWatchRegion enum value
CloudWatchRegionSaEast1 = "sa-east-1"
)
const (
- // @enum ComparisonOperator
+ // ComparisonOperatorGreaterThanOrEqualToThreshold is a ComparisonOperator enum value
ComparisonOperatorGreaterThanOrEqualToThreshold = "GreaterThanOrEqualToThreshold"
- // @enum ComparisonOperator
+
+ // ComparisonOperatorGreaterThanThreshold is a ComparisonOperator enum value
ComparisonOperatorGreaterThanThreshold = "GreaterThanThreshold"
- // @enum ComparisonOperator
+
+ // ComparisonOperatorLessThanThreshold is a ComparisonOperator enum value
ComparisonOperatorLessThanThreshold = "LessThanThreshold"
- // @enum ComparisonOperator
+
+ // ComparisonOperatorLessThanOrEqualToThreshold is a ComparisonOperator enum value
ComparisonOperatorLessThanOrEqualToThreshold = "LessThanOrEqualToThreshold"
)
-// An Amazon EC2 region that you want Amazon Route 53 to use to perform health
-// checks.
const (
- // @enum HealthCheckRegion
+ // HealthCheckRegionUsEast1 is a HealthCheckRegion enum value
HealthCheckRegionUsEast1 = "us-east-1"
- // @enum HealthCheckRegion
+
+ // HealthCheckRegionUsWest1 is a HealthCheckRegion enum value
HealthCheckRegionUsWest1 = "us-west-1"
- // @enum HealthCheckRegion
+
+ // HealthCheckRegionUsWest2 is a HealthCheckRegion enum value
HealthCheckRegionUsWest2 = "us-west-2"
- // @enum HealthCheckRegion
+
+ // HealthCheckRegionEuWest1 is a HealthCheckRegion enum value
HealthCheckRegionEuWest1 = "eu-west-1"
- // @enum HealthCheckRegion
+
+ // HealthCheckRegionApSoutheast1 is a HealthCheckRegion enum value
HealthCheckRegionApSoutheast1 = "ap-southeast-1"
- // @enum HealthCheckRegion
+
+ // HealthCheckRegionApSoutheast2 is a HealthCheckRegion enum value
HealthCheckRegionApSoutheast2 = "ap-southeast-2"
- // @enum HealthCheckRegion
+
+ // HealthCheckRegionApNortheast1 is a HealthCheckRegion enum value
HealthCheckRegionApNortheast1 = "ap-northeast-1"
- // @enum HealthCheckRegion
+
+ // HealthCheckRegionSaEast1 is a HealthCheckRegion enum value
HealthCheckRegionSaEast1 = "sa-east-1"
)
const (
- // @enum HealthCheckType
+ // HealthCheckTypeHttp is a HealthCheckType enum value
HealthCheckTypeHttp = "HTTP"
- // @enum HealthCheckType
+
+ // HealthCheckTypeHttps is a HealthCheckType enum value
HealthCheckTypeHttps = "HTTPS"
- // @enum HealthCheckType
+
+ // HealthCheckTypeHttpStrMatch is a HealthCheckType enum value
HealthCheckTypeHttpStrMatch = "HTTP_STR_MATCH"
- // @enum HealthCheckType
+
+ // HealthCheckTypeHttpsStrMatch is a HealthCheckType enum value
HealthCheckTypeHttpsStrMatch = "HTTPS_STR_MATCH"
- // @enum HealthCheckType
+
+ // HealthCheckTypeTcp is a HealthCheckType enum value
HealthCheckTypeTcp = "TCP"
- // @enum HealthCheckType
+
+ // HealthCheckTypeCalculated is a HealthCheckType enum value
HealthCheckTypeCalculated = "CALCULATED"
- // @enum HealthCheckType
+
+ // HealthCheckTypeCloudwatchMetric is a HealthCheckType enum value
HealthCheckTypeCloudwatchMetric = "CLOUDWATCH_METRIC"
)
const (
- // @enum InsufficientDataHealthStatus
+ // InsufficientDataHealthStatusHealthy is a InsufficientDataHealthStatus enum value
InsufficientDataHealthStatusHealthy = "Healthy"
- // @enum InsufficientDataHealthStatus
+
+ // InsufficientDataHealthStatusUnhealthy is a InsufficientDataHealthStatus enum value
InsufficientDataHealthStatusUnhealthy = "Unhealthy"
- // @enum InsufficientDataHealthStatus
+
+ // InsufficientDataHealthStatusLastKnownStatus is a InsufficientDataHealthStatus enum value
InsufficientDataHealthStatusLastKnownStatus = "LastKnownStatus"
)
const (
- // @enum RRType
+ // RRTypeSoa is a RRType enum value
RRTypeSoa = "SOA"
- // @enum RRType
+
+ // RRTypeA is a RRType enum value
RRTypeA = "A"
- // @enum RRType
+
+ // RRTypeTxt is a RRType enum value
RRTypeTxt = "TXT"
- // @enum RRType
+
+ // RRTypeNs is a RRType enum value
RRTypeNs = "NS"
- // @enum RRType
+
+ // RRTypeCname is a RRType enum value
RRTypeCname = "CNAME"
- // @enum RRType
+
+ // RRTypeMx is a RRType enum value
RRTypeMx = "MX"
- // @enum RRType
+
+ // RRTypeNaptr is a RRType enum value
+ RRTypeNaptr = "NAPTR"
+
+ // RRTypePtr is a RRType enum value
RRTypePtr = "PTR"
- // @enum RRType
+
+ // RRTypeSrv is a RRType enum value
RRTypeSrv = "SRV"
- // @enum RRType
+
+ // RRTypeSpf is a RRType enum value
RRTypeSpf = "SPF"
- // @enum RRType
+
+ // RRTypeAaaa is a RRType enum value
RRTypeAaaa = "AAAA"
+
+ // RRTypeCaa is a RRType enum value
+ RRTypeCaa = "CAA"
)
const (
- // @enum ResourceRecordSetFailover
+ // ResettableElementNameFullyQualifiedDomainName is a ResettableElementName enum value
+ ResettableElementNameFullyQualifiedDomainName = "FullyQualifiedDomainName"
+
+ // ResettableElementNameRegions is a ResettableElementName enum value
+ ResettableElementNameRegions = "Regions"
+
+ // ResettableElementNameResourcePath is a ResettableElementName enum value
+ ResettableElementNameResourcePath = "ResourcePath"
+
+ // ResettableElementNameChildHealthChecks is a ResettableElementName enum value
+ ResettableElementNameChildHealthChecks = "ChildHealthChecks"
+)
+
+const (
+ // ResourceRecordSetFailoverPrimary is a ResourceRecordSetFailover enum value
ResourceRecordSetFailoverPrimary = "PRIMARY"
- // @enum ResourceRecordSetFailover
+
+ // ResourceRecordSetFailoverSecondary is a ResourceRecordSetFailover enum value
ResourceRecordSetFailoverSecondary = "SECONDARY"
)
const (
- // @enum ResourceRecordSetRegion
+ // ResourceRecordSetRegionUsEast1 is a ResourceRecordSetRegion enum value
ResourceRecordSetRegionUsEast1 = "us-east-1"
- // @enum ResourceRecordSetRegion
+
+ // ResourceRecordSetRegionUsEast2 is a ResourceRecordSetRegion enum value
+ ResourceRecordSetRegionUsEast2 = "us-east-2"
+
+ // ResourceRecordSetRegionUsWest1 is a ResourceRecordSetRegion enum value
ResourceRecordSetRegionUsWest1 = "us-west-1"
- // @enum ResourceRecordSetRegion
+
+ // ResourceRecordSetRegionUsWest2 is a ResourceRecordSetRegion enum value
ResourceRecordSetRegionUsWest2 = "us-west-2"
- // @enum ResourceRecordSetRegion
+
+ // ResourceRecordSetRegionCaCentral1 is a ResourceRecordSetRegion enum value
+ ResourceRecordSetRegionCaCentral1 = "ca-central-1"
+
+ // ResourceRecordSetRegionEuWest1 is a ResourceRecordSetRegion enum value
ResourceRecordSetRegionEuWest1 = "eu-west-1"
- // @enum ResourceRecordSetRegion
+
+ // ResourceRecordSetRegionEuWest2 is a ResourceRecordSetRegion enum value
+ ResourceRecordSetRegionEuWest2 = "eu-west-2"
+
+ // ResourceRecordSetRegionEuCentral1 is a ResourceRecordSetRegion enum value
ResourceRecordSetRegionEuCentral1 = "eu-central-1"
- // @enum ResourceRecordSetRegion
+
+ // ResourceRecordSetRegionApSoutheast1 is a ResourceRecordSetRegion enum value
ResourceRecordSetRegionApSoutheast1 = "ap-southeast-1"
- // @enum ResourceRecordSetRegion
+
+ // ResourceRecordSetRegionApSoutheast2 is a ResourceRecordSetRegion enum value
ResourceRecordSetRegionApSoutheast2 = "ap-southeast-2"
- // @enum ResourceRecordSetRegion
+
+ // ResourceRecordSetRegionApNortheast1 is a ResourceRecordSetRegion enum value
ResourceRecordSetRegionApNortheast1 = "ap-northeast-1"
- // @enum ResourceRecordSetRegion
+
+ // ResourceRecordSetRegionApNortheast2 is a ResourceRecordSetRegion enum value
ResourceRecordSetRegionApNortheast2 = "ap-northeast-2"
- // @enum ResourceRecordSetRegion
+
+ // ResourceRecordSetRegionSaEast1 is a ResourceRecordSetRegion enum value
ResourceRecordSetRegionSaEast1 = "sa-east-1"
- // @enum ResourceRecordSetRegion
+
+ // ResourceRecordSetRegionCnNorth1 is a ResourceRecordSetRegion enum value
ResourceRecordSetRegionCnNorth1 = "cn-north-1"
- // @enum ResourceRecordSetRegion
+
+ // ResourceRecordSetRegionApSouth1 is a ResourceRecordSetRegion enum value
ResourceRecordSetRegionApSouth1 = "ap-south-1"
)
const (
- // @enum Statistic
+ // StatisticAverage is a Statistic enum value
StatisticAverage = "Average"
- // @enum Statistic
+
+ // StatisticSum is a Statistic enum value
StatisticSum = "Sum"
- // @enum Statistic
+
+ // StatisticSampleCount is a Statistic enum value
StatisticSampleCount = "SampleCount"
- // @enum Statistic
+
+ // StatisticMaximum is a Statistic enum value
StatisticMaximum = "Maximum"
- // @enum Statistic
+
+ // StatisticMinimum is a Statistic enum value
StatisticMinimum = "Minimum"
)
const (
- // @enum TagResourceType
+ // TagResourceTypeHealthcheck is a TagResourceType enum value
TagResourceTypeHealthcheck = "healthcheck"
- // @enum TagResourceType
+
+ // TagResourceTypeHostedzone is a TagResourceType enum value
TagResourceTypeHostedzone = "hostedzone"
)
const (
- // @enum VPCRegion
+ // VPCRegionUsEast1 is a VPCRegion enum value
VPCRegionUsEast1 = "us-east-1"
- // @enum VPCRegion
+
+ // VPCRegionUsEast2 is a VPCRegion enum value
+ VPCRegionUsEast2 = "us-east-2"
+
+ // VPCRegionUsWest1 is a VPCRegion enum value
VPCRegionUsWest1 = "us-west-1"
- // @enum VPCRegion
+
+ // VPCRegionUsWest2 is a VPCRegion enum value
VPCRegionUsWest2 = "us-west-2"
- // @enum VPCRegion
+
+ // VPCRegionEuWest1 is a VPCRegion enum value
VPCRegionEuWest1 = "eu-west-1"
- // @enum VPCRegion
+
+ // VPCRegionEuWest2 is a VPCRegion enum value
+ VPCRegionEuWest2 = "eu-west-2"
+
+ // VPCRegionEuCentral1 is a VPCRegion enum value
VPCRegionEuCentral1 = "eu-central-1"
- // @enum VPCRegion
+
+ // VPCRegionApSoutheast1 is a VPCRegion enum value
VPCRegionApSoutheast1 = "ap-southeast-1"
- // @enum VPCRegion
+
+ // VPCRegionApSoutheast2 is a VPCRegion enum value
VPCRegionApSoutheast2 = "ap-southeast-2"
- // @enum VPCRegion
+
+ // VPCRegionApSouth1 is a VPCRegion enum value
VPCRegionApSouth1 = "ap-south-1"
- // @enum VPCRegion
+
+ // VPCRegionApNortheast1 is a VPCRegion enum value
VPCRegionApNortheast1 = "ap-northeast-1"
- // @enum VPCRegion
+
+ // VPCRegionApNortheast2 is a VPCRegion enum value
VPCRegionApNortheast2 = "ap-northeast-2"
- // @enum VPCRegion
+
+ // VPCRegionSaEast1 is a VPCRegion enum value
VPCRegionSaEast1 = "sa-east-1"
- // @enum VPCRegion
+
+ // VPCRegionCaCentral1 is a VPCRegion enum value
+ VPCRegionCaCentral1 = "ca-central-1"
+
+ // VPCRegionCnNorth1 is a VPCRegion enum value
VPCRegionCnNorth1 = "cn-north-1"
)
diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53/customizations.go b/vendor/github.com/aws/aws-sdk-go/service/route53/customizations.go
index 91af196e2..efe2d6e7c 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/route53/customizations.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/route53/customizations.go
@@ -1,8 +1,10 @@
package route53
import (
+ "net/url"
"regexp"
+ "github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/aws/client"
"github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/private/protocol/restxml"
@@ -25,6 +27,16 @@ func init() {
var reSanitizeURL = regexp.MustCompile(`\/%2F\w+%2F`)
func sanitizeURL(r *request.Request) {
- r.HTTPRequest.URL.Opaque =
- reSanitizeURL.ReplaceAllString(r.HTTPRequest.URL.Opaque, "/")
+ r.HTTPRequest.URL.RawPath =
+ reSanitizeURL.ReplaceAllString(r.HTTPRequest.URL.RawPath, "/")
+
+ // Update Path so that it reflects the cleaned RawPath
+ updated, err := url.Parse(r.HTTPRequest.URL.RawPath)
+ if err != nil {
+ r.Error = awserr.New("SerializationError", "failed to clean Route53 URL", err)
+ return
+ }
+
+ // Take the updated path so the requests's URL Path has parity with RawPath.
+ r.HTTPRequest.URL.Path = updated.Path
}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53/doc.go b/vendor/github.com/aws/aws-sdk-go/service/route53/doc.go
new file mode 100644
index 000000000..7965fea67
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/route53/doc.go
@@ -0,0 +1,26 @@
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
+
+// Package route53 provides the client and types for making API
+// requests to Amazon Route 53.
+//
+// See https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01 for more information on this service.
+//
+// See route53 package documentation for more information.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/route53/
+//
+// Using the Client
+//
+// To contact Amazon Route 53 with the SDK use the New function to create
+// a new service client. With that client you can make API requests to the service.
+// These clients are safe to use concurrently.
+//
+// See the SDK's documentation for more information on how to use the SDK.
+// https://docs.aws.amazon.com/sdk-for-go/api/
+//
+// See aws.Config documentation for more information on configuring SDK clients.
+// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config
+//
+// See the Amazon Route 53 client Route53 for more
+// information on creating client for this service.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/route53/#New
+package route53
diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53/errors.go b/vendor/github.com/aws/aws-sdk-go/service/route53/errors.go
new file mode 100644
index 000000000..24225020e
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/route53/errors.go
@@ -0,0 +1,372 @@
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
+
+package route53
+
+const (
+
+ // ErrCodeConcurrentModification for service response error code
+ // "ConcurrentModification".
+ //
+ // Another user submitted a request to create, update, or delete the object
+ // at the same time that you did. Retry the request.
+ ErrCodeConcurrentModification = "ConcurrentModification"
+
+ // ErrCodeConflictingDomainExists for service response error code
+ // "ConflictingDomainExists".
+ //
+ // The cause of this error depends on whether you're trying to create a public
+ // or a private hosted zone:
+ //
+ // * Public hosted zone: Two hosted zones that have the same name or that
+ // have a parent/child relationship (example.com and test.example.com) can't
+ // have any common name servers. You tried to create a hosted zone that has
+ // the same name as an existing hosted zone or that's the parent or child
+ // of an existing hosted zone, and you specified a delegation set that shares
+ // one or more name servers with the existing hosted zone.
+ //
+ // * Private hosted zone: You specified an Amazon VPC that you're already
+ // using for another hosted zone, and the domain that you specified for one
+ // of the hosted zones is a subdomain of the domain that you specified for
+ // the other hosted zone. For example, you can't use the same Amazon VPC
+ // for the hosted zones for example.com and test.example.com.
+ ErrCodeConflictingDomainExists = "ConflictingDomainExists"
+
+ // ErrCodeConflictingTypes for service response error code
+ // "ConflictingTypes".
+ //
+ // You tried to update a traffic policy instance by using a traffic policy version
+ // that has a different DNS type than the current type for the instance. You
+ // specified the type in the JSON document in the CreateTrafficPolicy or CreateTrafficPolicyVersionrequest.
+ ErrCodeConflictingTypes = "ConflictingTypes"
+
+ // ErrCodeDelegationSetAlreadyCreated for service response error code
+ // "DelegationSetAlreadyCreated".
+ //
+ // A delegation set with the same owner and caller reference combination has
+ // already been created.
+ ErrCodeDelegationSetAlreadyCreated = "DelegationSetAlreadyCreated"
+
+ // ErrCodeDelegationSetAlreadyReusable for service response error code
+ // "DelegationSetAlreadyReusable".
+ //
+ // The specified delegation set has already been marked as reusable.
+ ErrCodeDelegationSetAlreadyReusable = "DelegationSetAlreadyReusable"
+
+ // ErrCodeDelegationSetInUse for service response error code
+ // "DelegationSetInUse".
+ //
+ // The specified delegation contains associated hosted zones which must be deleted
+ // before the reusable delegation set can be deleted.
+ ErrCodeDelegationSetInUse = "DelegationSetInUse"
+
+ // ErrCodeDelegationSetNotAvailable for service response error code
+ // "DelegationSetNotAvailable".
+ //
+ // You can create a hosted zone that has the same name as an existing hosted
+ // zone (example.com is common), but there is a limit to the number of hosted
+ // zones that have the same name. If you get this error, Amazon Route 53 has
+ // reached that limit. If you own the domain name and Amazon Route 53 generates
+ // this error, contact Customer Support.
+ ErrCodeDelegationSetNotAvailable = "DelegationSetNotAvailable"
+
+ // ErrCodeDelegationSetNotReusable for service response error code
+ // "DelegationSetNotReusable".
+ //
+ // A reusable delegation set with the specified ID does not exist.
+ ErrCodeDelegationSetNotReusable = "DelegationSetNotReusable"
+
+ // ErrCodeHealthCheckAlreadyExists for service response error code
+ // "HealthCheckAlreadyExists".
+ //
+ // The health check you're attempting to create already exists. Amazon Route
+ // 53 returns this error when you submit a request that has the following values:
+ //
+ // * The same value for CallerReference as an existing health check, and
+ // one or more values that differ from the existing health check that has
+ // the same caller reference.
+ //
+ // * The same value for CallerReference as a health check that you created
+ // and later deleted, regardless of the other settings in the request.
+ ErrCodeHealthCheckAlreadyExists = "HealthCheckAlreadyExists"
+
+ // ErrCodeHealthCheckInUse for service response error code
+ // "HealthCheckInUse".
+ //
+ // This error code is not in use.
+ ErrCodeHealthCheckInUse = "HealthCheckInUse"
+
+ // ErrCodeHealthCheckVersionMismatch for service response error code
+ // "HealthCheckVersionMismatch".
+ //
+ // The value of HealthCheckVersion in the request doesn't match the value of
+ // HealthCheckVersion in the health check.
+ ErrCodeHealthCheckVersionMismatch = "HealthCheckVersionMismatch"
+
+ // ErrCodeHostedZoneAlreadyExists for service response error code
+ // "HostedZoneAlreadyExists".
+ //
+ // The hosted zone you're trying to create already exists. Amazon Route 53 returns
+ // this error when a hosted zone has already been created with the specified
+ // CallerReference.
+ ErrCodeHostedZoneAlreadyExists = "HostedZoneAlreadyExists"
+
+ // ErrCodeHostedZoneNotEmpty for service response error code
+ // "HostedZoneNotEmpty".
+ //
+ // The hosted zone contains resource records that are not SOA or NS records.
+ ErrCodeHostedZoneNotEmpty = "HostedZoneNotEmpty"
+
+ // ErrCodeHostedZoneNotFound for service response error code
+ // "HostedZoneNotFound".
+ //
+ // The specified HostedZone can't be found.
+ ErrCodeHostedZoneNotFound = "HostedZoneNotFound"
+
+ // ErrCodeIncompatibleVersion for service response error code
+ // "IncompatibleVersion".
+ //
+ // The resource you're trying to access is unsupported on this Amazon Route
+ // 53 endpoint.
+ ErrCodeIncompatibleVersion = "IncompatibleVersion"
+
+ // ErrCodeInsufficientCloudWatchLogsResourcePolicy for service response error code
+ // "InsufficientCloudWatchLogsResourcePolicy".
+ //
+ // Amazon Route 53 doesn't have the permissions required to create log streams
+ // and send query logs to log streams. Possible causes include the following:
+ //
+ // * There is no resource policy that specifies the log group ARN in the
+ // value for Resource.
+ //
+ // * The resource policy that includes the log group ARN in the value for
+ // Resource doesn't have the necessary permissions.
+ //
+ // * The resource policy hasn't finished propagating yet.
+ ErrCodeInsufficientCloudWatchLogsResourcePolicy = "InsufficientCloudWatchLogsResourcePolicy"
+
+ // ErrCodeInvalidArgument for service response error code
+ // "InvalidArgument".
+ //
+ // Parameter name is invalid.
+ ErrCodeInvalidArgument = "InvalidArgument"
+
+ // ErrCodeInvalidChangeBatch for service response error code
+ // "InvalidChangeBatch".
+ //
+ // This exception contains a list of messages that might contain one or more
+ // error messages. Each error message indicates one error in the change batch.
+ ErrCodeInvalidChangeBatch = "InvalidChangeBatch"
+
+ // ErrCodeInvalidDomainName for service response error code
+ // "InvalidDomainName".
+ //
+ // The specified domain name is not valid.
+ ErrCodeInvalidDomainName = "InvalidDomainName"
+
+ // ErrCodeInvalidInput for service response error code
+ // "InvalidInput".
+ //
+ // The input is not valid.
+ ErrCodeInvalidInput = "InvalidInput"
+
+ // ErrCodeInvalidPaginationToken for service response error code
+ // "InvalidPaginationToken".
+ //
+ // The value that you specified to get the second or subsequent page of results
+ // is invalid.
+ ErrCodeInvalidPaginationToken = "InvalidPaginationToken"
+
+ // ErrCodeInvalidTrafficPolicyDocument for service response error code
+ // "InvalidTrafficPolicyDocument".
+ //
+ // The format of the traffic policy document that you specified in the Document
+ // element is invalid.
+ ErrCodeInvalidTrafficPolicyDocument = "InvalidTrafficPolicyDocument"
+
+ // ErrCodeInvalidVPCId for service response error code
+ // "InvalidVPCId".
+ //
+ // The VPC ID that you specified either isn't a valid ID or the current account
+ // is not authorized to access this VPC.
+ ErrCodeInvalidVPCId = "InvalidVPCId"
+
+ // ErrCodeLastVPCAssociation for service response error code
+ // "LastVPCAssociation".
+ //
+ // The VPC that you're trying to disassociate from the private hosted zone is
+ // the last VPC that is associated with the hosted zone. Amazon Route 53 doesn't
+ // support disassociating the last VPC from a hosted zone.
+ ErrCodeLastVPCAssociation = "LastVPCAssociation"
+
+ // ErrCodeLimitsExceeded for service response error code
+ // "LimitsExceeded".
+ //
+ // The limits specified for a resource have been exceeded.
+ ErrCodeLimitsExceeded = "LimitsExceeded"
+
+ // ErrCodeNoSuchChange for service response error code
+ // "NoSuchChange".
+ //
+ // A change with the specified change ID does not exist.
+ ErrCodeNoSuchChange = "NoSuchChange"
+
+ // ErrCodeNoSuchCloudWatchLogsLogGroup for service response error code
+ // "NoSuchCloudWatchLogsLogGroup".
+ //
+ // There is no CloudWatch Logs log group with the specified ARN.
+ ErrCodeNoSuchCloudWatchLogsLogGroup = "NoSuchCloudWatchLogsLogGroup"
+
+ // ErrCodeNoSuchDelegationSet for service response error code
+ // "NoSuchDelegationSet".
+ //
+ // A reusable delegation set with the specified ID does not exist.
+ ErrCodeNoSuchDelegationSet = "NoSuchDelegationSet"
+
+ // ErrCodeNoSuchGeoLocation for service response error code
+ // "NoSuchGeoLocation".
+ //
+ // Amazon Route 53 doesn't support the specified geolocation.
+ ErrCodeNoSuchGeoLocation = "NoSuchGeoLocation"
+
+ // ErrCodeNoSuchHealthCheck for service response error code
+ // "NoSuchHealthCheck".
+ //
+ // No health check exists with the ID that you specified in the DeleteHealthCheck
+ // request.
+ ErrCodeNoSuchHealthCheck = "NoSuchHealthCheck"
+
+ // ErrCodeNoSuchHostedZone for service response error code
+ // "NoSuchHostedZone".
+ //
+ // No hosted zone exists with the ID that you specified.
+ ErrCodeNoSuchHostedZone = "NoSuchHostedZone"
+
+ // ErrCodeNoSuchQueryLoggingConfig for service response error code
+ // "NoSuchQueryLoggingConfig".
+ //
+ // There is no DNS query logging configuration with the specified ID.
+ ErrCodeNoSuchQueryLoggingConfig = "NoSuchQueryLoggingConfig"
+
+ // ErrCodeNoSuchTrafficPolicy for service response error code
+ // "NoSuchTrafficPolicy".
+ //
+ // No traffic policy exists with the specified ID.
+ ErrCodeNoSuchTrafficPolicy = "NoSuchTrafficPolicy"
+
+ // ErrCodeNoSuchTrafficPolicyInstance for service response error code
+ // "NoSuchTrafficPolicyInstance".
+ //
+ // No traffic policy instance exists with the specified ID.
+ ErrCodeNoSuchTrafficPolicyInstance = "NoSuchTrafficPolicyInstance"
+
+ // ErrCodeNotAuthorizedException for service response error code
+ // "NotAuthorizedException".
+ //
+ // Associating the specified VPC with the specified hosted zone has not been
+ // authorized.
+ ErrCodeNotAuthorizedException = "NotAuthorizedException"
+
+ // ErrCodePriorRequestNotComplete for service response error code
+ // "PriorRequestNotComplete".
+ //
+ // If Amazon Route 53 can't process a request before the next request arrives,
+ // it will reject subsequent requests for the same hosted zone and return an
+ // HTTP 400 error (Bad request). If Amazon Route 53 returns this error repeatedly
+ // for the same request, we recommend that you wait, in intervals of increasing
+ // duration, before you try the request again.
+ ErrCodePriorRequestNotComplete = "PriorRequestNotComplete"
+
+ // ErrCodePublicZoneVPCAssociation for service response error code
+ // "PublicZoneVPCAssociation".
+ //
+ // You're trying to associate a VPC with a public hosted zone. Amazon Route
+ // 53 doesn't support associating a VPC with a public hosted zone.
+ ErrCodePublicZoneVPCAssociation = "PublicZoneVPCAssociation"
+
+ // ErrCodeQueryLoggingConfigAlreadyExists for service response error code
+ // "QueryLoggingConfigAlreadyExists".
+ //
+ // You can create only one query logging configuration for a hosted zone, and
+ // a query logging configuration already exists for this hosted zone.
+ ErrCodeQueryLoggingConfigAlreadyExists = "QueryLoggingConfigAlreadyExists"
+
+ // ErrCodeThrottlingException for service response error code
+ // "ThrottlingException".
+ //
+ // The limit on the number of requests per second was exceeded.
+ ErrCodeThrottlingException = "ThrottlingException"
+
+ // ErrCodeTooManyHealthChecks for service response error code
+ // "TooManyHealthChecks".
+ //
+ // You have reached the maximum number of active health checks for an AWS account.
+ // The default limit is 100. To request a higher limit, create a case (http://aws.amazon.com/route53-request)
+ // with the AWS Support Center.
+ ErrCodeTooManyHealthChecks = "TooManyHealthChecks"
+
+ // ErrCodeTooManyHostedZones for service response error code
+ // "TooManyHostedZones".
+ //
+ // This hosted zone can't be created because the hosted zone limit is exceeded.
+ // To request a limit increase, go to the Amazon Route 53 Contact Us (http://aws.amazon.com/route53-request/)
+ // page.
+ ErrCodeTooManyHostedZones = "TooManyHostedZones"
+
+ // ErrCodeTooManyTrafficPolicies for service response error code
+ // "TooManyTrafficPolicies".
+ //
+ // You've created the maximum number of traffic policies that can be created
+ // for the current AWS account. You can request an increase to the limit on
+ // the Contact Us (http://aws.amazon.com/route53-request/) page.
+ ErrCodeTooManyTrafficPolicies = "TooManyTrafficPolicies"
+
+ // ErrCodeTooManyTrafficPolicyInstances for service response error code
+ // "TooManyTrafficPolicyInstances".
+ //
+ // You've created the maximum number of traffic policy instances that can be
+ // created for the current AWS account. You can request an increase to the limit
+ // on the Contact Us (http://aws.amazon.com/route53-request/) page.
+ ErrCodeTooManyTrafficPolicyInstances = "TooManyTrafficPolicyInstances"
+
+ // ErrCodeTooManyVPCAssociationAuthorizations for service response error code
+ // "TooManyVPCAssociationAuthorizations".
+ //
+ // You've created the maximum number of authorizations that can be created for
+ // the specified hosted zone. To authorize another VPC to be associated with
+ // the hosted zone, submit a DeleteVPCAssociationAuthorization request to remove
+ // an existing authorization. To get a list of existing authorizations, submit
+ // a ListVPCAssociationAuthorizations request.
+ ErrCodeTooManyVPCAssociationAuthorizations = "TooManyVPCAssociationAuthorizations"
+
+ // ErrCodeTrafficPolicyAlreadyExists for service response error code
+ // "TrafficPolicyAlreadyExists".
+ //
+ // A traffic policy that has the same value for Name already exists.
+ ErrCodeTrafficPolicyAlreadyExists = "TrafficPolicyAlreadyExists"
+
+ // ErrCodeTrafficPolicyInUse for service response error code
+ // "TrafficPolicyInUse".
+ //
+ // One or more traffic policy instances were created by using the specified
+ // traffic policy.
+ ErrCodeTrafficPolicyInUse = "TrafficPolicyInUse"
+
+ // ErrCodeTrafficPolicyInstanceAlreadyExists for service response error code
+ // "TrafficPolicyInstanceAlreadyExists".
+ //
+ // There is already a traffic policy instance with the specified ID.
+ ErrCodeTrafficPolicyInstanceAlreadyExists = "TrafficPolicyInstanceAlreadyExists"
+
+ // ErrCodeVPCAssociationAuthorizationNotFound for service response error code
+ // "VPCAssociationAuthorizationNotFound".
+ //
+ // The VPC that you specified is not authorized to be associated with the hosted
+ // zone.
+ ErrCodeVPCAssociationAuthorizationNotFound = "VPCAssociationAuthorizationNotFound"
+
+ // ErrCodeVPCAssociationNotFound for service response error code
+ // "VPCAssociationNotFound".
+ //
+ // The specified VPC and hosted zone are not currently associated.
+ ErrCodeVPCAssociationNotFound = "VPCAssociationNotFound"
+)
diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53/service.go b/vendor/github.com/aws/aws-sdk-go/service/route53/service.go
index 269c4db36..98ba1c8f8 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/route53/service.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/route53/service.go
@@ -1,4 +1,4 @@
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package route53
@@ -11,9 +11,12 @@ import (
"github.com/aws/aws-sdk-go/private/protocol/restxml"
)
-// Route53 is a client for Route 53.
-//The service client's operations are safe to be used concurrently.
-// It is not safe to mutate any of the client's properties though.
+// Route53 provides the API operation methods for making requests to
+// Amazon Route 53. See this package's package overview docs
+// for details on the service.
+//
+// Route53 methods are safe to use concurrently. It is not safe to
+// modify mutate any of the struct's properties though.
type Route53 struct {
*client.Client
}
@@ -24,8 +27,11 @@ var initClient func(*client.Client)
// Used for custom request initialization logic
var initRequest func(*request.Request)
-// A ServiceName is the name of the service the client will make API calls to.
-const ServiceName = "route53"
+// Service information constants
+const (
+ ServiceName = "route53" // Service endpoint prefix API calls made to.
+ EndpointsID = ServiceName // Service ID for Regions and Endpoints metadata.
+)
// New creates a new instance of the Route53 client with a session.
// If additional configuration is needed for the client instance use the optional
@@ -38,17 +44,18 @@ const ServiceName = "route53"
// // Create a Route53 client with additional configuration
// svc := route53.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
func New(p client.ConfigProvider, cfgs ...*aws.Config) *Route53 {
- c := p.ClientConfig(ServiceName, cfgs...)
- return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion)
+ c := p.ClientConfig(EndpointsID, cfgs...)
+ return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName)
}
// newClient creates, initializes and returns a new service client instance.
-func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion string) *Route53 {
+func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion, signingName string) *Route53 {
svc := &Route53{
Client: client.New(
cfg,
metadata.ClientInfo{
ServiceName: ServiceName,
+ SigningName: signingName,
SigningRegion: signingRegion,
Endpoint: endpoint,
APIVersion: "2013-04-01",
diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/route53/waiters.go
index 04786169e..9bd7a9a71 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/route53/waiters.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/route53/waiters.go
@@ -1,30 +1,56 @@
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package route53
import (
- "github.com/aws/aws-sdk-go/private/waiter"
+ "time"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/request"
)
+// WaitUntilResourceRecordSetsChanged uses the Route 53 API operation
+// GetChange to wait for a condition to be met before returning.
+// If the condition is not met within the max attempt window, an error will
+// be returned.
func (c *Route53) WaitUntilResourceRecordSetsChanged(input *GetChangeInput) error {
- waiterCfg := waiter.Config{
- Operation: "GetChange",
- Delay: 30,
+ return c.WaitUntilResourceRecordSetsChangedWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilResourceRecordSetsChangedWithContext is an extended version of WaitUntilResourceRecordSetsChanged.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53) WaitUntilResourceRecordSetsChangedWithContext(ctx aws.Context, input *GetChangeInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilResourceRecordSetsChanged",
MaxAttempts: 60,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(30 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "path",
- Argument: "ChangeInfo.Status",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathWaiterMatch, Argument: "ChangeInfo.Status",
Expected: "INSYNC",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *GetChangeInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.GetChangeRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53domains/api.go b/vendor/github.com/aws/aws-sdk-go/service/route53domains/api.go
index 1f90d070d..6fd087c65 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/route53domains/api.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/route53domains/api.go
@@ -1,12 +1,12 @@
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
-// Package route53domains provides a client for Amazon Route 53 Domains.
package route53domains
import (
"fmt"
"time"
+ "github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awsutil"
"github.com/aws/aws-sdk-go/aws/request"
)
@@ -15,17 +15,18 @@ const opCheckDomainAvailability = "CheckDomainAvailability"
// CheckDomainAvailabilityRequest generates a "aws/request.Request" representing the
// client's request for the CheckDomainAvailability operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CheckDomainAvailability method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CheckDomainAvailability for more information on using the CheckDomainAvailability
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CheckDomainAvailabilityRequest method.
// req, resp := client.CheckDomainAvailabilityRequest(params)
@@ -35,6 +36,7 @@ const opCheckDomainAvailability = "CheckDomainAvailability"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/CheckDomainAvailability
func (c *Route53Domains) CheckDomainAvailabilityRequest(input *CheckDomainAvailabilityInput) (req *request.Request, output *CheckDomainAvailabilityOutput) {
op := &request.Operation{
Name: opCheckDomainAvailability,
@@ -46,36 +48,155 @@ func (c *Route53Domains) CheckDomainAvailabilityRequest(input *CheckDomainAvaila
input = &CheckDomainAvailabilityInput{}
}
- req = c.newRequest(op, input, output)
output = &CheckDomainAvailabilityOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// CheckDomainAvailability API operation for Amazon Route 53 Domains.
+//
// This operation checks the availability of one domain name. Note that if the
// availability status of a domain is pending, you must submit another request
// to determine the availability of the domain name.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation CheckDomainAvailability for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// * ErrCodeUnsupportedTLD "UnsupportedTLD"
+// Amazon Route 53 does not support this top-level domain (TLD).
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/CheckDomainAvailability
func (c *Route53Domains) CheckDomainAvailability(input *CheckDomainAvailabilityInput) (*CheckDomainAvailabilityOutput, error) {
req, out := c.CheckDomainAvailabilityRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CheckDomainAvailabilityWithContext is the same as CheckDomainAvailability with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CheckDomainAvailability for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) CheckDomainAvailabilityWithContext(ctx aws.Context, input *CheckDomainAvailabilityInput, opts ...request.Option) (*CheckDomainAvailabilityOutput, error) {
+ req, out := c.CheckDomainAvailabilityRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCheckDomainTransferability = "CheckDomainTransferability"
+
+// CheckDomainTransferabilityRequest generates a "aws/request.Request" representing the
+// client's request for the CheckDomainTransferability operation. The "output" return
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CheckDomainTransferability for more information on using the CheckDomainTransferability
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CheckDomainTransferabilityRequest method.
+// req, resp := client.CheckDomainTransferabilityRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/CheckDomainTransferability
+func (c *Route53Domains) CheckDomainTransferabilityRequest(input *CheckDomainTransferabilityInput) (req *request.Request, output *CheckDomainTransferabilityOutput) {
+ op := &request.Operation{
+ Name: opCheckDomainTransferability,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CheckDomainTransferabilityInput{}
+ }
+
+ output = &CheckDomainTransferabilityOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CheckDomainTransferability API operation for Amazon Route 53 Domains.
+//
+// Checks whether a domain name can be transferred to Amazon Route 53.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation CheckDomainTransferability for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// * ErrCodeUnsupportedTLD "UnsupportedTLD"
+// Amazon Route 53 does not support this top-level domain (TLD).
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/CheckDomainTransferability
+func (c *Route53Domains) CheckDomainTransferability(input *CheckDomainTransferabilityInput) (*CheckDomainTransferabilityOutput, error) {
+ req, out := c.CheckDomainTransferabilityRequest(input)
+ return out, req.Send()
+}
+
+// CheckDomainTransferabilityWithContext is the same as CheckDomainTransferability with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CheckDomainTransferability for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) CheckDomainTransferabilityWithContext(ctx aws.Context, input *CheckDomainTransferabilityInput, opts ...request.Option) (*CheckDomainTransferabilityOutput, error) {
+ req, out := c.CheckDomainTransferabilityRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteTagsForDomain = "DeleteTagsForDomain"
// DeleteTagsForDomainRequest generates a "aws/request.Request" representing the
// client's request for the DeleteTagsForDomain operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteTagsForDomain method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteTagsForDomain for more information on using the DeleteTagsForDomain
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteTagsForDomainRequest method.
// req, resp := client.DeleteTagsForDomainRequest(params)
@@ -85,6 +206,7 @@ const opDeleteTagsForDomain = "DeleteTagsForDomain"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/DeleteTagsForDomain
func (c *Route53Domains) DeleteTagsForDomainRequest(input *DeleteTagsForDomainInput) (req *request.Request, output *DeleteTagsForDomainOutput) {
op := &request.Operation{
Name: opDeleteTagsForDomain,
@@ -96,37 +218,76 @@ func (c *Route53Domains) DeleteTagsForDomainRequest(input *DeleteTagsForDomainIn
input = &DeleteTagsForDomainInput{}
}
- req = c.newRequest(op, input, output)
output = &DeleteTagsForDomainOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// DeleteTagsForDomain API operation for Amazon Route 53 Domains.
+//
// This operation deletes the specified tags for a domain.
//
-// All tag operations are eventually consistent; subsequent operations may
+// All tag operations are eventually consistent; subsequent operations might
// not immediately represent all issued operations.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation DeleteTagsForDomain for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// * ErrCodeOperationLimitExceeded "OperationLimitExceeded"
+// The number of operations or jobs running exceeded the allowed threshold for
+// the account.
+//
+// * ErrCodeUnsupportedTLD "UnsupportedTLD"
+// Amazon Route 53 does not support this top-level domain (TLD).
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/DeleteTagsForDomain
func (c *Route53Domains) DeleteTagsForDomain(input *DeleteTagsForDomainInput) (*DeleteTagsForDomainOutput, error) {
req, out := c.DeleteTagsForDomainRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteTagsForDomainWithContext is the same as DeleteTagsForDomain with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteTagsForDomain for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) DeleteTagsForDomainWithContext(ctx aws.Context, input *DeleteTagsForDomainInput, opts ...request.Option) (*DeleteTagsForDomainOutput, error) {
+ req, out := c.DeleteTagsForDomainRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDisableDomainAutoRenew = "DisableDomainAutoRenew"
// DisableDomainAutoRenewRequest generates a "aws/request.Request" representing the
// client's request for the DisableDomainAutoRenew operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DisableDomainAutoRenew method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DisableDomainAutoRenew for more information on using the DisableDomainAutoRenew
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DisableDomainAutoRenewRequest method.
// req, resp := client.DisableDomainAutoRenewRequest(params)
@@ -136,6 +297,7 @@ const opDisableDomainAutoRenew = "DisableDomainAutoRenew"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/DisableDomainAutoRenew
func (c *Route53Domains) DisableDomainAutoRenewRequest(input *DisableDomainAutoRenewInput) (req *request.Request, output *DisableDomainAutoRenewOutput) {
op := &request.Operation{
Name: opDisableDomainAutoRenew,
@@ -147,35 +309,70 @@ func (c *Route53Domains) DisableDomainAutoRenewRequest(input *DisableDomainAutoR
input = &DisableDomainAutoRenewInput{}
}
- req = c.newRequest(op, input, output)
output = &DisableDomainAutoRenewOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// DisableDomainAutoRenew API operation for Amazon Route 53 Domains.
+//
// This operation disables automatic renewal of domain registration for the
// specified domain.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation DisableDomainAutoRenew for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// * ErrCodeUnsupportedTLD "UnsupportedTLD"
+// Amazon Route 53 does not support this top-level domain (TLD).
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/DisableDomainAutoRenew
func (c *Route53Domains) DisableDomainAutoRenew(input *DisableDomainAutoRenewInput) (*DisableDomainAutoRenewOutput, error) {
req, out := c.DisableDomainAutoRenewRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DisableDomainAutoRenewWithContext is the same as DisableDomainAutoRenew with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DisableDomainAutoRenew for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) DisableDomainAutoRenewWithContext(ctx aws.Context, input *DisableDomainAutoRenewInput, opts ...request.Option) (*DisableDomainAutoRenewOutput, error) {
+ req, out := c.DisableDomainAutoRenewRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDisableDomainTransferLock = "DisableDomainTransferLock"
// DisableDomainTransferLockRequest generates a "aws/request.Request" representing the
// client's request for the DisableDomainTransferLock operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DisableDomainTransferLock method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DisableDomainTransferLock for more information on using the DisableDomainTransferLock
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DisableDomainTransferLockRequest method.
// req, resp := client.DisableDomainTransferLockRequest(params)
@@ -185,6 +382,7 @@ const opDisableDomainTransferLock = "DisableDomainTransferLock"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/DisableDomainTransferLock
func (c *Route53Domains) DisableDomainTransferLockRequest(input *DisableDomainTransferLockInput) (req *request.Request, output *DisableDomainTransferLockOutput) {
op := &request.Operation{
Name: opDisableDomainTransferLock,
@@ -196,12 +394,13 @@ func (c *Route53Domains) DisableDomainTransferLockRequest(input *DisableDomainTr
input = &DisableDomainTransferLockInput{}
}
- req = c.newRequest(op, input, output)
output = &DisableDomainTransferLockOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// DisableDomainTransferLock API operation for Amazon Route 53 Domains.
+//
// This operation removes the transfer lock on the domain (specifically the
// clientTransferProhibited status) to allow domain transfers. We recommend
// you refrain from performing this action unless you intend to transfer the
@@ -209,27 +408,71 @@ func (c *Route53Domains) DisableDomainTransferLockRequest(input *DisableDomainTr
// ID that you can use to track the progress and completion of the action. If
// the request is not completed successfully, the domain registrant will be
// notified by email.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation DisableDomainTransferLock for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// * ErrCodeDuplicateRequest "DuplicateRequest"
+// The request is already in progress for the domain.
+//
+// * ErrCodeTLDRulesViolation "TLDRulesViolation"
+// The top-level domain does not support this operation.
+//
+// * ErrCodeOperationLimitExceeded "OperationLimitExceeded"
+// The number of operations or jobs running exceeded the allowed threshold for
+// the account.
+//
+// * ErrCodeUnsupportedTLD "UnsupportedTLD"
+// Amazon Route 53 does not support this top-level domain (TLD).
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/DisableDomainTransferLock
func (c *Route53Domains) DisableDomainTransferLock(input *DisableDomainTransferLockInput) (*DisableDomainTransferLockOutput, error) {
req, out := c.DisableDomainTransferLockRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DisableDomainTransferLockWithContext is the same as DisableDomainTransferLock with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DisableDomainTransferLock for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) DisableDomainTransferLockWithContext(ctx aws.Context, input *DisableDomainTransferLockInput, opts ...request.Option) (*DisableDomainTransferLockOutput, error) {
+ req, out := c.DisableDomainTransferLockRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opEnableDomainAutoRenew = "EnableDomainAutoRenew"
// EnableDomainAutoRenewRequest generates a "aws/request.Request" representing the
// client's request for the EnableDomainAutoRenew operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the EnableDomainAutoRenew method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See EnableDomainAutoRenew for more information on using the EnableDomainAutoRenew
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the EnableDomainAutoRenewRequest method.
// req, resp := client.EnableDomainAutoRenewRequest(params)
@@ -239,6 +482,7 @@ const opEnableDomainAutoRenew = "EnableDomainAutoRenew"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/EnableDomainAutoRenew
func (c *Route53Domains) EnableDomainAutoRenewRequest(input *EnableDomainAutoRenewInput) (req *request.Request, output *EnableDomainAutoRenewOutput) {
op := &request.Operation{
Name: opEnableDomainAutoRenew,
@@ -250,12 +494,13 @@ func (c *Route53Domains) EnableDomainAutoRenewRequest(input *EnableDomainAutoRen
input = &EnableDomainAutoRenewInput{}
}
- req = c.newRequest(op, input, output)
output = &EnableDomainAutoRenewOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// EnableDomainAutoRenew API operation for Amazon Route 53 Domains.
+//
// This operation configures Amazon Route 53 to automatically renew the specified
// domain before the domain registration expires. The cost of renewing your
// domain registration is billed to your AWS account.
@@ -266,27 +511,64 @@ func (c *Route53Domains) EnableDomainAutoRenewRequest(input *EnableDomainAutoRen
// on the website for our registrar partner, Gandi. Route 53 requires that you
// renew before the end of the renewal period that is listed on the Gandi website
// so we can complete processing before the deadline.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation EnableDomainAutoRenew for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// * ErrCodeUnsupportedTLD "UnsupportedTLD"
+// Amazon Route 53 does not support this top-level domain (TLD).
+//
+// * ErrCodeTLDRulesViolation "TLDRulesViolation"
+// The top-level domain does not support this operation.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/EnableDomainAutoRenew
func (c *Route53Domains) EnableDomainAutoRenew(input *EnableDomainAutoRenewInput) (*EnableDomainAutoRenewOutput, error) {
req, out := c.EnableDomainAutoRenewRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// EnableDomainAutoRenewWithContext is the same as EnableDomainAutoRenew with the addition of
+// the ability to pass a context and additional request options.
+//
+// See EnableDomainAutoRenew for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) EnableDomainAutoRenewWithContext(ctx aws.Context, input *EnableDomainAutoRenewInput, opts ...request.Option) (*EnableDomainAutoRenewOutput, error) {
+ req, out := c.EnableDomainAutoRenewRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opEnableDomainTransferLock = "EnableDomainTransferLock"
// EnableDomainTransferLockRequest generates a "aws/request.Request" representing the
// client's request for the EnableDomainTransferLock operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the EnableDomainTransferLock method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See EnableDomainTransferLock for more information on using the EnableDomainTransferLock
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the EnableDomainTransferLockRequest method.
// req, resp := client.EnableDomainTransferLockRequest(params)
@@ -296,6 +578,7 @@ const opEnableDomainTransferLock = "EnableDomainTransferLock"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/EnableDomainTransferLock
func (c *Route53Domains) EnableDomainTransferLockRequest(input *EnableDomainTransferLockInput) (req *request.Request, output *EnableDomainTransferLockOutput) {
op := &request.Operation{
Name: opEnableDomainTransferLock,
@@ -307,38 +590,83 @@ func (c *Route53Domains) EnableDomainTransferLockRequest(input *EnableDomainTran
input = &EnableDomainTransferLockInput{}
}
- req = c.newRequest(op, input, output)
output = &EnableDomainTransferLockOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// EnableDomainTransferLock API operation for Amazon Route 53 Domains.
+//
// This operation sets the transfer lock on the domain (specifically the clientTransferProhibited
// status) to prevent domain transfers. Successful submission returns an operation
// ID that you can use to track the progress and completion of the action. If
// the request is not completed successfully, the domain registrant will be
// notified by email.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation EnableDomainTransferLock for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// * ErrCodeDuplicateRequest "DuplicateRequest"
+// The request is already in progress for the domain.
+//
+// * ErrCodeTLDRulesViolation "TLDRulesViolation"
+// The top-level domain does not support this operation.
+//
+// * ErrCodeOperationLimitExceeded "OperationLimitExceeded"
+// The number of operations or jobs running exceeded the allowed threshold for
+// the account.
+//
+// * ErrCodeUnsupportedTLD "UnsupportedTLD"
+// Amazon Route 53 does not support this top-level domain (TLD).
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/EnableDomainTransferLock
func (c *Route53Domains) EnableDomainTransferLock(input *EnableDomainTransferLockInput) (*EnableDomainTransferLockOutput, error) {
req, out := c.EnableDomainTransferLockRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// EnableDomainTransferLockWithContext is the same as EnableDomainTransferLock with the addition of
+// the ability to pass a context and additional request options.
+//
+// See EnableDomainTransferLock for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) EnableDomainTransferLockWithContext(ctx aws.Context, input *EnableDomainTransferLockInput, opts ...request.Option) (*EnableDomainTransferLockOutput, error) {
+ req, out := c.EnableDomainTransferLockRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetContactReachabilityStatus = "GetContactReachabilityStatus"
// GetContactReachabilityStatusRequest generates a "aws/request.Request" representing the
// client's request for the GetContactReachabilityStatus operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetContactReachabilityStatus method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetContactReachabilityStatus for more information on using the GetContactReachabilityStatus
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetContactReachabilityStatusRequest method.
// req, resp := client.GetContactReachabilityStatusRequest(params)
@@ -348,6 +676,7 @@ const opGetContactReachabilityStatus = "GetContactReachabilityStatus"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetContactReachabilityStatus
func (c *Route53Domains) GetContactReachabilityStatusRequest(input *GetContactReachabilityStatusInput) (req *request.Request, output *GetContactReachabilityStatusOutput) {
op := &request.Operation{
Name: opGetContactReachabilityStatus,
@@ -359,39 +688,78 @@ func (c *Route53Domains) GetContactReachabilityStatusRequest(input *GetContactRe
input = &GetContactReachabilityStatusInput{}
}
- req = c.newRequest(op, input, output)
output = &GetContactReachabilityStatusOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// GetContactReachabilityStatus API operation for Amazon Route 53 Domains.
+//
// For operations that require confirmation that the email address for the registrant
// contact is valid, such as registering a new domain, this operation returns
// information about whether the registrant contact has responded.
//
// If you want us to resend the email, use the ResendContactReachabilityEmail
// operation.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation GetContactReachabilityStatus for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// * ErrCodeOperationLimitExceeded "OperationLimitExceeded"
+// The number of operations or jobs running exceeded the allowed threshold for
+// the account.
+//
+// * ErrCodeUnsupportedTLD "UnsupportedTLD"
+// Amazon Route 53 does not support this top-level domain (TLD).
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetContactReachabilityStatus
func (c *Route53Domains) GetContactReachabilityStatus(input *GetContactReachabilityStatusInput) (*GetContactReachabilityStatusOutput, error) {
req, out := c.GetContactReachabilityStatusRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetContactReachabilityStatusWithContext is the same as GetContactReachabilityStatus with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetContactReachabilityStatus for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) GetContactReachabilityStatusWithContext(ctx aws.Context, input *GetContactReachabilityStatusInput, opts ...request.Option) (*GetContactReachabilityStatusOutput, error) {
+ req, out := c.GetContactReachabilityStatusRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetDomainDetail = "GetDomainDetail"
// GetDomainDetailRequest generates a "aws/request.Request" representing the
// client's request for the GetDomainDetail operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetDomainDetail method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetDomainDetail for more information on using the GetDomainDetail
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetDomainDetailRequest method.
// req, resp := client.GetDomainDetailRequest(params)
@@ -401,6 +769,7 @@ const opGetDomainDetail = "GetDomainDetail"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetDomainDetail
func (c *Route53Domains) GetDomainDetailRequest(input *GetDomainDetailInput) (req *request.Request, output *GetDomainDetailOutput) {
op := &request.Operation{
Name: opGetDomainDetail,
@@ -412,35 +781,71 @@ func (c *Route53Domains) GetDomainDetailRequest(input *GetDomainDetailInput) (re
input = &GetDomainDetailInput{}
}
- req = c.newRequest(op, input, output)
output = &GetDomainDetailOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// This operation returns detailed information about the domain. The domain's
-// contact information is also returned as part of the output.
+// GetDomainDetail API operation for Amazon Route 53 Domains.
+//
+// This operation returns detailed information about a specified domain that
+// is associated with the current AWS account. Contact information for the domain
+// is also returned as part of the output.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation GetDomainDetail for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// * ErrCodeUnsupportedTLD "UnsupportedTLD"
+// Amazon Route 53 does not support this top-level domain (TLD).
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetDomainDetail
func (c *Route53Domains) GetDomainDetail(input *GetDomainDetailInput) (*GetDomainDetailOutput, error) {
req, out := c.GetDomainDetailRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetDomainDetailWithContext is the same as GetDomainDetail with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetDomainDetail for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) GetDomainDetailWithContext(ctx aws.Context, input *GetDomainDetailInput, opts ...request.Option) (*GetDomainDetailOutput, error) {
+ req, out := c.GetDomainDetailRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetDomainSuggestions = "GetDomainSuggestions"
// GetDomainSuggestionsRequest generates a "aws/request.Request" representing the
// client's request for the GetDomainSuggestions operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetDomainSuggestions method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetDomainSuggestions for more information on using the GetDomainSuggestions
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetDomainSuggestionsRequest method.
// req, resp := client.GetDomainSuggestionsRequest(params)
@@ -450,6 +855,7 @@ const opGetDomainSuggestions = "GetDomainSuggestions"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetDomainSuggestions
func (c *Route53Domains) GetDomainSuggestionsRequest(input *GetDomainSuggestionsInput) (req *request.Request, output *GetDomainSuggestionsOutput) {
op := &request.Operation{
Name: opGetDomainSuggestions,
@@ -461,45 +867,71 @@ func (c *Route53Domains) GetDomainSuggestionsRequest(input *GetDomainSuggestions
input = &GetDomainSuggestionsInput{}
}
- req = c.newRequest(op, input, output)
output = &GetDomainSuggestionsOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// GetDomainSuggestions API operation for Amazon Route 53 Domains.
+//
// The GetDomainSuggestions operation returns a list of suggested domain names
// given a string, which can either be a domain name or simply a word or phrase
// (without spaces).
//
-// Parameters: DomainName (string): The basis for your domain suggestion search,
-// a string with (or without) top-level domain specified. SuggestionCount (int):
-// The number of domain suggestions to be returned, maximum 50, minimum 1. OnlyAvailable
-// (bool): If true, availability check will be performed on suggestion results,
-// and only available domains will be returned. If false, suggestions will be
-// returned without checking whether the domain is actually available, and caller
-// will have to call checkDomainAvailability for each suggestion to determine
-// availability for registration.
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation GetDomainSuggestions for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// * ErrCodeUnsupportedTLD "UnsupportedTLD"
+// Amazon Route 53 does not support this top-level domain (TLD).
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetDomainSuggestions
func (c *Route53Domains) GetDomainSuggestions(input *GetDomainSuggestionsInput) (*GetDomainSuggestionsOutput, error) {
req, out := c.GetDomainSuggestionsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetDomainSuggestionsWithContext is the same as GetDomainSuggestions with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetDomainSuggestions for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) GetDomainSuggestionsWithContext(ctx aws.Context, input *GetDomainSuggestionsInput, opts ...request.Option) (*GetDomainSuggestionsOutput, error) {
+ req, out := c.GetDomainSuggestionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetOperationDetail = "GetOperationDetail"
// GetOperationDetailRequest generates a "aws/request.Request" representing the
// client's request for the GetOperationDetail operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetOperationDetail method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetOperationDetail for more information on using the GetOperationDetail
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetOperationDetailRequest method.
// req, resp := client.GetOperationDetailRequest(params)
@@ -509,6 +941,7 @@ const opGetOperationDetail = "GetOperationDetail"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetOperationDetail
func (c *Route53Domains) GetOperationDetailRequest(input *GetOperationDetailInput) (req *request.Request, output *GetOperationDetailOutput) {
op := &request.Operation{
Name: opGetOperationDetail,
@@ -520,34 +953,66 @@ func (c *Route53Domains) GetOperationDetailRequest(input *GetOperationDetailInpu
input = &GetOperationDetailInput{}
}
- req = c.newRequest(op, input, output)
output = &GetOperationDetailOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// GetOperationDetail API operation for Amazon Route 53 Domains.
+//
// This operation returns the current status of an operation that is not completed.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation GetOperationDetail for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetOperationDetail
func (c *Route53Domains) GetOperationDetail(input *GetOperationDetailInput) (*GetOperationDetailOutput, error) {
req, out := c.GetOperationDetailRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetOperationDetailWithContext is the same as GetOperationDetail with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetOperationDetail for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) GetOperationDetailWithContext(ctx aws.Context, input *GetOperationDetailInput, opts ...request.Option) (*GetOperationDetailOutput, error) {
+ req, out := c.GetOperationDetailRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opListDomains = "ListDomains"
// ListDomainsRequest generates a "aws/request.Request" representing the
// client's request for the ListDomains operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListDomains method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListDomains for more information on using the ListDomains
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListDomainsRequest method.
// req, resp := client.ListDomainsRequest(params)
@@ -557,6 +1022,7 @@ const opListDomains = "ListDomains"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ListDomains
func (c *Route53Domains) ListDomainsRequest(input *ListDomainsInput) (req *request.Request, output *ListDomainsOutput) {
op := &request.Operation{
Name: opListDomains,
@@ -574,18 +1040,49 @@ func (c *Route53Domains) ListDomainsRequest(input *ListDomainsInput) (req *reque
input = &ListDomainsInput{}
}
- req = c.newRequest(op, input, output)
output = &ListDomainsOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// ListDomains API operation for Amazon Route 53 Domains.
+//
// This operation returns all the domain names registered with Amazon Route
// 53 for the current AWS account.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation ListDomains for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ListDomains
func (c *Route53Domains) ListDomains(input *ListDomainsInput) (*ListDomainsOutput, error) {
req, out := c.ListDomainsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListDomainsWithContext is the same as ListDomains with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListDomains for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) ListDomainsWithContext(ctx aws.Context, input *ListDomainsInput, opts ...request.Option) (*ListDomainsOutput, error) {
+ req, out := c.ListDomainsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// ListDomainsPages iterates over the pages of a ListDomains operation,
@@ -605,29 +1102,55 @@ func (c *Route53Domains) ListDomains(input *ListDomainsInput) (*ListDomainsOutpu
// return pageNum <= 3
// })
//
-func (c *Route53Domains) ListDomainsPages(input *ListDomainsInput, fn func(p *ListDomainsOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListDomainsRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListDomainsOutput), lastPage)
- })
+func (c *Route53Domains) ListDomainsPages(input *ListDomainsInput, fn func(*ListDomainsOutput, bool) bool) error {
+ return c.ListDomainsPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// ListDomainsPagesWithContext same as ListDomainsPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) ListDomainsPagesWithContext(ctx aws.Context, input *ListDomainsInput, fn func(*ListDomainsOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *ListDomainsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.ListDomainsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*ListDomainsOutput), !p.HasNextPage())
+ }
+ return p.Err()
}
const opListOperations = "ListOperations"
// ListOperationsRequest generates a "aws/request.Request" representing the
// client's request for the ListOperations operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListOperations method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListOperations for more information on using the ListOperations
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListOperationsRequest method.
// req, resp := client.ListOperationsRequest(params)
@@ -637,6 +1160,7 @@ const opListOperations = "ListOperations"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ListOperations
func (c *Route53Domains) ListOperationsRequest(input *ListOperationsInput) (req *request.Request, output *ListOperationsOutput) {
op := &request.Operation{
Name: opListOperations,
@@ -654,17 +1178,48 @@ func (c *Route53Domains) ListOperationsRequest(input *ListOperationsInput) (req
input = &ListOperationsInput{}
}
- req = c.newRequest(op, input, output)
output = &ListOperationsOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// ListOperations API operation for Amazon Route 53 Domains.
+//
// This operation returns the operation IDs of operations that are not yet complete.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation ListOperations for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ListOperations
func (c *Route53Domains) ListOperations(input *ListOperationsInput) (*ListOperationsOutput, error) {
req, out := c.ListOperationsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListOperationsWithContext is the same as ListOperations with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListOperations for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) ListOperationsWithContext(ctx aws.Context, input *ListOperationsInput, opts ...request.Option) (*ListOperationsOutput, error) {
+ req, out := c.ListOperationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// ListOperationsPages iterates over the pages of a ListOperations operation,
@@ -684,29 +1239,55 @@ func (c *Route53Domains) ListOperations(input *ListOperationsInput) (*ListOperat
// return pageNum <= 3
// })
//
-func (c *Route53Domains) ListOperationsPages(input *ListOperationsInput, fn func(p *ListOperationsOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListOperationsRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListOperationsOutput), lastPage)
- })
+func (c *Route53Domains) ListOperationsPages(input *ListOperationsInput, fn func(*ListOperationsOutput, bool) bool) error {
+ return c.ListOperationsPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// ListOperationsPagesWithContext same as ListOperationsPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) ListOperationsPagesWithContext(ctx aws.Context, input *ListOperationsInput, fn func(*ListOperationsOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *ListOperationsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.ListOperationsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*ListOperationsOutput), !p.HasNextPage())
+ }
+ return p.Err()
}
const opListTagsForDomain = "ListTagsForDomain"
// ListTagsForDomainRequest generates a "aws/request.Request" representing the
// client's request for the ListTagsForDomain operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListTagsForDomain method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListTagsForDomain for more information on using the ListTagsForDomain
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListTagsForDomainRequest method.
// req, resp := client.ListTagsForDomainRequest(params)
@@ -716,6 +1297,7 @@ const opListTagsForDomain = "ListTagsForDomain"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ListTagsForDomain
func (c *Route53Domains) ListTagsForDomainRequest(input *ListTagsForDomainInput) (req *request.Request, output *ListTagsForDomainOutput) {
op := &request.Operation{
Name: opListTagsForDomain,
@@ -727,38 +1309,77 @@ func (c *Route53Domains) ListTagsForDomainRequest(input *ListTagsForDomainInput)
input = &ListTagsForDomainInput{}
}
- req = c.newRequest(op, input, output)
output = &ListTagsForDomainOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// ListTagsForDomain API operation for Amazon Route 53 Domains.
+//
// This operation returns all of the tags that are associated with the specified
// domain.
//
-// All tag operations are eventually consistent; subsequent operations may
+// All tag operations are eventually consistent; subsequent operations might
// not immediately represent all issued operations.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation ListTagsForDomain for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// * ErrCodeOperationLimitExceeded "OperationLimitExceeded"
+// The number of operations or jobs running exceeded the allowed threshold for
+// the account.
+//
+// * ErrCodeUnsupportedTLD "UnsupportedTLD"
+// Amazon Route 53 does not support this top-level domain (TLD).
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ListTagsForDomain
func (c *Route53Domains) ListTagsForDomain(input *ListTagsForDomainInput) (*ListTagsForDomainOutput, error) {
req, out := c.ListTagsForDomainRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListTagsForDomainWithContext is the same as ListTagsForDomain with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListTagsForDomain for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) ListTagsForDomainWithContext(ctx aws.Context, input *ListTagsForDomainInput, opts ...request.Option) (*ListTagsForDomainOutput, error) {
+ req, out := c.ListTagsForDomainRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opRegisterDomain = "RegisterDomain"
// RegisterDomainRequest generates a "aws/request.Request" representing the
// client's request for the RegisterDomain operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the RegisterDomain method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See RegisterDomain for more information on using the RegisterDomain
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the RegisterDomainRequest method.
// req, resp := client.RegisterDomainRequest(params)
@@ -768,6 +1389,7 @@ const opRegisterDomain = "RegisterDomain"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/RegisterDomain
func (c *Route53Domains) RegisterDomainRequest(input *RegisterDomainInput) (req *request.Request, output *RegisterDomainOutput) {
op := &request.Operation{
Name: opRegisterDomain,
@@ -779,52 +1401,106 @@ func (c *Route53Domains) RegisterDomainRequest(input *RegisterDomainInput) (req
input = &RegisterDomainInput{}
}
- req = c.newRequest(op, input, output)
output = &RegisterDomainOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// RegisterDomain API operation for Amazon Route 53 Domains.
+//
// This operation registers a domain. Domains are registered by the AWS registrar
// partner, Gandi. For some top-level domains (TLDs), this operation requires
// extra parameters.
//
// When you register a domain, Amazon Route 53 does the following:
//
-// Creates a Amazon Route 53 hosted zone that has the same name as the domain.
-// Amazon Route 53 assigns four name servers to your hosted zone and automatically
-// updates your domain registration with the names of these name servers. Enables
-// autorenew, so your domain registration will renew automatically each year.
-// We'll notify you in advance of the renewal date so you can choose whether
-// to renew the registration. Optionally enables privacy protection, so WHOIS
-// queries return contact information for our registrar partner, Gandi, instead
-// of the information you entered for registrant, admin, and tech contacts.
-// If registration is successful, returns an operation ID that you can use to
-// track the progress and completion of the action. If the request is not completed
-// successfully, the domain registrant is notified by email. Charges your AWS
-// account an amount based on the top-level domain. For more information, see
-// Amazon Route 53 Pricing (http://aws.amazon.com/route53/pricing/).
+// * Creates a Amazon Route 53 hosted zone that has the same name as the
+// domain. Amazon Route 53 assigns four name servers to your hosted zone
+// and automatically updates your domain registration with the names of these
+// name servers.
+//
+// * Enables autorenew, so your domain registration will renew automatically
+// each year. We'll notify you in advance of the renewal date so you can
+// choose whether to renew the registration.
+//
+// * Optionally enables privacy protection, so WHOIS queries return contact
+// information for our registrar partner, Gandi, instead of the information
+// you entered for registrant, admin, and tech contacts.
+//
+// * If registration is successful, returns an operation ID that you can
+// use to track the progress and completion of the action. If the request
+// is not completed successfully, the domain registrant is notified by email.
+//
+// * Charges your AWS account an amount based on the top-level domain. For
+// more information, see Amazon Route 53 Pricing (http://aws.amazon.com/route53/pricing/).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation RegisterDomain for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// * ErrCodeUnsupportedTLD "UnsupportedTLD"
+// Amazon Route 53 does not support this top-level domain (TLD).
+//
+// * ErrCodeDuplicateRequest "DuplicateRequest"
+// The request is already in progress for the domain.
+//
+// * ErrCodeTLDRulesViolation "TLDRulesViolation"
+// The top-level domain does not support this operation.
+//
+// * ErrCodeDomainLimitExceeded "DomainLimitExceeded"
+// The number of domains has exceeded the allowed threshold for the account.
+//
+// * ErrCodeOperationLimitExceeded "OperationLimitExceeded"
+// The number of operations or jobs running exceeded the allowed threshold for
+// the account.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/RegisterDomain
func (c *Route53Domains) RegisterDomain(input *RegisterDomainInput) (*RegisterDomainOutput, error) {
req, out := c.RegisterDomainRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// RegisterDomainWithContext is the same as RegisterDomain with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RegisterDomain for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) RegisterDomainWithContext(ctx aws.Context, input *RegisterDomainInput, opts ...request.Option) (*RegisterDomainOutput, error) {
+ req, out := c.RegisterDomainRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opRenewDomain = "RenewDomain"
// RenewDomainRequest generates a "aws/request.Request" representing the
// client's request for the RenewDomain operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the RenewDomain method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See RenewDomain for more information on using the RenewDomain
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the RenewDomainRequest method.
// req, resp := client.RenewDomainRequest(params)
@@ -834,6 +1510,7 @@ const opRenewDomain = "RenewDomain"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/RenewDomain
func (c *Route53Domains) RenewDomainRequest(input *RenewDomainInput) (req *request.Request, output *RenewDomainOutput) {
op := &request.Operation{
Name: opRenewDomain,
@@ -845,41 +1522,86 @@ func (c *Route53Domains) RenewDomainRequest(input *RenewDomainInput) (req *reque
input = &RenewDomainInput{}
}
- req = c.newRequest(op, input, output)
output = &RenewDomainOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// RenewDomain API operation for Amazon Route 53 Domains.
+//
// This operation renews a domain for the specified number of years. The cost
// of renewing your domain is billed to your AWS account.
//
// We recommend that you renew your domain several weeks before the expiration
// date. Some TLD registries delete domains before the expiration date if you
// haven't renewed far enough in advance. For more information about renewing
-// domain registration, see Renewing Registration for a Domain (http://docs.aws.amazon.com/console/route53/domain-renew)
-// in the Amazon Route 53 documentation.
+// domain registration, see Renewing Registration for a Domain (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-renew.html)
+// in the Amazon Route 53 Developer Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation RenewDomain for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// * ErrCodeUnsupportedTLD "UnsupportedTLD"
+// Amazon Route 53 does not support this top-level domain (TLD).
+//
+// * ErrCodeDuplicateRequest "DuplicateRequest"
+// The request is already in progress for the domain.
+//
+// * ErrCodeTLDRulesViolation "TLDRulesViolation"
+// The top-level domain does not support this operation.
+//
+// * ErrCodeOperationLimitExceeded "OperationLimitExceeded"
+// The number of operations or jobs running exceeded the allowed threshold for
+// the account.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/RenewDomain
func (c *Route53Domains) RenewDomain(input *RenewDomainInput) (*RenewDomainOutput, error) {
req, out := c.RenewDomainRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// RenewDomainWithContext is the same as RenewDomain with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RenewDomain for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) RenewDomainWithContext(ctx aws.Context, input *RenewDomainInput, opts ...request.Option) (*RenewDomainOutput, error) {
+ req, out := c.RenewDomainRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opResendContactReachabilityEmail = "ResendContactReachabilityEmail"
// ResendContactReachabilityEmailRequest generates a "aws/request.Request" representing the
// client's request for the ResendContactReachabilityEmail operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ResendContactReachabilityEmail method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ResendContactReachabilityEmail for more information on using the ResendContactReachabilityEmail
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ResendContactReachabilityEmailRequest method.
// req, resp := client.ResendContactReachabilityEmailRequest(params)
@@ -889,6 +1611,7 @@ const opResendContactReachabilityEmail = "ResendContactReachabilityEmail"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ResendContactReachabilityEmail
func (c *Route53Domains) ResendContactReachabilityEmailRequest(input *ResendContactReachabilityEmailInput) (req *request.Request, output *ResendContactReachabilityEmailOutput) {
op := &request.Operation{
Name: opResendContactReachabilityEmail,
@@ -900,36 +1623,75 @@ func (c *Route53Domains) ResendContactReachabilityEmailRequest(input *ResendCont
input = &ResendContactReachabilityEmailInput{}
}
- req = c.newRequest(op, input, output)
output = &ResendContactReachabilityEmailOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// ResendContactReachabilityEmail API operation for Amazon Route 53 Domains.
+//
// For operations that require confirmation that the email address for the registrant
// contact is valid, such as registering a new domain, this operation resends
// the confirmation email to the current email address for the registrant contact.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation ResendContactReachabilityEmail for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// * ErrCodeOperationLimitExceeded "OperationLimitExceeded"
+// The number of operations or jobs running exceeded the allowed threshold for
+// the account.
+//
+// * ErrCodeUnsupportedTLD "UnsupportedTLD"
+// Amazon Route 53 does not support this top-level domain (TLD).
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ResendContactReachabilityEmail
func (c *Route53Domains) ResendContactReachabilityEmail(input *ResendContactReachabilityEmailInput) (*ResendContactReachabilityEmailOutput, error) {
req, out := c.ResendContactReachabilityEmailRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ResendContactReachabilityEmailWithContext is the same as ResendContactReachabilityEmail with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ResendContactReachabilityEmail for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) ResendContactReachabilityEmailWithContext(ctx aws.Context, input *ResendContactReachabilityEmailInput, opts ...request.Option) (*ResendContactReachabilityEmailOutput, error) {
+ req, out := c.ResendContactReachabilityEmailRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opRetrieveDomainAuthCode = "RetrieveDomainAuthCode"
// RetrieveDomainAuthCodeRequest generates a "aws/request.Request" representing the
// client's request for the RetrieveDomainAuthCode operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the RetrieveDomainAuthCode method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See RetrieveDomainAuthCode for more information on using the RetrieveDomainAuthCode
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the RetrieveDomainAuthCodeRequest method.
// req, resp := client.RetrieveDomainAuthCodeRequest(params)
@@ -939,6 +1701,7 @@ const opRetrieveDomainAuthCode = "RetrieveDomainAuthCode"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/RetrieveDomainAuthCode
func (c *Route53Domains) RetrieveDomainAuthCodeRequest(input *RetrieveDomainAuthCodeInput) (req *request.Request, output *RetrieveDomainAuthCodeOutput) {
op := &request.Operation{
Name: opRetrieveDomainAuthCode,
@@ -950,35 +1713,70 @@ func (c *Route53Domains) RetrieveDomainAuthCodeRequest(input *RetrieveDomainAuth
input = &RetrieveDomainAuthCodeInput{}
}
- req = c.newRequest(op, input, output)
output = &RetrieveDomainAuthCodeOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// RetrieveDomainAuthCode API operation for Amazon Route 53 Domains.
+//
// This operation returns the AuthCode for the domain. To transfer a domain
// to another registrar, you provide this value to the new registrar.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation RetrieveDomainAuthCode for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// * ErrCodeUnsupportedTLD "UnsupportedTLD"
+// Amazon Route 53 does not support this top-level domain (TLD).
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/RetrieveDomainAuthCode
func (c *Route53Domains) RetrieveDomainAuthCode(input *RetrieveDomainAuthCodeInput) (*RetrieveDomainAuthCodeOutput, error) {
req, out := c.RetrieveDomainAuthCodeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// RetrieveDomainAuthCodeWithContext is the same as RetrieveDomainAuthCode with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RetrieveDomainAuthCode for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) RetrieveDomainAuthCodeWithContext(ctx aws.Context, input *RetrieveDomainAuthCodeInput, opts ...request.Option) (*RetrieveDomainAuthCodeOutput, error) {
+ req, out := c.RetrieveDomainAuthCodeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opTransferDomain = "TransferDomain"
// TransferDomainRequest generates a "aws/request.Request" representing the
// client's request for the TransferDomain operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the TransferDomain method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See TransferDomain for more information on using the TransferDomain
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the TransferDomainRequest method.
// req, resp := client.TransferDomainRequest(params)
@@ -988,6 +1786,7 @@ const opTransferDomain = "TransferDomain"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/TransferDomain
func (c *Route53Domains) TransferDomainRequest(input *TransferDomainInput) (req *request.Request, output *TransferDomainOutput) {
op := &request.Operation{
Name: opTransferDomain,
@@ -999,12 +1798,13 @@ func (c *Route53Domains) TransferDomainRequest(input *TransferDomainInput) (req
input = &TransferDomainInput{}
}
- req = c.newRequest(op, input, output)
output = &TransferDomainOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// TransferDomain API operation for Amazon Route 53 Domains.
+//
// This operation transfers a domain from another registrar to Amazon Route
// 53. When the transfer is complete, the domain is registered with the AWS
// registrar partner, Gandi.
@@ -1022,34 +1822,82 @@ func (c *Route53Domains) TransferDomainRequest(input *TransferDomainInput) (req
// will not renew your domain registration and could end your DNS service at
// any time.
//
-// Caution! If the registrar for your domain is also the DNS service provider
-// for the domain and you don't transfer DNS service to another provider, your
-// website, email, and the web applications associated with the domain might
-// become unavailable. If the transfer is successful, this method returns an
-// operation ID that you can use to track the progress and completion of the
-// action. If the transfer doesn't complete successfully, the domain registrant
-// will be notified by email.
+// If the registrar for your domain is also the DNS service provider for the
+// domain and you don't transfer DNS service to another provider, your website,
+// email, and the web applications associated with the domain might become unavailable.
+//
+// If the transfer is successful, this method returns an operation ID that you
+// can use to track the progress and completion of the action. If the transfer
+// doesn't complete successfully, the domain registrant will be notified by
+// email.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation TransferDomain for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// * ErrCodeUnsupportedTLD "UnsupportedTLD"
+// Amazon Route 53 does not support this top-level domain (TLD).
+//
+// * ErrCodeDuplicateRequest "DuplicateRequest"
+// The request is already in progress for the domain.
+//
+// * ErrCodeTLDRulesViolation "TLDRulesViolation"
+// The top-level domain does not support this operation.
+//
+// * ErrCodeDomainLimitExceeded "DomainLimitExceeded"
+// The number of domains has exceeded the allowed threshold for the account.
+//
+// * ErrCodeOperationLimitExceeded "OperationLimitExceeded"
+// The number of operations or jobs running exceeded the allowed threshold for
+// the account.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/TransferDomain
func (c *Route53Domains) TransferDomain(input *TransferDomainInput) (*TransferDomainOutput, error) {
req, out := c.TransferDomainRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// TransferDomainWithContext is the same as TransferDomain with the addition of
+// the ability to pass a context and additional request options.
+//
+// See TransferDomain for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) TransferDomainWithContext(ctx aws.Context, input *TransferDomainInput, opts ...request.Option) (*TransferDomainOutput, error) {
+ req, out := c.TransferDomainRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opUpdateDomainContact = "UpdateDomainContact"
// UpdateDomainContactRequest generates a "aws/request.Request" representing the
// client's request for the UpdateDomainContact operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the UpdateDomainContact method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See UpdateDomainContact for more information on using the UpdateDomainContact
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the UpdateDomainContactRequest method.
// req, resp := client.UpdateDomainContactRequest(params)
@@ -1059,6 +1907,7 @@ const opUpdateDomainContact = "UpdateDomainContact"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateDomainContact
func (c *Route53Domains) UpdateDomainContactRequest(input *UpdateDomainContactInput) (req *request.Request, output *UpdateDomainContactOutput) {
op := &request.Operation{
Name: opUpdateDomainContact,
@@ -1070,12 +1919,13 @@ func (c *Route53Domains) UpdateDomainContactRequest(input *UpdateDomainContactIn
input = &UpdateDomainContactInput{}
}
- req = c.newRequest(op, input, output)
output = &UpdateDomainContactOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// UpdateDomainContact API operation for Amazon Route 53 Domains.
+//
// This operation updates the contact information for a particular domain. Information
// for at least one contact (registrant, administrator, or technical) must be
// supplied for update.
@@ -1084,27 +1934,71 @@ func (c *Route53Domains) UpdateDomainContactRequest(input *UpdateDomainContactIn
// can use to track the progress and completion of the action. If the request
// is not completed successfully, the domain registrant will be notified by
// email.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation UpdateDomainContact for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// * ErrCodeDuplicateRequest "DuplicateRequest"
+// The request is already in progress for the domain.
+//
+// * ErrCodeTLDRulesViolation "TLDRulesViolation"
+// The top-level domain does not support this operation.
+//
+// * ErrCodeOperationLimitExceeded "OperationLimitExceeded"
+// The number of operations or jobs running exceeded the allowed threshold for
+// the account.
+//
+// * ErrCodeUnsupportedTLD "UnsupportedTLD"
+// Amazon Route 53 does not support this top-level domain (TLD).
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateDomainContact
func (c *Route53Domains) UpdateDomainContact(input *UpdateDomainContactInput) (*UpdateDomainContactOutput, error) {
req, out := c.UpdateDomainContactRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// UpdateDomainContactWithContext is the same as UpdateDomainContact with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UpdateDomainContact for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) UpdateDomainContactWithContext(ctx aws.Context, input *UpdateDomainContactInput, opts ...request.Option) (*UpdateDomainContactOutput, error) {
+ req, out := c.UpdateDomainContactRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opUpdateDomainContactPrivacy = "UpdateDomainContactPrivacy"
// UpdateDomainContactPrivacyRequest generates a "aws/request.Request" representing the
// client's request for the UpdateDomainContactPrivacy operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the UpdateDomainContactPrivacy method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See UpdateDomainContactPrivacy for more information on using the UpdateDomainContactPrivacy
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the UpdateDomainContactPrivacyRequest method.
// req, resp := client.UpdateDomainContactPrivacyRequest(params)
@@ -1114,6 +2008,7 @@ const opUpdateDomainContactPrivacy = "UpdateDomainContactPrivacy"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateDomainContactPrivacy
func (c *Route53Domains) UpdateDomainContactPrivacyRequest(input *UpdateDomainContactPrivacyInput) (req *request.Request, output *UpdateDomainContactPrivacyOutput) {
op := &request.Operation{
Name: opUpdateDomainContactPrivacy,
@@ -1125,44 +2020,89 @@ func (c *Route53Domains) UpdateDomainContactPrivacyRequest(input *UpdateDomainCo
input = &UpdateDomainContactPrivacyInput{}
}
- req = c.newRequest(op, input, output)
output = &UpdateDomainContactPrivacyOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// UpdateDomainContactPrivacy API operation for Amazon Route 53 Domains.
+//
// This operation updates the specified domain contact's privacy setting. When
// the privacy option is enabled, personal information such as postal or email
// address is hidden from the results of a public WHOIS query. The privacy services
// are provided by the AWS registrar, Gandi. For more information, see the Gandi
-// privacy features (http://www.gandi.net/domain/whois/?currency=USD&lang=en).
+// privacy features (http://www.gandi.net/domain/whois/?currency=USD&lang=en).
//
// This operation only affects the privacy of the specified contact type (registrant,
// administrator, or tech). Successful acceptance returns an operation ID that
// you can use with GetOperationDetail to track the progress and completion
// of the action. If the request is not completed successfully, the domain registrant
// will be notified by email.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation UpdateDomainContactPrivacy for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// * ErrCodeDuplicateRequest "DuplicateRequest"
+// The request is already in progress for the domain.
+//
+// * ErrCodeTLDRulesViolation "TLDRulesViolation"
+// The top-level domain does not support this operation.
+//
+// * ErrCodeOperationLimitExceeded "OperationLimitExceeded"
+// The number of operations or jobs running exceeded the allowed threshold for
+// the account.
+//
+// * ErrCodeUnsupportedTLD "UnsupportedTLD"
+// Amazon Route 53 does not support this top-level domain (TLD).
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateDomainContactPrivacy
func (c *Route53Domains) UpdateDomainContactPrivacy(input *UpdateDomainContactPrivacyInput) (*UpdateDomainContactPrivacyOutput, error) {
req, out := c.UpdateDomainContactPrivacyRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// UpdateDomainContactPrivacyWithContext is the same as UpdateDomainContactPrivacy with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UpdateDomainContactPrivacy for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) UpdateDomainContactPrivacyWithContext(ctx aws.Context, input *UpdateDomainContactPrivacyInput, opts ...request.Option) (*UpdateDomainContactPrivacyOutput, error) {
+ req, out := c.UpdateDomainContactPrivacyRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opUpdateDomainNameservers = "UpdateDomainNameservers"
// UpdateDomainNameserversRequest generates a "aws/request.Request" representing the
// client's request for the UpdateDomainNameservers operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the UpdateDomainNameservers method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See UpdateDomainNameservers for more information on using the UpdateDomainNameservers
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the UpdateDomainNameserversRequest method.
// req, resp := client.UpdateDomainNameserversRequest(params)
@@ -1172,6 +2112,7 @@ const opUpdateDomainNameservers = "UpdateDomainNameservers"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateDomainNameservers
func (c *Route53Domains) UpdateDomainNameserversRequest(input *UpdateDomainNameserversInput) (req *request.Request, output *UpdateDomainNameserversOutput) {
op := &request.Operation{
Name: opUpdateDomainNameservers,
@@ -1183,12 +2124,13 @@ func (c *Route53Domains) UpdateDomainNameserversRequest(input *UpdateDomainNames
input = &UpdateDomainNameserversInput{}
}
- req = c.newRequest(op, input, output)
output = &UpdateDomainNameserversOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// UpdateDomainNameservers API operation for Amazon Route 53 Domains.
+//
// This operation replaces the current set of name servers for the domain with
// the specified set of name servers. If you use Amazon Route 53 as your DNS
// service, specify the four name servers in the delegation set for the hosted
@@ -1197,27 +2139,71 @@ func (c *Route53Domains) UpdateDomainNameserversRequest(input *UpdateDomainNames
// If successful, this operation returns an operation ID that you can use to
// track the progress and completion of the action. If the request is not completed
// successfully, the domain registrant will be notified by email.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation UpdateDomainNameservers for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// * ErrCodeDuplicateRequest "DuplicateRequest"
+// The request is already in progress for the domain.
+//
+// * ErrCodeTLDRulesViolation "TLDRulesViolation"
+// The top-level domain does not support this operation.
+//
+// * ErrCodeOperationLimitExceeded "OperationLimitExceeded"
+// The number of operations or jobs running exceeded the allowed threshold for
+// the account.
+//
+// * ErrCodeUnsupportedTLD "UnsupportedTLD"
+// Amazon Route 53 does not support this top-level domain (TLD).
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateDomainNameservers
func (c *Route53Domains) UpdateDomainNameservers(input *UpdateDomainNameserversInput) (*UpdateDomainNameserversOutput, error) {
req, out := c.UpdateDomainNameserversRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// UpdateDomainNameserversWithContext is the same as UpdateDomainNameservers with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UpdateDomainNameservers for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) UpdateDomainNameserversWithContext(ctx aws.Context, input *UpdateDomainNameserversInput, opts ...request.Option) (*UpdateDomainNameserversOutput, error) {
+ req, out := c.UpdateDomainNameserversRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opUpdateTagsForDomain = "UpdateTagsForDomain"
// UpdateTagsForDomainRequest generates a "aws/request.Request" representing the
// client's request for the UpdateTagsForDomain operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the UpdateTagsForDomain method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See UpdateTagsForDomain for more information on using the UpdateTagsForDomain
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the UpdateTagsForDomainRequest method.
// req, resp := client.UpdateTagsForDomainRequest(params)
@@ -1227,6 +2213,7 @@ const opUpdateTagsForDomain = "UpdateTagsForDomain"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateTagsForDomain
func (c *Route53Domains) UpdateTagsForDomainRequest(input *UpdateTagsForDomainInput) (req *request.Request, output *UpdateTagsForDomainOutput) {
op := &request.Operation{
Name: opUpdateTagsForDomain,
@@ -1238,37 +2225,76 @@ func (c *Route53Domains) UpdateTagsForDomainRequest(input *UpdateTagsForDomainIn
input = &UpdateTagsForDomainInput{}
}
- req = c.newRequest(op, input, output)
output = &UpdateTagsForDomainOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// UpdateTagsForDomain API operation for Amazon Route 53 Domains.
+//
// This operation adds or updates tags for a specified domain.
//
-// All tag operations are eventually consistent; subsequent operations may
+// All tag operations are eventually consistent; subsequent operations might
// not immediately represent all issued operations.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation UpdateTagsForDomain for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// * ErrCodeOperationLimitExceeded "OperationLimitExceeded"
+// The number of operations or jobs running exceeded the allowed threshold for
+// the account.
+//
+// * ErrCodeUnsupportedTLD "UnsupportedTLD"
+// Amazon Route 53 does not support this top-level domain (TLD).
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateTagsForDomain
func (c *Route53Domains) UpdateTagsForDomain(input *UpdateTagsForDomainInput) (*UpdateTagsForDomainOutput, error) {
req, out := c.UpdateTagsForDomainRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// UpdateTagsForDomainWithContext is the same as UpdateTagsForDomain with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UpdateTagsForDomain for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) UpdateTagsForDomainWithContext(ctx aws.Context, input *UpdateTagsForDomainInput, opts ...request.Option) (*UpdateTagsForDomainOutput, error) {
+ req, out := c.UpdateTagsForDomainRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opViewBilling = "ViewBilling"
// ViewBillingRequest generates a "aws/request.Request" representing the
// client's request for the ViewBilling operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ViewBilling method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ViewBilling for more information on using the ViewBilling
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ViewBillingRequest method.
// req, resp := client.ViewBillingRequest(params)
@@ -1278,6 +2304,7 @@ const opViewBilling = "ViewBilling"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ViewBilling
func (c *Route53Domains) ViewBillingRequest(input *ViewBillingInput) (req *request.Request, output *ViewBillingOutput) {
op := &request.Operation{
Name: opViewBilling,
@@ -1289,49 +2316,74 @@ func (c *Route53Domains) ViewBillingRequest(input *ViewBillingInput) (req *reque
input = &ViewBillingInput{}
}
- req = c.newRequest(op, input, output)
output = &ViewBillingOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
-// This operation returns all the domain-related billing records for the current
-// AWS account for a specified period
+// ViewBilling API operation for Amazon Route 53 Domains.
+//
+// Returns all the domain-related billing records for the current AWS account
+// for a specified period
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Route 53 Domains's
+// API operation ViewBilling for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidInput "InvalidInput"
+// The requested item is not acceptable. For example, for an OperationId it
+// might refer to the ID of an operation that is already completed. For a domain
+// name, it might not be a valid domain name or belong to the requester account.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ViewBilling
func (c *Route53Domains) ViewBilling(input *ViewBillingInput) (*ViewBillingOutput, error) {
req, out := c.ViewBillingRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
}
+// ViewBillingWithContext is the same as ViewBilling with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ViewBilling for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *Route53Domains) ViewBillingWithContext(ctx aws.Context, input *ViewBillingInput, opts ...request.Option) (*ViewBillingOutput, error) {
+ req, out := c.ViewBillingRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// Information for one billing record.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/BillingRecord
type BillingRecord struct {
_ struct{} `type:"structure"`
// The date that the operation was billed, in Unix format.
- //
- // Type: Double
BillDate *time.Time `type:"timestamp" timestampFormat:"unix"`
- // The name of a domain.
- //
- // Type: String
+ // The name of the domain that the billing record applies to. If the domain
+ // name contains characters other than a-z, 0-9, and - (hyphen), such as an
+ // internationalized domain name, then this value is in Punycode. For more information,
+ // see DNS Domain Name Format (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html)
+ // in the Amazon Route 53 Developer Guidezzz.
DomainName *string `type:"string"`
// The ID of the invoice that is associated with the billing record.
- //
- // Type: String
InvoiceId *string `type:"string"`
// The operation that you were charged for.
- //
- // Type: String
- //
- // Valid values: REGISTER_DOMAIN TRANSFER_IN_DOMAIN RENEW_DOMAIN CHANGE_DOMAIN_OWNER
Operation *string `type:"string" enum:"OperationType"`
// The price that you were charged for the operation, in US dollars.
//
- // Type: Double
- //
// Example value: 12.0
Price *float64 `type:"double"`
}
@@ -1346,21 +2398,48 @@ func (s BillingRecord) GoString() string {
return s.String()
}
+// SetBillDate sets the BillDate field's value.
+func (s *BillingRecord) SetBillDate(v time.Time) *BillingRecord {
+ s.BillDate = &v
+ return s
+}
+
+// SetDomainName sets the DomainName field's value.
+func (s *BillingRecord) SetDomainName(v string) *BillingRecord {
+ s.DomainName = &v
+ return s
+}
+
+// SetInvoiceId sets the InvoiceId field's value.
+func (s *BillingRecord) SetInvoiceId(v string) *BillingRecord {
+ s.InvoiceId = &v
+ return s
+}
+
+// SetOperation sets the Operation field's value.
+func (s *BillingRecord) SetOperation(v string) *BillingRecord {
+ s.Operation = &v
+ return s
+}
+
+// SetPrice sets the Price field's value.
+func (s *BillingRecord) SetPrice(v float64) *BillingRecord {
+ s.Price = &v
+ return s
+}
+
// The CheckDomainAvailability request contains the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/CheckDomainAvailabilityRequest
type CheckDomainAvailabilityInput struct {
_ struct{} `type:"structure"`
- // The name of a domain.
- //
- // Type: String
- //
- // Default: None
+ // The name of the domain that you want to get availability for.
//
// Constraints: The domain name can contain only the letters a through z, the
// numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not
// supported.
//
- // Required: Yes
+ // DomainName is a required field
DomainName *string `type:"string" required:"true"`
// Reserved for future use.
@@ -1390,27 +2469,53 @@ func (s *CheckDomainAvailabilityInput) Validate() error {
return nil
}
+// SetDomainName sets the DomainName field's value.
+func (s *CheckDomainAvailabilityInput) SetDomainName(v string) *CheckDomainAvailabilityInput {
+ s.DomainName = &v
+ return s
+}
+
+// SetIdnLangCode sets the IdnLangCode field's value.
+func (s *CheckDomainAvailabilityInput) SetIdnLangCode(v string) *CheckDomainAvailabilityInput {
+ s.IdnLangCode = &v
+ return s
+}
+
// The CheckDomainAvailability response includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/CheckDomainAvailabilityResponse
type CheckDomainAvailabilityOutput struct {
_ struct{} `type:"structure"`
// Whether the domain name is available for registering.
//
- // You can only register domains designated as AVAILABLE.
- //
- // Type: String
+ // You can register only domains designated as AVAILABLE.
//
// Valid values:
//
- // AVAILABLE – The domain name is available. AVAILABLE_RESERVED – The domain
- // name is reserved under specific conditions. AVAILABLE_PREORDER – The domain
- // name is available and can be preordered. UNAVAILABLE – The domain name is
- // not available. UNAVAILABLE_PREMIUM – The domain name is not available. UNAVAILABLE_RESTRICTED
- // – The domain name is forbidden. RESERVED – The domain name has been reserved
- // for another person or organization. DONT_KNOW – The TLD registry didn't reply
- // with a definitive answer about whether the domain name is available. Amazon
- // Route 53 can return this response for a variety of reasons, for example,
- // the registry is performing maintenance. Try again later.
+ // AVAILABLEThe domain name is available.
+ //
+ // AVAILABLE_RESERVEDThe domain name is reserved under specific conditions.
+ //
+ // AVAILABLE_PREORDERThe domain name is available and can be preordered.
+ //
+ // DONT_KNOWThe TLD registry didn't reply with a definitive answer about whether
+ // the domain name is available. Amazon Route 53 can return this response for
+ // a variety of reasons, for example, the registry is performing maintenance.
+ // Try again later.
+ //
+ // PENDINGThe TLD registry didn't return a response in the expected amount of
+ // time. When the response is delayed, it usually takes just a few extra seconds.
+ // You can resubmit the request immediately.
+ //
+ // RESERVEDThe domain name has been reserved for another person or organization.
+ //
+ // UNAVAILABLEThe domain name is not available.
+ //
+ // UNAVAILABLE_PREMIUMThe domain name is not available.
+ //
+ // UNAVAILABLE_RESTRICTEDThe domain name is forbidden.
+ //
+ // Availability is a required field
Availability *string `type:"string" required:"true" enum:"DomainAvailability"`
}
@@ -1424,198 +2529,150 @@ func (s CheckDomainAvailabilityOutput) GoString() string {
return s.String()
}
+// SetAvailability sets the Availability field's value.
+func (s *CheckDomainAvailabilityOutput) SetAvailability(v string) *CheckDomainAvailabilityOutput {
+ s.Availability = &v
+ return s
+}
+
+// The CheckDomainTransferability request contains the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/CheckDomainTransferabilityRequest
+type CheckDomainTransferabilityInput struct {
+ _ struct{} `type:"structure"`
+
+ // If the registrar for the top-level domain (TLD) requires an authorization
+ // code to transfer the domain, the code that you got from the current registrar
+ // for the domain.
+ AuthCode *string `type:"string"`
+
+ // The name of the domain that you want to transfer to Amazon Route 53.
+ //
+ // Constraints: The domain name can contain only the letters a through z, the
+ // numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not
+ // supported.
+ //
+ // DomainName is a required field
+ DomainName *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CheckDomainTransferabilityInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CheckDomainTransferabilityInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CheckDomainTransferabilityInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CheckDomainTransferabilityInput"}
+ if s.DomainName == nil {
+ invalidParams.Add(request.NewErrParamRequired("DomainName"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAuthCode sets the AuthCode field's value.
+func (s *CheckDomainTransferabilityInput) SetAuthCode(v string) *CheckDomainTransferabilityInput {
+ s.AuthCode = &v
+ return s
+}
+
+// SetDomainName sets the DomainName field's value.
+func (s *CheckDomainTransferabilityInput) SetDomainName(v string) *CheckDomainTransferabilityInput {
+ s.DomainName = &v
+ return s
+}
+
+// The CheckDomainTransferability response includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/CheckDomainTransferabilityResponse
+type CheckDomainTransferabilityOutput struct {
+ _ struct{} `type:"structure"`
+
+ // A complex type that contains information about whether the specified domain
+ // can be transferred to Amazon Route 53.
+ //
+ // Transferability is a required field
+ Transferability *DomainTransferability `type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s CheckDomainTransferabilityOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CheckDomainTransferabilityOutput) GoString() string {
+ return s.String()
+}
+
+// SetTransferability sets the Transferability field's value.
+func (s *CheckDomainTransferabilityOutput) SetTransferability(v *DomainTransferability) *CheckDomainTransferabilityOutput {
+ s.Transferability = v
+ return s
+}
+
// ContactDetail includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ContactDetail
type ContactDetail struct {
_ struct{} `type:"structure"`
// First line of the contact's address.
- //
- // Type: String
- //
- // Default: None
- //
- // Constraints: Maximum 255 characters.
- //
- // Parents: RegistrantContact, AdminContact, TechContact
- //
- // Required: Yes
AddressLine1 *string `type:"string"`
// Second line of contact's address, if any.
- //
- // Type: String
- //
- // Default: None
- //
- // Constraints: Maximum 255 characters.
- //
- // Parents: RegistrantContact, AdminContact, TechContact
- //
- // Required: No
AddressLine2 *string `type:"string"`
// The city of the contact's address.
- //
- // Type: String
- //
- // Default: None
- //
- // Constraints: Maximum 255 characters.
- //
- // Parents: RegistrantContact, AdminContact, TechContact
- //
- // Required: Yes
City *string `type:"string"`
// Indicates whether the contact is a person, company, association, or public
// organization. If you choose an option other than PERSON, you must enter an
// organization name, and you can't enable privacy protection for the contact.
- //
- // Type: String
- //
- // Default: None
- //
- // Constraints: Maximum 255 characters.
- //
- // Valid values: PERSON | COMPANY | ASSOCIATION | PUBLIC_BODY
- //
- // Parents: RegistrantContact, AdminContact, TechContact
- //
- // Required: Yes
ContactType *string `type:"string" enum:"ContactType"`
// Code for the country of the contact's address.
- //
- // Type: String
- //
- // Default: None
- //
- // Constraints: Maximum 255 characters.
- //
- // Parents: RegistrantContact, AdminContact, TechContact
- //
- // Required: Yes
CountryCode *string `type:"string" enum:"CountryCode"`
// Email address of the contact.
- //
- // Type: String
- //
- // Default: None
- //
- // Constraints: Maximum 254 characters.
- //
- // Parents: RegistrantContact, AdminContact, TechContact
- //
- // Required: Yes
Email *string `type:"string"`
// A list of name-value pairs for parameters required by certain top-level domains.
- //
- // Type: Complex
- //
- // Default: None
- //
- // Parents: RegistrantContact, AdminContact, TechContact
- //
- // Children: Name, Value
- //
- // Required: No
ExtraParams []*ExtraParam `type:"list"`
// Fax number of the contact.
//
- // Type: String
- //
- // Default: None
- //
// Constraints: Phone number must be specified in the format "+[country dialing
// code].[number including any area code]". For example, a US phone number might
// appear as "+1.1234567890".
- //
- // Parents: RegistrantContact, AdminContact, TechContact
- //
- // Required: No
Fax *string `type:"string"`
// First name of contact.
- //
- // Type: String
- //
- // Default: None
- //
- // Constraints: Maximum 255 characters.
- //
- // Parents: RegistrantContact, AdminContact, TechContact
- //
- // Required: Yes
FirstName *string `type:"string"`
// Last name of contact.
- //
- // Type: String
- //
- // Default: None
- //
- // Constraints: Maximum 255 characters.
- //
- // Parents: RegistrantContact, AdminContact, TechContact
- //
- // Required: Yes
LastName *string `type:"string"`
// Name of the organization for contact types other than PERSON.
- //
- // Type: String
- //
- // Default: None
- //
- // Constraints: Maximum 255 characters. Contact type must not be PERSON.
- //
- // Parents: RegistrantContact, AdminContact, TechContact
- //
- // Required: No
OrganizationName *string `type:"string"`
// The phone number of the contact.
//
- // Type: String
- //
- // Default: None
- //
// Constraints: Phone number must be specified in the format "+[country dialing
// code].[number including any area code>]". For example, a US phone number
// might appear as "+1.1234567890".
- //
- // Parents: RegistrantContact, AdminContact, TechContact
- //
- // Required: Yes
PhoneNumber *string `type:"string"`
// The state or province of the contact's city.
- //
- // Type: String
- //
- // Default: None
- //
- // Constraints: Maximum 255 characters.
- //
- // Parents: RegistrantContact, AdminContact, TechContact
- //
- // Required: No
State *string `type:"string"`
// The zip or postal code of the contact's address.
- //
- // Type: String
- //
- // Default: None
- //
- // Constraints: Maximum 255 characters.
- //
- // Parents: RegistrantContact, AdminContact, TechContact
- //
- // Required: No
ZipCode *string `type:"string"`
}
@@ -1649,36 +2706,103 @@ func (s *ContactDetail) Validate() error {
return nil
}
+// SetAddressLine1 sets the AddressLine1 field's value.
+func (s *ContactDetail) SetAddressLine1(v string) *ContactDetail {
+ s.AddressLine1 = &v
+ return s
+}
+
+// SetAddressLine2 sets the AddressLine2 field's value.
+func (s *ContactDetail) SetAddressLine2(v string) *ContactDetail {
+ s.AddressLine2 = &v
+ return s
+}
+
+// SetCity sets the City field's value.
+func (s *ContactDetail) SetCity(v string) *ContactDetail {
+ s.City = &v
+ return s
+}
+
+// SetContactType sets the ContactType field's value.
+func (s *ContactDetail) SetContactType(v string) *ContactDetail {
+ s.ContactType = &v
+ return s
+}
+
+// SetCountryCode sets the CountryCode field's value.
+func (s *ContactDetail) SetCountryCode(v string) *ContactDetail {
+ s.CountryCode = &v
+ return s
+}
+
+// SetEmail sets the Email field's value.
+func (s *ContactDetail) SetEmail(v string) *ContactDetail {
+ s.Email = &v
+ return s
+}
+
+// SetExtraParams sets the ExtraParams field's value.
+func (s *ContactDetail) SetExtraParams(v []*ExtraParam) *ContactDetail {
+ s.ExtraParams = v
+ return s
+}
+
+// SetFax sets the Fax field's value.
+func (s *ContactDetail) SetFax(v string) *ContactDetail {
+ s.Fax = &v
+ return s
+}
+
+// SetFirstName sets the FirstName field's value.
+func (s *ContactDetail) SetFirstName(v string) *ContactDetail {
+ s.FirstName = &v
+ return s
+}
+
+// SetLastName sets the LastName field's value.
+func (s *ContactDetail) SetLastName(v string) *ContactDetail {
+ s.LastName = &v
+ return s
+}
+
+// SetOrganizationName sets the OrganizationName field's value.
+func (s *ContactDetail) SetOrganizationName(v string) *ContactDetail {
+ s.OrganizationName = &v
+ return s
+}
+
+// SetPhoneNumber sets the PhoneNumber field's value.
+func (s *ContactDetail) SetPhoneNumber(v string) *ContactDetail {
+ s.PhoneNumber = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *ContactDetail) SetState(v string) *ContactDetail {
+ s.State = &v
+ return s
+}
+
+// SetZipCode sets the ZipCode field's value.
+func (s *ContactDetail) SetZipCode(v string) *ContactDetail {
+ s.ZipCode = &v
+ return s
+}
+
// The DeleteTagsForDomainRequest includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/DeleteTagsForDomainRequest
type DeleteTagsForDomainInput struct {
_ struct{} `type:"structure"`
// The domain for which you want to delete one or more tags.
//
- // The name of a domain.
- //
- // Type: String
- //
- // Default: None
- //
- // Constraints: The domain name can contain only the letters a through z, the
- // numbers 0 through 9, and hyphen (-). Hyphens are allowed only when they're
- // surrounded by letters, numbers, or other hyphens. You can't specify a hyphen
- // at the beginning or end of a label. To specify an Internationalized Domain
- // Name, you must convert the name to Punycode.
- //
- // Required: Yes
+ // DomainName is a required field
DomainName *string `type:"string" required:"true"`
// A list of tag keys to delete.
//
- // Type: A list that contains the keys of the tags that you want to delete.
- //
- // Default: None
- //
- // Required: No
- //
- // '>
+ // TagsToDelete is a required field
TagsToDelete []*string `type:"list" required:"true"`
}
@@ -1708,6 +2832,19 @@ func (s *DeleteTagsForDomainInput) Validate() error {
return nil
}
+// SetDomainName sets the DomainName field's value.
+func (s *DeleteTagsForDomainInput) SetDomainName(v string) *DeleteTagsForDomainInput {
+ s.DomainName = &v
+ return s
+}
+
+// SetTagsToDelete sets the TagsToDelete field's value.
+func (s *DeleteTagsForDomainInput) SetTagsToDelete(v []*string) *DeleteTagsForDomainInput {
+ s.TagsToDelete = v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/DeleteTagsForDomainResponse
type DeleteTagsForDomainOutput struct {
_ struct{} `type:"structure"`
}
@@ -1722,9 +2859,13 @@ func (s DeleteTagsForDomainOutput) GoString() string {
return s.String()
}
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/DisableDomainAutoRenewRequest
type DisableDomainAutoRenewInput struct {
_ struct{} `type:"structure"`
+ // The name of the domain that you want to disable automatic renewal for.
+ //
+ // DomainName is a required field
DomainName *string `type:"string" required:"true"`
}
@@ -1751,6 +2892,13 @@ func (s *DisableDomainAutoRenewInput) Validate() error {
return nil
}
+// SetDomainName sets the DomainName field's value.
+func (s *DisableDomainAutoRenewInput) SetDomainName(v string) *DisableDomainAutoRenewInput {
+ s.DomainName = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/DisableDomainAutoRenewResponse
type DisableDomainAutoRenewOutput struct {
_ struct{} `type:"structure"`
}
@@ -1766,20 +2914,13 @@ func (s DisableDomainAutoRenewOutput) GoString() string {
}
// The DisableDomainTransferLock request includes the following element.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/DisableDomainTransferLockRequest
type DisableDomainTransferLockInput struct {
_ struct{} `type:"structure"`
- // The name of a domain.
+ // The name of the domain that you want to remove the transfer lock for.
//
- // Type: String
- //
- // Default: None
- //
- // Constraints: The domain name can contain only the letters a through z, the
- // numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not
- // supported.
- //
- // Required: Yes
+ // DomainName is a required field
DomainName *string `type:"string" required:"true"`
}
@@ -1806,18 +2947,21 @@ func (s *DisableDomainTransferLockInput) Validate() error {
return nil
}
+// SetDomainName sets the DomainName field's value.
+func (s *DisableDomainTransferLockInput) SetDomainName(v string) *DisableDomainTransferLockInput {
+ s.DomainName = &v
+ return s
+}
+
// The DisableDomainTransferLock response includes the following element.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/DisableDomainTransferLockResponse
type DisableDomainTransferLockOutput struct {
_ struct{} `type:"structure"`
// Identifier for tracking the progress of the request. To use this ID to query
// the operation status, use GetOperationDetail.
//
- // Type: String
- //
- // Default: None
- //
- // Constraints: Maximum 255 characters.
+ // OperationId is a required field
OperationId *string `type:"string" required:"true"`
}
@@ -1831,11 +2975,48 @@ func (s DisableDomainTransferLockOutput) GoString() string {
return s.String()
}
+// SetOperationId sets the OperationId field's value.
+func (s *DisableDomainTransferLockOutput) SetOperationId(v string) *DisableDomainTransferLockOutput {
+ s.OperationId = &v
+ return s
+}
+
+// Information about one suggested domain name.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/DomainSuggestion
type DomainSuggestion struct {
_ struct{} `type:"structure"`
+ // Whether the domain name is available for registering.
+ //
+ // You can register only the domains that are designated as AVAILABLE.
+ //
+ // Valid values:
+ //
+ // AVAILABLEThe domain name is available.
+ //
+ // AVAILABLE_RESERVEDThe domain name is reserved under specific conditions.
+ //
+ // AVAILABLE_PREORDERThe domain name is available and can be preordered.
+ //
+ // DONT_KNOWThe TLD registry didn't reply with a definitive answer about whether
+ // the domain name is available. Amazon Route 53 can return this response for
+ // a variety of reasons, for example, the registry is performing maintenance.
+ // Try again later.
+ //
+ // PENDINGThe TLD registry didn't return a response in the expected amount of
+ // time. When the response is delayed, it usually takes just a few extra seconds.
+ // You can resubmit the request immediately.
+ //
+ // RESERVEDThe domain name has been reserved for another person or organization.
+ //
+ // UNAVAILABLEThe domain name is not available.
+ //
+ // UNAVAILABLE_PREMIUMThe domain name is not available.
+ //
+ // UNAVAILABLE_RESTRICTEDThe domain name is forbidden.
Availability *string `type:"string"`
+ // A suggested domain name.
DomainName *string `type:"string"`
}
@@ -1849,32 +3030,36 @@ func (s DomainSuggestion) GoString() string {
return s.String()
}
+// SetAvailability sets the Availability field's value.
+func (s *DomainSuggestion) SetAvailability(v string) *DomainSuggestion {
+ s.Availability = &v
+ return s
+}
+
+// SetDomainName sets the DomainName field's value.
+func (s *DomainSuggestion) SetDomainName(v string) *DomainSuggestion {
+ s.DomainName = &v
+ return s
+}
+
+// Summary information about one domain.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/DomainSummary
type DomainSummary struct {
_ struct{} `type:"structure"`
// Indicates whether the domain is automatically renewed upon expiration.
- //
- // Type: Boolean
- //
- // Valid values: True | False
AutoRenew *bool `type:"boolean"`
- // The name of a domain.
+ // The name of the domain that the summary information applies to.
//
- // Type: String
+ // DomainName is a required field
DomainName *string `type:"string" required:"true"`
// Expiration date of the domain in Coordinated Universal Time (UTC).
- //
- // Type: Long
Expiry *time.Time `type:"timestamp" timestampFormat:"unix"`
// Indicates whether a domain is locked from unauthorized transfer to another
// party.
- //
- // Type: Boolean
- //
- // Valid values: True | False
TransferLock *bool `type:"boolean"`
}
@@ -1888,9 +3073,71 @@ func (s DomainSummary) GoString() string {
return s.String()
}
+// SetAutoRenew sets the AutoRenew field's value.
+func (s *DomainSummary) SetAutoRenew(v bool) *DomainSummary {
+ s.AutoRenew = &v
+ return s
+}
+
+// SetDomainName sets the DomainName field's value.
+func (s *DomainSummary) SetDomainName(v string) *DomainSummary {
+ s.DomainName = &v
+ return s
+}
+
+// SetExpiry sets the Expiry field's value.
+func (s *DomainSummary) SetExpiry(v time.Time) *DomainSummary {
+ s.Expiry = &v
+ return s
+}
+
+// SetTransferLock sets the TransferLock field's value.
+func (s *DomainSummary) SetTransferLock(v bool) *DomainSummary {
+ s.TransferLock = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/DomainTransferability
+type DomainTransferability struct {
+ _ struct{} `type:"structure"`
+
+ // Whether the domain name can be transferred to Amazon Route 53.
+ //
+ // You can transfer only domains that have a value of TRANSFERABLE for Transferable.
+ //
+ // Valid values:
+ //
+ // TRANSFERABLEThe domain name can be transferred to Amazon Route 53.
+ //
+ // UNTRANSFERRABLEThe domain name can't be transferred to Amazon Route 53.
+ //
+ // DONT_KNOWReserved for future use.
+ Transferable *string `type:"string" enum:"Transferable"`
+}
+
+// String returns the string representation
+func (s DomainTransferability) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DomainTransferability) GoString() string {
+ return s.String()
+}
+
+// SetTransferable sets the Transferable field's value.
+func (s *DomainTransferability) SetTransferable(v string) *DomainTransferability {
+ s.Transferable = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/EnableDomainAutoRenewRequest
type EnableDomainAutoRenewInput struct {
_ struct{} `type:"structure"`
+ // The name of the domain that you want to enable automatic renewal for.
+ //
+ // DomainName is a required field
DomainName *string `type:"string" required:"true"`
}
@@ -1917,6 +3164,13 @@ func (s *EnableDomainAutoRenewInput) Validate() error {
return nil
}
+// SetDomainName sets the DomainName field's value.
+func (s *EnableDomainAutoRenewInput) SetDomainName(v string) *EnableDomainAutoRenewInput {
+ s.DomainName = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/EnableDomainAutoRenewResponse
type EnableDomainAutoRenewOutput struct {
_ struct{} `type:"structure"`
}
@@ -1931,21 +3185,14 @@ func (s EnableDomainAutoRenewOutput) GoString() string {
return s.String()
}
-// The EnableDomainTransferLock request includes the following element.
+// A request to set the transfer lock for the specified domain.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/EnableDomainTransferLockRequest
type EnableDomainTransferLockInput struct {
_ struct{} `type:"structure"`
- // The name of a domain.
+ // The name of the domain that you want to set the transfer lock for.
//
- // Type: String
- //
- // Default: None
- //
- // Constraints: The domain name can contain only the letters a through z, the
- // numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not
- // supported.
- //
- // Required: Yes
+ // DomainName is a required field
DomainName *string `type:"string" required:"true"`
}
@@ -1972,18 +3219,21 @@ func (s *EnableDomainTransferLockInput) Validate() error {
return nil
}
+// SetDomainName sets the DomainName field's value.
+func (s *EnableDomainTransferLockInput) SetDomainName(v string) *EnableDomainTransferLockInput {
+ s.DomainName = &v
+ return s
+}
+
// The EnableDomainTransferLock response includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/EnableDomainTransferLockResponse
type EnableDomainTransferLockOutput struct {
_ struct{} `type:"structure"`
// Identifier for tracking the progress of the request. To use this ID to query
// the operation status, use GetOperationDetail.
//
- // Type: String
- //
- // Default: None
- //
- // Constraints: Maximum 255 characters.
+ // OperationId is a required field
OperationId *string `type:"string" required:"true"`
}
@@ -1997,39 +3247,26 @@ func (s EnableDomainTransferLockOutput) GoString() string {
return s.String()
}
+// SetOperationId sets the OperationId field's value.
+func (s *EnableDomainTransferLockOutput) SetOperationId(v string) *EnableDomainTransferLockOutput {
+ s.OperationId = &v
+ return s
+}
+
// ExtraParam includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ExtraParam
type ExtraParam struct {
_ struct{} `type:"structure"`
// Name of the additional parameter required by the top-level domain.
//
- // Type: String
- //
- // Default: None
- //
- // Valid values: DUNS_NUMBER | BRAND_NUMBER | BIRTH_DEPARTMENT | BIRTH_DATE_IN_YYYY_MM_DD
- // | BIRTH_COUNTRY | BIRTH_CITY | DOCUMENT_NUMBER | AU_ID_NUMBER | AU_ID_TYPE
- // | CA_LEGAL_TYPE | CA_BUSINESS_ENTITY_TYPE |ES_IDENTIFICATION | ES_IDENTIFICATION_TYPE
- // | ES_LEGAL_FORM | FI_BUSINESS_NUMBER | FI_ID_NUMBER | IT_PIN | RU_PASSPORT_DATA
- // | SE_ID_NUMBER | SG_ID_NUMBER | VAT_NUMBER
- //
- // Parent: ExtraParams
- //
- // Required: Yes
+ // Name is a required field
Name *string `type:"string" required:"true" enum:"ExtraParamName"`
// Values corresponding to the additional parameter names required by some top-level
// domains.
//
- // Type: String
- //
- // Default: None
- //
- // Constraints: Maximum 2048 characters.
- //
- // Parent: ExtraParams
- //
- // Required: Yes
+ // Value is a required field
Value *string `type:"string" required:"true"`
}
@@ -2059,17 +3296,24 @@ func (s *ExtraParam) Validate() error {
return nil
}
+// SetName sets the Name field's value.
+func (s *ExtraParam) SetName(v string) *ExtraParam {
+ s.Name = &v
+ return s
+}
+
+// SetValue sets the Value field's value.
+func (s *ExtraParam) SetValue(v string) *ExtraParam {
+ s.Value = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetContactReachabilityStatusRequest
type GetContactReachabilityStatusInput struct {
_ struct{} `type:"structure"`
// The name of the domain for which you want to know whether the registrant
// contact has confirmed that the email address is valid.
- //
- // Type: String
- //
- // Default: None
- //
- // Required: Yes
DomainName *string `locationName:"domainName" type:"string"`
}
@@ -2083,21 +3327,26 @@ func (s GetContactReachabilityStatusInput) GoString() string {
return s.String()
}
+// SetDomainName sets the DomainName field's value.
+func (s *GetContactReachabilityStatusInput) SetDomainName(v string) *GetContactReachabilityStatusInput {
+ s.DomainName = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetContactReachabilityStatusResponse
type GetContactReachabilityStatusOutput struct {
_ struct{} `type:"structure"`
// The domain name for which you requested the reachability status.
DomainName *string `locationName:"domainName" type:"string"`
- // Whether the registrant contact has responded. PENDING indicates that we sent
- // the confirmation email and haven't received a response yet, DONE indicates
- // that we sent the email and got confirmation from the registrant contact,
- // and EXPIRED indicates that the time limit expired before the registrant contact
- // responded.
+ // Whether the registrant contact has responded. Values include the following:
//
- // Type: String
+ // PENDINGWe sent the confirmation email and haven't received a response yet.
//
- // Valid values: PENDING, DONE, EXPIRED
+ // DONEWe sent the email and got confirmation from the registrant contact.
+ //
+ // EXPIREDThe time limit expired before the registrant contact responded.
Status *string `locationName:"status" type:"string" enum:"ReachabilityStatus"`
}
@@ -2111,21 +3360,26 @@ func (s GetContactReachabilityStatusOutput) GoString() string {
return s.String()
}
+// SetDomainName sets the DomainName field's value.
+func (s *GetContactReachabilityStatusOutput) SetDomainName(v string) *GetContactReachabilityStatusOutput {
+ s.DomainName = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *GetContactReachabilityStatusOutput) SetStatus(v string) *GetContactReachabilityStatusOutput {
+ s.Status = &v
+ return s
+}
+
// The GetDomainDetail request includes the following element.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetDomainDetailRequest
type GetDomainDetailInput struct {
_ struct{} `type:"structure"`
- // The name of a domain.
+ // The name of the domain that you want to get detailed information about.
//
- // Type: String
- //
- // Default: None
- //
- // Constraints: The domain name can contain only the letters a through z, the
- // numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not
- // supported.
- //
- // Required: Yes
+ // DomainName is a required field
DomainName *string `type:"string" required:"true"`
}
@@ -2152,42 +3406,37 @@ func (s *GetDomainDetailInput) Validate() error {
return nil
}
+// SetDomainName sets the DomainName field's value.
+func (s *GetDomainDetailInput) SetDomainName(v string) *GetDomainDetailInput {
+ s.DomainName = &v
+ return s
+}
+
// The GetDomainDetail response includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetDomainDetailResponse
type GetDomainDetailOutput struct {
_ struct{} `type:"structure"`
// Email address to contact to report incorrect contact information for a domain,
// to report that the domain is being used to send spam, to report that someone
// is cybersquatting on a domain name, or report some other type of abuse.
- //
- // Type: String
AbuseContactEmail *string `type:"string"`
// Phone number for reporting abuse.
- //
- // Type: String
AbuseContactPhone *string `type:"string"`
// Provides details about the domain administrative contact.
//
- // Type: Complex
- //
- // Children: FirstName, MiddleName, LastName, ContactType, OrganizationName,
- // AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber,
- // Email, Fax, ExtraParams
+ // AdminContact is a required field
AdminContact *ContactDetail `type:"structure" required:"true"`
// Specifies whether contact information for the admin contact is concealed
// from WHOIS queries. If the value is true, WHOIS ("who is") queries will return
// contact information for our registrar partner, Gandi, instead of the contact
// information that you enter.
- //
- // Type: Boolean
AdminPrivacy *bool `type:"boolean"`
// Specifies whether the domain registration is set to renew automatically.
- //
- // Type: Boolean
AutoRenew *bool `type:"boolean"`
// The date when the domain was created as found in the response to a WHOIS
@@ -2199,7 +3448,7 @@ type GetDomainDetailOutput struct {
// The name of a domain.
//
- // Type: String
+ // DomainName is a required field
DomainName *string `type:"string" required:"true"`
// The date when the registration for the domain is set to expire. The date
@@ -2208,35 +3457,25 @@ type GetDomainDetailOutput struct {
// The name of the domain.
//
- // Type: String
+ // Nameservers is a required field
Nameservers []*Nameserver `type:"list" required:"true"`
// Provides details about the domain registrant.
//
- // Type: Complex
- //
- // Children: FirstName, MiddleName, LastName, ContactType, OrganizationName,
- // AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber,
- // Email, Fax, ExtraParams
+ // RegistrantContact is a required field
RegistrantContact *ContactDetail `type:"structure" required:"true"`
// Specifies whether contact information for the registrant contact is concealed
// from WHOIS queries. If the value is true, WHOIS ("who is") queries will return
// contact information for our registrar partner, Gandi, instead of the contact
// information that you enter.
- //
- // Type: Boolean
RegistrantPrivacy *bool `type:"boolean"`
// Name of the registrar of the domain as identified in the registry. Amazon
// Route 53 domains are registered by registrar Gandi. The value is "GANDI SAS".
- //
- // Type: String
RegistrarName *string `type:"string"`
// Web address of the registrar.
- //
- // Type: String
RegistrarUrl *string `type:"string"`
// Reserved for future use.
@@ -2244,8 +3483,6 @@ type GetDomainDetailOutput struct {
// Reseller of the domain. Domains registered or transferred using Amazon Route
// 53 domains will have "Amazon" as the reseller.
- //
- // Type: String
Reseller *string `type:"string"`
// An array of domain name status codes, also known as Extensible Provisioning
@@ -2262,25 +3499,17 @@ type GetDomainDetailOutput struct {
// each code means, go to the ICANN website (https://www.icann.org/) and search
// for epp status codes. (Search on the ICANN website; web searches sometimes
// return an old version of the document.)
- //
- // Type: Array of String
StatusList []*string `type:"list"`
// Provides details about the domain technical contact.
//
- // Type: Complex
- //
- // Children: FirstName, MiddleName, LastName, ContactType, OrganizationName,
- // AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber,
- // Email, Fax, ExtraParams
+ // TechContact is a required field
TechContact *ContactDetail `type:"structure" required:"true"`
// Specifies whether contact information for the tech contact is concealed from
// WHOIS queries. If the value is true, WHOIS ("who is") queries will return
// contact information for our registrar partner, Gandi, instead of the contact
// information that you enter.
- //
- // Type: Boolean
TechPrivacy *bool `type:"boolean"`
// The last updated date of the domain as found in the response to a WHOIS query.
@@ -2289,8 +3518,6 @@ type GetDomainDetailOutput struct {
// The fully qualified name of the WHOIS server that can answer the WHOIS query
// for the domain.
- //
- // Type: String
WhoIsServer *string `type:"string"`
}
@@ -2304,13 +3531,157 @@ func (s GetDomainDetailOutput) GoString() string {
return s.String()
}
+// SetAbuseContactEmail sets the AbuseContactEmail field's value.
+func (s *GetDomainDetailOutput) SetAbuseContactEmail(v string) *GetDomainDetailOutput {
+ s.AbuseContactEmail = &v
+ return s
+}
+
+// SetAbuseContactPhone sets the AbuseContactPhone field's value.
+func (s *GetDomainDetailOutput) SetAbuseContactPhone(v string) *GetDomainDetailOutput {
+ s.AbuseContactPhone = &v
+ return s
+}
+
+// SetAdminContact sets the AdminContact field's value.
+func (s *GetDomainDetailOutput) SetAdminContact(v *ContactDetail) *GetDomainDetailOutput {
+ s.AdminContact = v
+ return s
+}
+
+// SetAdminPrivacy sets the AdminPrivacy field's value.
+func (s *GetDomainDetailOutput) SetAdminPrivacy(v bool) *GetDomainDetailOutput {
+ s.AdminPrivacy = &v
+ return s
+}
+
+// SetAutoRenew sets the AutoRenew field's value.
+func (s *GetDomainDetailOutput) SetAutoRenew(v bool) *GetDomainDetailOutput {
+ s.AutoRenew = &v
+ return s
+}
+
+// SetCreationDate sets the CreationDate field's value.
+func (s *GetDomainDetailOutput) SetCreationDate(v time.Time) *GetDomainDetailOutput {
+ s.CreationDate = &v
+ return s
+}
+
+// SetDnsSec sets the DnsSec field's value.
+func (s *GetDomainDetailOutput) SetDnsSec(v string) *GetDomainDetailOutput {
+ s.DnsSec = &v
+ return s
+}
+
+// SetDomainName sets the DomainName field's value.
+func (s *GetDomainDetailOutput) SetDomainName(v string) *GetDomainDetailOutput {
+ s.DomainName = &v
+ return s
+}
+
+// SetExpirationDate sets the ExpirationDate field's value.
+func (s *GetDomainDetailOutput) SetExpirationDate(v time.Time) *GetDomainDetailOutput {
+ s.ExpirationDate = &v
+ return s
+}
+
+// SetNameservers sets the Nameservers field's value.
+func (s *GetDomainDetailOutput) SetNameservers(v []*Nameserver) *GetDomainDetailOutput {
+ s.Nameservers = v
+ return s
+}
+
+// SetRegistrantContact sets the RegistrantContact field's value.
+func (s *GetDomainDetailOutput) SetRegistrantContact(v *ContactDetail) *GetDomainDetailOutput {
+ s.RegistrantContact = v
+ return s
+}
+
+// SetRegistrantPrivacy sets the RegistrantPrivacy field's value.
+func (s *GetDomainDetailOutput) SetRegistrantPrivacy(v bool) *GetDomainDetailOutput {
+ s.RegistrantPrivacy = &v
+ return s
+}
+
+// SetRegistrarName sets the RegistrarName field's value.
+func (s *GetDomainDetailOutput) SetRegistrarName(v string) *GetDomainDetailOutput {
+ s.RegistrarName = &v
+ return s
+}
+
+// SetRegistrarUrl sets the RegistrarUrl field's value.
+func (s *GetDomainDetailOutput) SetRegistrarUrl(v string) *GetDomainDetailOutput {
+ s.RegistrarUrl = &v
+ return s
+}
+
+// SetRegistryDomainId sets the RegistryDomainId field's value.
+func (s *GetDomainDetailOutput) SetRegistryDomainId(v string) *GetDomainDetailOutput {
+ s.RegistryDomainId = &v
+ return s
+}
+
+// SetReseller sets the Reseller field's value.
+func (s *GetDomainDetailOutput) SetReseller(v string) *GetDomainDetailOutput {
+ s.Reseller = &v
+ return s
+}
+
+// SetStatusList sets the StatusList field's value.
+func (s *GetDomainDetailOutput) SetStatusList(v []*string) *GetDomainDetailOutput {
+ s.StatusList = v
+ return s
+}
+
+// SetTechContact sets the TechContact field's value.
+func (s *GetDomainDetailOutput) SetTechContact(v *ContactDetail) *GetDomainDetailOutput {
+ s.TechContact = v
+ return s
+}
+
+// SetTechPrivacy sets the TechPrivacy field's value.
+func (s *GetDomainDetailOutput) SetTechPrivacy(v bool) *GetDomainDetailOutput {
+ s.TechPrivacy = &v
+ return s
+}
+
+// SetUpdatedDate sets the UpdatedDate field's value.
+func (s *GetDomainDetailOutput) SetUpdatedDate(v time.Time) *GetDomainDetailOutput {
+ s.UpdatedDate = &v
+ return s
+}
+
+// SetWhoIsServer sets the WhoIsServer field's value.
+func (s *GetDomainDetailOutput) SetWhoIsServer(v string) *GetDomainDetailOutput {
+ s.WhoIsServer = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetDomainSuggestionsRequest
type GetDomainSuggestionsInput struct {
_ struct{} `type:"structure"`
+ // A domain name that you want to use as the basis for a list of possible domain
+ // names. The domain name must contain a top-level domain (TLD), such as .com,
+ // that Amazon Route 53 supports. For a list of TLDs, see Domains that You Can
+ // Register with Amazon Route 53 (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html)
+ // in the Amazon Route 53 Developer Guide.
+ //
+ // DomainName is a required field
DomainName *string `type:"string" required:"true"`
+ // If OnlyAvailable is true, Amazon Route 53 returns only domain names that
+ // are available. If OnlyAvailable is false, Amazon Route 53 returns domain
+ // names without checking whether they're available to be registered. To determine
+ // whether the domain is available, you can call checkDomainAvailability for
+ // each suggestion.
+ //
+ // OnlyAvailable is a required field
OnlyAvailable *bool `type:"boolean" required:"true"`
+ // The number of suggested domain names that you want Amazon Route 53 to return.
+ //
+ // SuggestionCount is a required field
SuggestionCount *int64 `type:"integer" required:"true"`
}
@@ -2343,9 +3714,30 @@ func (s *GetDomainSuggestionsInput) Validate() error {
return nil
}
+// SetDomainName sets the DomainName field's value.
+func (s *GetDomainSuggestionsInput) SetDomainName(v string) *GetDomainSuggestionsInput {
+ s.DomainName = &v
+ return s
+}
+
+// SetOnlyAvailable sets the OnlyAvailable field's value.
+func (s *GetDomainSuggestionsInput) SetOnlyAvailable(v bool) *GetDomainSuggestionsInput {
+ s.OnlyAvailable = &v
+ return s
+}
+
+// SetSuggestionCount sets the SuggestionCount field's value.
+func (s *GetDomainSuggestionsInput) SetSuggestionCount(v int64) *GetDomainSuggestionsInput {
+ s.SuggestionCount = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetDomainSuggestionsResponse
type GetDomainSuggestionsOutput struct {
_ struct{} `type:"structure"`
+ // A list of possible domain names. If you specified true for OnlyAvailable
+ // in the request, the list contains only domains that are available for registration.
SuggestionsList []*DomainSuggestion `type:"list"`
}
@@ -2359,18 +3751,21 @@ func (s GetDomainSuggestionsOutput) GoString() string {
return s.String()
}
+// SetSuggestionsList sets the SuggestionsList field's value.
+func (s *GetDomainSuggestionsOutput) SetSuggestionsList(v []*DomainSuggestion) *GetDomainSuggestionsOutput {
+ s.SuggestionsList = v
+ return s
+}
+
// The GetOperationDetail request includes the following element.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetOperationDetailRequest
type GetOperationDetailInput struct {
_ struct{} `type:"structure"`
// The identifier for the operation for which you want to get the status. Amazon
// Route 53 returned the identifier in the response to the original request.
//
- // Type: String
- //
- // Default: None
- //
- // Required: Yes
+ // OperationId is a required field
OperationId *string `type:"string" required:"true"`
}
@@ -2397,36 +3792,33 @@ func (s *GetOperationDetailInput) Validate() error {
return nil
}
+// SetOperationId sets the OperationId field's value.
+func (s *GetOperationDetailInput) SetOperationId(v string) *GetOperationDetailInput {
+ s.OperationId = &v
+ return s
+}
+
// The GetOperationDetail response includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/GetOperationDetailResponse
type GetOperationDetailOutput struct {
_ struct{} `type:"structure"`
// The name of a domain.
- //
- // Type: String
DomainName *string `type:"string"`
// Detailed information on the status including possible errors.
- //
- // Type: String
Message *string `type:"string"`
// The identifier for the operation.
- //
- // Type: String
OperationId *string `type:"string"`
// The current status of the requested operation in the system.
- //
- // Type: String
Status *string `type:"string" enum:"OperationStatus"`
// The date when the request was submitted.
SubmittedDate *time.Time `type:"timestamp" timestampFormat:"unix"`
// The type of operation that was requested.
- //
- // Type: String
Type *string `type:"string" enum:"OperationType"`
}
@@ -2440,7 +3832,44 @@ func (s GetOperationDetailOutput) GoString() string {
return s.String()
}
+// SetDomainName sets the DomainName field's value.
+func (s *GetOperationDetailOutput) SetDomainName(v string) *GetOperationDetailOutput {
+ s.DomainName = &v
+ return s
+}
+
+// SetMessage sets the Message field's value.
+func (s *GetOperationDetailOutput) SetMessage(v string) *GetOperationDetailOutput {
+ s.Message = &v
+ return s
+}
+
+// SetOperationId sets the OperationId field's value.
+func (s *GetOperationDetailOutput) SetOperationId(v string) *GetOperationDetailOutput {
+ s.OperationId = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *GetOperationDetailOutput) SetStatus(v string) *GetOperationDetailOutput {
+ s.Status = &v
+ return s
+}
+
+// SetSubmittedDate sets the SubmittedDate field's value.
+func (s *GetOperationDetailOutput) SetSubmittedDate(v time.Time) *GetOperationDetailOutput {
+ s.SubmittedDate = &v
+ return s
+}
+
+// SetType sets the Type field's value.
+func (s *GetOperationDetailOutput) SetType(v string) *GetOperationDetailOutput {
+ s.Type = &v
+ return s
+}
+
// The ListDomains request includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ListDomainsRequest
type ListDomainsInput struct {
_ struct{} `type:"structure"`
@@ -2451,24 +3880,12 @@ type ListDomainsInput struct {
// submit another request that includes the value of NextPageMarker in the Marker
// element.
//
- // Type: String
- //
- // Default: None
- //
// Constraints: The marker must match the value specified in the previous request.
- //
- // Required: No
Marker *string `type:"string"`
// Number of domains to be returned.
//
- // Type: Integer
- //
// Default: 20
- //
- // Constraints: A numeral between 1 and 100.
- //
- // Required: No
MaxItems *int64 `type:"integer"`
}
@@ -2482,24 +3899,31 @@ func (s ListDomainsInput) GoString() string {
return s.String()
}
+// SetMarker sets the Marker field's value.
+func (s *ListDomainsInput) SetMarker(v string) *ListDomainsInput {
+ s.Marker = &v
+ return s
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListDomainsInput) SetMaxItems(v int64) *ListDomainsInput {
+ s.MaxItems = &v
+ return s
+}
+
// The ListDomains response includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ListDomainsResponse
type ListDomainsOutput struct {
_ struct{} `type:"structure"`
// A summary of domains.
//
- // Type: Complex type containing a list of domain summaries.
- //
- // Children: AutoRenew, DomainName, Expiry, TransferLock
+ // Domains is a required field
Domains []*DomainSummary `type:"list" required:"true"`
// If there are more domains than you specified for MaxItems in the request,
// submit another request and include the value of NextPageMarker in the value
// of Marker.
- //
- // Type: String
- //
- // Parent: Operations
NextPageMarker *string `type:"string"`
}
@@ -2513,7 +3937,20 @@ func (s ListDomainsOutput) GoString() string {
return s.String()
}
+// SetDomains sets the Domains field's value.
+func (s *ListDomainsOutput) SetDomains(v []*DomainSummary) *ListDomainsOutput {
+ s.Domains = v
+ return s
+}
+
+// SetNextPageMarker sets the NextPageMarker field's value.
+func (s *ListDomainsOutput) SetNextPageMarker(v string) *ListDomainsOutput {
+ s.NextPageMarker = &v
+ return s
+}
+
// The ListOperations request includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ListOperationsRequest
type ListOperationsInput struct {
_ struct{} `type:"structure"`
@@ -2523,23 +3960,11 @@ type ListOperationsInput struct {
// operations. Get the value of NextPageMarker from the previous response, and
// submit another request that includes the value of NextPageMarker in the Marker
// element.
- //
- // Type: String
- //
- // Default: None
- //
- // Required: No
Marker *string `type:"string"`
// Number of domains to be returned.
//
- // Type: Integer
- //
// Default: 20
- //
- // Constraints: A value between 1 and 100.
- //
- // Required: No
MaxItems *int64 `type:"integer"`
}
@@ -2553,24 +3978,31 @@ func (s ListOperationsInput) GoString() string {
return s.String()
}
+// SetMarker sets the Marker field's value.
+func (s *ListOperationsInput) SetMarker(v string) *ListOperationsInput {
+ s.Marker = &v
+ return s
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ListOperationsInput) SetMaxItems(v int64) *ListOperationsInput {
+ s.MaxItems = &v
+ return s
+}
+
// The ListOperations response includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ListOperationsResponse
type ListOperationsOutput struct {
_ struct{} `type:"structure"`
// If there are more operations than you specified for MaxItems in the request,
// submit another request and include the value of NextPageMarker in the value
// of Marker.
- //
- // Type: String
- //
- // Parent: Operations
NextPageMarker *string `type:"string"`
// Lists summaries of the operations.
//
- // Type: Complex type containing a list of operation summaries
- //
- // Children: OperationId, Status, SubmittedDate, Type
+ // Operations is a required field
Operations []*OperationSummary `type:"list" required:"true"`
}
@@ -2584,11 +4016,26 @@ func (s ListOperationsOutput) GoString() string {
return s.String()
}
+// SetNextPageMarker sets the NextPageMarker field's value.
+func (s *ListOperationsOutput) SetNextPageMarker(v string) *ListOperationsOutput {
+ s.NextPageMarker = &v
+ return s
+}
+
+// SetOperations sets the Operations field's value.
+func (s *ListOperationsOutput) SetOperations(v []*OperationSummary) *ListOperationsOutput {
+ s.Operations = v
+ return s
+}
+
// The ListTagsForDomainRequest includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ListTagsForDomainRequest
type ListTagsForDomainInput struct {
_ struct{} `type:"structure"`
// The domain for which you want to get a list of tags.
+ //
+ // DomainName is a required field
DomainName *string `type:"string" required:"true"`
}
@@ -2615,27 +4062,20 @@ func (s *ListTagsForDomainInput) Validate() error {
return nil
}
+// SetDomainName sets the DomainName field's value.
+func (s *ListTagsForDomainInput) SetDomainName(v string) *ListTagsForDomainInput {
+ s.DomainName = &v
+ return s
+}
+
// The ListTagsForDomain response includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ListTagsForDomainResponse
type ListTagsForDomainOutput struct {
_ struct{} `type:"structure"`
// A list of the tags that are associated with the specified domain.
//
- // Type: A complex type containing a list of tags
- //
- // Each tag includes the following elements.
- //
- // Key
- //
- // The key (name) of a tag.
- //
- // Type: String
- //
- // Value
- //
- // The value of a tag.
- //
- // Type: String
+ // TagList is a required field
TagList []*Tag `type:"list" required:"true"`
}
@@ -2649,7 +4089,14 @@ func (s ListTagsForDomainOutput) GoString() string {
return s.String()
}
+// SetTagList sets the TagList field's value.
+func (s *ListTagsForDomainOutput) SetTagList(v []*Tag) *ListTagsForDomainOutput {
+ s.TagList = v
+ return s
+}
+
// Nameserver includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/Nameserver
type Nameserver struct {
_ struct{} `type:"structure"`
@@ -2658,20 +4105,14 @@ type Nameserver struct {
// if your domain is example.com and the name server for the domain is ns.example.com,
// you need to specify the IP address for ns.example.com.
//
- // Type: List of IP addresses.
- //
// Constraints: The list can contain only one IPv4 and one IPv6 address.
- //
- // Parent: Nameservers
GlueIps []*string `type:"list"`
// The fully qualified host name of the name server.
//
- // Type: String
+ // Constraint: Maximum 255 characters
//
- // Constraint: Maximum 255 characterss
- //
- // Parent: Nameservers
+ // Name is a required field
Name *string `type:"string" required:"true"`
}
@@ -2698,29 +4139,41 @@ func (s *Nameserver) Validate() error {
return nil
}
+// SetGlueIps sets the GlueIps field's value.
+func (s *Nameserver) SetGlueIps(v []*string) *Nameserver {
+ s.GlueIps = v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *Nameserver) SetName(v string) *Nameserver {
+ s.Name = &v
+ return s
+}
+
// OperationSummary includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/OperationSummary
type OperationSummary struct {
_ struct{} `type:"structure"`
// Identifier returned to track the requested action.
//
- // Type: String
+ // OperationId is a required field
OperationId *string `type:"string" required:"true"`
// The current status of the requested operation in the system.
//
- // Type: String
+ // Status is a required field
Status *string `type:"string" required:"true" enum:"OperationStatus"`
// The date when the request was submitted.
+ //
+ // SubmittedDate is a required field
SubmittedDate *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"`
// Type of the action requested.
//
- // Type: String
- //
- // Valid values: REGISTER_DOMAIN | DELETE_DOMAIN | TRANSFER_IN_DOMAIN | UPDATE_DOMAIN_CONTACT
- // | UPDATE_NAMESERVER | CHANGE_PRIVACY_PROTECTION | DOMAIN_LOCK
+ // Type is a required field
Type *string `type:"string" required:"true" enum:"OperationType"`
}
@@ -2734,56 +4187,64 @@ func (s OperationSummary) GoString() string {
return s.String()
}
+// SetOperationId sets the OperationId field's value.
+func (s *OperationSummary) SetOperationId(v string) *OperationSummary {
+ s.OperationId = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *OperationSummary) SetStatus(v string) *OperationSummary {
+ s.Status = &v
+ return s
+}
+
+// SetSubmittedDate sets the SubmittedDate field's value.
+func (s *OperationSummary) SetSubmittedDate(v time.Time) *OperationSummary {
+ s.SubmittedDate = &v
+ return s
+}
+
+// SetType sets the Type field's value.
+func (s *OperationSummary) SetType(v string) *OperationSummary {
+ s.Type = &v
+ return s
+}
+
// The RegisterDomain request includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/RegisterDomainRequest
type RegisterDomainInput struct {
_ struct{} `type:"structure"`
// Provides detailed contact information.
//
- // Type: Complex
- //
- // Children: FirstName, MiddleName, LastName, ContactType, OrganizationName,
- // AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber,
- // Email, Fax, ExtraParams
- //
- // Required: Yes
+ // AdminContact is a required field
AdminContact *ContactDetail `type:"structure" required:"true"`
// Indicates whether the domain will be automatically renewed (true) or not
// (false). Autorenewal only takes effect after the account is charged.
//
- // Type: Boolean
- //
- // Valid values: true | false
- //
// Default: true
- //
- // Required: No
AutoRenew *bool `type:"boolean"`
- // The name of a domain.
- //
- // Type: String
- //
- // Default: None
+ // The domain name that you want to register.
//
// Constraints: The domain name can contain only the letters a through z, the
// numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not
// supported.
//
- // Required: Yes
+ // DomainName is a required field
DomainName *string `type:"string" required:"true"`
- // The number of years the domain will be registered. Domains are registered
- // for a minimum of one year. The maximum period depends on the top-level domain.
- //
- // Type: Integer
+ // The number of years that you want to register the domain for. Domains are
+ // registered for a minimum of one year. The maximum period depends on the top-level
+ // domain. For the range of valid values for your domain, see Domains that You
+ // Can Register with Amazon Route 53 (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html)
+ // in the Amazon Route 53 Developer Guide.
//
// Default: 1
//
- // Valid values: Integer from 1 to 10
- //
- // Required: Yes
+ // DurationInYears is a required field
DurationInYears *int64 `min:"1" type:"integer" required:"true"`
// Reserved for future use.
@@ -2794,13 +4255,7 @@ type RegisterDomainInput struct {
// our registrar partner, Gandi, instead of the contact information that you
// enter.
//
- // Type: Boolean
- //
// Default: true
- //
- // Valid values: true | false
- //
- // Required: No
PrivacyProtectAdminContact *bool `type:"boolean"`
// Whether you want to conceal contact information from WHOIS queries. If you
@@ -2808,13 +4263,7 @@ type RegisterDomainInput struct {
// our registrar partner, Gandi, instead of the contact information that you
// enter.
//
- // Type: Boolean
- //
// Default: true
- //
- // Valid values: true | false
- //
- // Required: No
PrivacyProtectRegistrantContact *bool `type:"boolean"`
// Whether you want to conceal contact information from WHOIS queries. If you
@@ -2822,35 +4271,17 @@ type RegisterDomainInput struct {
// our registrar partner, Gandi, instead of the contact information that you
// enter.
//
- // Type: Boolean
- //
// Default: true
- //
- // Valid values: true | false
- //
- // Required: No
PrivacyProtectTechContact *bool `type:"boolean"`
// Provides detailed contact information.
//
- // Type: Complex
- //
- // Children: FirstName, MiddleName, LastName, ContactType, OrganizationName,
- // AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber,
- // Email, Fax, ExtraParams
- //
- // Required: Yes
+ // RegistrantContact is a required field
RegistrantContact *ContactDetail `type:"structure" required:"true"`
// Provides detailed contact information.
//
- // Type: Complex
- //
- // Children: FirstName, MiddleName, LastName, ContactType, OrganizationName,
- // AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber,
- // Email, Fax, ExtraParams
- //
- // Required: Yes
+ // TechContact is a required field
TechContact *ContactDetail `type:"structure" required:"true"`
}
@@ -2907,18 +4338,75 @@ func (s *RegisterDomainInput) Validate() error {
return nil
}
+// SetAdminContact sets the AdminContact field's value.
+func (s *RegisterDomainInput) SetAdminContact(v *ContactDetail) *RegisterDomainInput {
+ s.AdminContact = v
+ return s
+}
+
+// SetAutoRenew sets the AutoRenew field's value.
+func (s *RegisterDomainInput) SetAutoRenew(v bool) *RegisterDomainInput {
+ s.AutoRenew = &v
+ return s
+}
+
+// SetDomainName sets the DomainName field's value.
+func (s *RegisterDomainInput) SetDomainName(v string) *RegisterDomainInput {
+ s.DomainName = &v
+ return s
+}
+
+// SetDurationInYears sets the DurationInYears field's value.
+func (s *RegisterDomainInput) SetDurationInYears(v int64) *RegisterDomainInput {
+ s.DurationInYears = &v
+ return s
+}
+
+// SetIdnLangCode sets the IdnLangCode field's value.
+func (s *RegisterDomainInput) SetIdnLangCode(v string) *RegisterDomainInput {
+ s.IdnLangCode = &v
+ return s
+}
+
+// SetPrivacyProtectAdminContact sets the PrivacyProtectAdminContact field's value.
+func (s *RegisterDomainInput) SetPrivacyProtectAdminContact(v bool) *RegisterDomainInput {
+ s.PrivacyProtectAdminContact = &v
+ return s
+}
+
+// SetPrivacyProtectRegistrantContact sets the PrivacyProtectRegistrantContact field's value.
+func (s *RegisterDomainInput) SetPrivacyProtectRegistrantContact(v bool) *RegisterDomainInput {
+ s.PrivacyProtectRegistrantContact = &v
+ return s
+}
+
+// SetPrivacyProtectTechContact sets the PrivacyProtectTechContact field's value.
+func (s *RegisterDomainInput) SetPrivacyProtectTechContact(v bool) *RegisterDomainInput {
+ s.PrivacyProtectTechContact = &v
+ return s
+}
+
+// SetRegistrantContact sets the RegistrantContact field's value.
+func (s *RegisterDomainInput) SetRegistrantContact(v *ContactDetail) *RegisterDomainInput {
+ s.RegistrantContact = v
+ return s
+}
+
+// SetTechContact sets the TechContact field's value.
+func (s *RegisterDomainInput) SetTechContact(v *ContactDetail) *RegisterDomainInput {
+ s.TechContact = v
+ return s
+}
+
// The RegisterDomain response includes the following element.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/RegisterDomainResponse
type RegisterDomainOutput struct {
_ struct{} `type:"structure"`
// Identifier for tracking the progress of the request. To use this ID to query
// the operation status, use GetOperationDetail.
//
- // Type: String
- //
- // Default: None
- //
- // Constraints: Maximum 255 characters.
+ // OperationId is a required field
OperationId *string `type:"string" required:"true"`
}
@@ -2932,37 +4420,35 @@ func (s RegisterDomainOutput) GoString() string {
return s.String()
}
+// SetOperationId sets the OperationId field's value.
+func (s *RegisterDomainOutput) SetOperationId(v string) *RegisterDomainOutput {
+ s.OperationId = &v
+ return s
+}
+
// A RenewDomain request includes the number of years that you want to renew
// for and the current expiration year.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/RenewDomainRequest
type RenewDomainInput struct {
_ struct{} `type:"structure"`
// The year when the registration for the domain is set to expire. This value
// must match the current expiration date for the domain.
//
- // Type: Integer
- //
- // Default: None
- //
- // Valid values: Integer
- //
- // Required: Yes
+ // CurrentExpiryYear is a required field
CurrentExpiryYear *int64 `type:"integer" required:"true"`
+ // The name of the domain that you want to renew.
+ //
+ // DomainName is a required field
DomainName *string `type:"string" required:"true"`
// The number of years that you want to renew the domain for. The maximum number
// of years depends on the top-level domain. For the range of valid values for
- // your domain, see Domains that You Can Register with Amazon Route 53 (http://docs.aws.amazon.com/console/route53/domain-tld-list)
- // in the Amazon Route 53 documentation.
- //
- // Type: Integer
+ // your domain, see Domains that You Can Register with Amazon Route 53 (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html)
+ // in the Amazon Route 53 Developer Guide.
//
// Default: 1
- //
- // Valid values: Integer from 1 to 10
- //
- // Required: No
DurationInYears *int64 `min:"1" type:"integer"`
}
@@ -2995,9 +4481,32 @@ func (s *RenewDomainInput) Validate() error {
return nil
}
+// SetCurrentExpiryYear sets the CurrentExpiryYear field's value.
+func (s *RenewDomainInput) SetCurrentExpiryYear(v int64) *RenewDomainInput {
+ s.CurrentExpiryYear = &v
+ return s
+}
+
+// SetDomainName sets the DomainName field's value.
+func (s *RenewDomainInput) SetDomainName(v string) *RenewDomainInput {
+ s.DomainName = &v
+ return s
+}
+
+// SetDurationInYears sets the DurationInYears field's value.
+func (s *RenewDomainInput) SetDurationInYears(v int64) *RenewDomainInput {
+ s.DurationInYears = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/RenewDomainResponse
type RenewDomainOutput struct {
_ struct{} `type:"structure"`
+ // The identifier for tracking the progress of the request. To use this ID to
+ // query the operation status, use GetOperationDetail.
+ //
+ // OperationId is a required field
OperationId *string `type:"string" required:"true"`
}
@@ -3011,17 +4520,18 @@ func (s RenewDomainOutput) GoString() string {
return s.String()
}
+// SetOperationId sets the OperationId field's value.
+func (s *RenewDomainOutput) SetOperationId(v string) *RenewDomainOutput {
+ s.OperationId = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ResendContactReachabilityEmailRequest
type ResendContactReachabilityEmailInput struct {
_ struct{} `type:"structure"`
// The name of the domain for which you want Amazon Route 53 to resend a confirmation
// email to the registrant contact.
- //
- // Type: String
- //
- // Default: None
- //
- // Required: Yes
DomainName *string `locationName:"domainName" type:"string"`
}
@@ -3035,6 +4545,13 @@ func (s ResendContactReachabilityEmailInput) GoString() string {
return s.String()
}
+// SetDomainName sets the DomainName field's value.
+func (s *ResendContactReachabilityEmailInput) SetDomainName(v string) *ResendContactReachabilityEmailInput {
+ s.DomainName = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ResendContactReachabilityEmailResponse
type ResendContactReachabilityEmailOutput struct {
_ struct{} `type:"structure"`
@@ -3061,21 +4578,33 @@ func (s ResendContactReachabilityEmailOutput) GoString() string {
return s.String()
}
-// The RetrieveDomainAuthCode request includes the following element.
+// SetDomainName sets the DomainName field's value.
+func (s *ResendContactReachabilityEmailOutput) SetDomainName(v string) *ResendContactReachabilityEmailOutput {
+ s.DomainName = &v
+ return s
+}
+
+// SetEmailAddress sets the EmailAddress field's value.
+func (s *ResendContactReachabilityEmailOutput) SetEmailAddress(v string) *ResendContactReachabilityEmailOutput {
+ s.EmailAddress = &v
+ return s
+}
+
+// SetIsAlreadyVerified sets the IsAlreadyVerified field's value.
+func (s *ResendContactReachabilityEmailOutput) SetIsAlreadyVerified(v bool) *ResendContactReachabilityEmailOutput {
+ s.IsAlreadyVerified = &v
+ return s
+}
+
+// A request for the authorization code for the specified domain. To transfer
+// a domain to another registrar, you provide this value to the new registrar.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/RetrieveDomainAuthCodeRequest
type RetrieveDomainAuthCodeInput struct {
_ struct{} `type:"structure"`
- // The name of a domain.
+ // The name of the domain that you want to get an authorization code for.
//
- // Type: String
- //
- // Default: None
- //
- // Constraints: The domain name can contain only the letters a through z, the
- // numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not
- // supported.
- //
- // Required: Yes
+ // DomainName is a required field
DomainName *string `type:"string" required:"true"`
}
@@ -3102,13 +4631,20 @@ func (s *RetrieveDomainAuthCodeInput) Validate() error {
return nil
}
+// SetDomainName sets the DomainName field's value.
+func (s *RetrieveDomainAuthCodeInput) SetDomainName(v string) *RetrieveDomainAuthCodeInput {
+ s.DomainName = &v
+ return s
+}
+
// The RetrieveDomainAuthCode response includes the following element.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/RetrieveDomainAuthCodeResponse
type RetrieveDomainAuthCodeOutput struct {
_ struct{} `type:"structure"`
// The authorization code for the domain.
//
- // Type: String
+ // AuthCode is a required field
AuthCode *string `type:"string" required:"true"`
}
@@ -3122,34 +4658,29 @@ func (s RetrieveDomainAuthCodeOutput) GoString() string {
return s.String()
}
+// SetAuthCode sets the AuthCode field's value.
+func (s *RetrieveDomainAuthCodeOutput) SetAuthCode(v string) *RetrieveDomainAuthCodeOutput {
+ s.AuthCode = &v
+ return s
+}
+
// Each tag includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/Tag
type Tag struct {
_ struct{} `type:"structure"`
// The key (name) of a tag.
//
- // Type: String
- //
- // Default: None
- //
// Valid values: A-Z, a-z, 0-9, space, ".:/=+\-@"
//
// Constraints: Each key can be 1-128 characters long.
- //
- // Required: Yes
Key *string `type:"string"`
// The value of a tag.
//
- // Type: String
- //
- // Default: None
- //
// Valid values: A-Z, a-z, 0-9, space, ".:/=+\-@"
//
// Constraints: Each value can be 0-256 characters long.
- //
- // Required: Yes
Value *string `type:"string"`
}
@@ -3163,76 +4694,60 @@ func (s Tag) GoString() string {
return s.String()
}
+// SetKey sets the Key field's value.
+func (s *Tag) SetKey(v string) *Tag {
+ s.Key = &v
+ return s
+}
+
+// SetValue sets the Value field's value.
+func (s *Tag) SetValue(v string) *Tag {
+ s.Value = &v
+ return s
+}
+
// The TransferDomain request includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/TransferDomainRequest
type TransferDomainInput struct {
_ struct{} `type:"structure"`
// Provides detailed contact information.
//
- // Type: Complex
- //
- // Children: FirstName, MiddleName, LastName, ContactType, OrganizationName,
- // AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber,
- // Email, Fax, ExtraParams
- //
- // Required: Yes
+ // AdminContact is a required field
AdminContact *ContactDetail `type:"structure" required:"true"`
// The authorization code for the domain. You get this value from the current
// registrar.
- //
- // Type: String
- //
- // Required: Yes
AuthCode *string `type:"string"`
// Indicates whether the domain will be automatically renewed (true) or not
// (false). Autorenewal only takes effect after the account is charged.
//
- // Type: Boolean
- //
- // Valid values: true | false
- //
// Default: true
- //
- // Required: No
AutoRenew *bool `type:"boolean"`
- // The name of a domain.
- //
- // Type: String
- //
- // Default: None
+ // The name of the domain that you want to transfer to Amazon Route 53.
//
// Constraints: The domain name can contain only the letters a through z, the
// numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not
// supported.
//
- // Required: Yes
+ // DomainName is a required field
DomainName *string `type:"string" required:"true"`
- // The number of years the domain will be registered. Domains are registered
- // for a minimum of one year. The maximum period depends on the top-level domain.
- //
- // Type: Integer
+ // The number of years that you want to register the domain for. Domains are
+ // registered for a minimum of one year. The maximum period depends on the top-level
+ // domain.
//
// Default: 1
//
- // Valid values: Integer from 1 to 10
- //
- // Required: Yes
+ // DurationInYears is a required field
DurationInYears *int64 `min:"1" type:"integer" required:"true"`
// Reserved for future use.
IdnLangCode *string `type:"string"`
// Contains details for the host and glue IP addresses.
- //
- // Type: Complex
- //
- // Children: GlueIps, Name
- //
- // Required: No
Nameservers []*Nameserver `type:"list"`
// Whether you want to conceal contact information from WHOIS queries. If you
@@ -3240,13 +4755,7 @@ type TransferDomainInput struct {
// our registrar partner, Gandi, instead of the contact information that you
// enter.
//
- // Type: Boolean
- //
// Default: true
- //
- // Valid values: true | false
- //
- // Required: No
PrivacyProtectAdminContact *bool `type:"boolean"`
// Whether you want to conceal contact information from WHOIS queries. If you
@@ -3254,13 +4763,7 @@ type TransferDomainInput struct {
// our registrar partner, Gandi, instead of the contact information that you
// enter.
//
- // Type: Boolean
- //
// Default: true
- //
- // Valid values: true | false
- //
- // Required: No
PrivacyProtectRegistrantContact *bool `type:"boolean"`
// Whether you want to conceal contact information from WHOIS queries. If you
@@ -3268,35 +4771,17 @@ type TransferDomainInput struct {
// our registrar partner, Gandi, instead of the contact information that you
// enter.
//
- // Type: Boolean
- //
// Default: true
- //
- // Valid values: true | false
- //
- // Required: No
PrivacyProtectTechContact *bool `type:"boolean"`
// Provides detailed contact information.
//
- // Type: Complex
- //
- // Children: FirstName, MiddleName, LastName, ContactType, OrganizationName,
- // AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber,
- // Email, Fax, ExtraParams
- //
- // Required: Yes
+ // RegistrantContact is a required field
RegistrantContact *ContactDetail `type:"structure" required:"true"`
// Provides detailed contact information.
//
- // Type: Complex
- //
- // Children: FirstName, MiddleName, LastName, ContactType, OrganizationName,
- // AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber,
- // Email, Fax, ExtraParams
- //
- // Required: Yes
+ // TechContact is a required field
TechContact *ContactDetail `type:"structure" required:"true"`
}
@@ -3363,18 +4848,87 @@ func (s *TransferDomainInput) Validate() error {
return nil
}
+// SetAdminContact sets the AdminContact field's value.
+func (s *TransferDomainInput) SetAdminContact(v *ContactDetail) *TransferDomainInput {
+ s.AdminContact = v
+ return s
+}
+
+// SetAuthCode sets the AuthCode field's value.
+func (s *TransferDomainInput) SetAuthCode(v string) *TransferDomainInput {
+ s.AuthCode = &v
+ return s
+}
+
+// SetAutoRenew sets the AutoRenew field's value.
+func (s *TransferDomainInput) SetAutoRenew(v bool) *TransferDomainInput {
+ s.AutoRenew = &v
+ return s
+}
+
+// SetDomainName sets the DomainName field's value.
+func (s *TransferDomainInput) SetDomainName(v string) *TransferDomainInput {
+ s.DomainName = &v
+ return s
+}
+
+// SetDurationInYears sets the DurationInYears field's value.
+func (s *TransferDomainInput) SetDurationInYears(v int64) *TransferDomainInput {
+ s.DurationInYears = &v
+ return s
+}
+
+// SetIdnLangCode sets the IdnLangCode field's value.
+func (s *TransferDomainInput) SetIdnLangCode(v string) *TransferDomainInput {
+ s.IdnLangCode = &v
+ return s
+}
+
+// SetNameservers sets the Nameservers field's value.
+func (s *TransferDomainInput) SetNameservers(v []*Nameserver) *TransferDomainInput {
+ s.Nameservers = v
+ return s
+}
+
+// SetPrivacyProtectAdminContact sets the PrivacyProtectAdminContact field's value.
+func (s *TransferDomainInput) SetPrivacyProtectAdminContact(v bool) *TransferDomainInput {
+ s.PrivacyProtectAdminContact = &v
+ return s
+}
+
+// SetPrivacyProtectRegistrantContact sets the PrivacyProtectRegistrantContact field's value.
+func (s *TransferDomainInput) SetPrivacyProtectRegistrantContact(v bool) *TransferDomainInput {
+ s.PrivacyProtectRegistrantContact = &v
+ return s
+}
+
+// SetPrivacyProtectTechContact sets the PrivacyProtectTechContact field's value.
+func (s *TransferDomainInput) SetPrivacyProtectTechContact(v bool) *TransferDomainInput {
+ s.PrivacyProtectTechContact = &v
+ return s
+}
+
+// SetRegistrantContact sets the RegistrantContact field's value.
+func (s *TransferDomainInput) SetRegistrantContact(v *ContactDetail) *TransferDomainInput {
+ s.RegistrantContact = v
+ return s
+}
+
+// SetTechContact sets the TechContact field's value.
+func (s *TransferDomainInput) SetTechContact(v *ContactDetail) *TransferDomainInput {
+ s.TechContact = v
+ return s
+}
+
// The TranserDomain response includes the following element.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/TransferDomainResponse
type TransferDomainOutput struct {
_ struct{} `type:"structure"`
// Identifier for tracking the progress of the request. To use this ID to query
// the operation status, use GetOperationDetail.
//
- // Type: String
- //
- // Default: None
- //
- // Constraints: Maximum 255 characters.
+ // OperationId is a required field
OperationId *string `type:"string" required:"true"`
}
@@ -3388,54 +4942,29 @@ func (s TransferDomainOutput) GoString() string {
return s.String()
}
+// SetOperationId sets the OperationId field's value.
+func (s *TransferDomainOutput) SetOperationId(v string) *TransferDomainOutput {
+ s.OperationId = &v
+ return s
+}
+
// The UpdateDomainContact request includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateDomainContactRequest
type UpdateDomainContactInput struct {
_ struct{} `type:"structure"`
// Provides detailed contact information.
- //
- // Type: Complex
- //
- // Children: FirstName, MiddleName, LastName, ContactType, OrganizationName,
- // AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber,
- // Email, Fax, ExtraParams
- //
- // Required: Yes
AdminContact *ContactDetail `type:"structure"`
- // The name of a domain.
+ // The name of the domain that you want to update contact information for.
//
- // Type: String
- //
- // Default: None
- //
- // Constraints: The domain name can contain only the letters a through z, the
- // numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not
- // supported.
- //
- // Required: Yes
+ // DomainName is a required field
DomainName *string `type:"string" required:"true"`
// Provides detailed contact information.
- //
- // Type: Complex
- //
- // Children: FirstName, MiddleName, LastName, ContactType, OrganizationName,
- // AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber,
- // Email, Fax, ExtraParams
- //
- // Required: Yes
RegistrantContact *ContactDetail `type:"structure"`
// Provides detailed contact information.
- //
- // Type: Complex
- //
- // Children: FirstName, MiddleName, LastName, ContactType, OrganizationName,
- // AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber,
- // Email, Fax, ExtraParams
- //
- // Required: Yes
TechContact *ContactDetail `type:"structure"`
}
@@ -3477,18 +5006,39 @@ func (s *UpdateDomainContactInput) Validate() error {
return nil
}
+// SetAdminContact sets the AdminContact field's value.
+func (s *UpdateDomainContactInput) SetAdminContact(v *ContactDetail) *UpdateDomainContactInput {
+ s.AdminContact = v
+ return s
+}
+
+// SetDomainName sets the DomainName field's value.
+func (s *UpdateDomainContactInput) SetDomainName(v string) *UpdateDomainContactInput {
+ s.DomainName = &v
+ return s
+}
+
+// SetRegistrantContact sets the RegistrantContact field's value.
+func (s *UpdateDomainContactInput) SetRegistrantContact(v *ContactDetail) *UpdateDomainContactInput {
+ s.RegistrantContact = v
+ return s
+}
+
+// SetTechContact sets the TechContact field's value.
+func (s *UpdateDomainContactInput) SetTechContact(v *ContactDetail) *UpdateDomainContactInput {
+ s.TechContact = v
+ return s
+}
+
// The UpdateDomainContact response includes the following element.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateDomainContactResponse
type UpdateDomainContactOutput struct {
_ struct{} `type:"structure"`
// Identifier for tracking the progress of the request. To use this ID to query
// the operation status, use GetOperationDetail.
//
- // Type: String
- //
- // Default: None
- //
- // Constraints: Maximum 255 characters.
+ // OperationId is a required field
OperationId *string `type:"string" required:"true"`
}
@@ -3502,7 +5052,14 @@ func (s UpdateDomainContactOutput) GoString() string {
return s.String()
}
+// SetOperationId sets the OperationId field's value.
+func (s *UpdateDomainContactOutput) SetOperationId(v string) *UpdateDomainContactOutput {
+ s.OperationId = &v
+ return s
+}
+
// The UpdateDomainContactPrivacy request includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateDomainContactPrivacyRequest
type UpdateDomainContactPrivacyInput struct {
_ struct{} `type:"structure"`
@@ -3510,55 +5067,23 @@ type UpdateDomainContactPrivacyInput struct {
// specify true, WHOIS ("who is") queries will return contact information for
// our registrar partner, Gandi, instead of the contact information that you
// enter.
- //
- // Type: Boolean
- //
- // Default: None
- //
- // Valid values: true | false
- //
- // Required: No
AdminPrivacy *bool `type:"boolean"`
- // The name of a domain.
+ // The name of the domain that you want to update the privacy setting for.
//
- // Type: String
- //
- // Default: None
- //
- // Constraints: The domain name can contain only the letters a through z, the
- // numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not
- // supported.
- //
- // Required: Yes
+ // DomainName is a required field
DomainName *string `type:"string" required:"true"`
// Whether you want to conceal contact information from WHOIS queries. If you
// specify true, WHOIS ("who is") queries will return contact information for
// our registrar partner, Gandi, instead of the contact information that you
// enter.
- //
- // Type: Boolean
- //
- // Default: None
- //
- // Valid values: true | false
- //
- // Required: No
RegistrantPrivacy *bool `type:"boolean"`
// Whether you want to conceal contact information from WHOIS queries. If you
// specify true, WHOIS ("who is") queries will return contact information for
// our registrar partner, Gandi, instead of the contact information that you
// enter.
- //
- // Type: Boolean
- //
- // Default: None
- //
- // Valid values: true | false
- //
- // Required: No
TechPrivacy *bool `type:"boolean"`
}
@@ -3585,18 +5110,39 @@ func (s *UpdateDomainContactPrivacyInput) Validate() error {
return nil
}
+// SetAdminPrivacy sets the AdminPrivacy field's value.
+func (s *UpdateDomainContactPrivacyInput) SetAdminPrivacy(v bool) *UpdateDomainContactPrivacyInput {
+ s.AdminPrivacy = &v
+ return s
+}
+
+// SetDomainName sets the DomainName field's value.
+func (s *UpdateDomainContactPrivacyInput) SetDomainName(v string) *UpdateDomainContactPrivacyInput {
+ s.DomainName = &v
+ return s
+}
+
+// SetRegistrantPrivacy sets the RegistrantPrivacy field's value.
+func (s *UpdateDomainContactPrivacyInput) SetRegistrantPrivacy(v bool) *UpdateDomainContactPrivacyInput {
+ s.RegistrantPrivacy = &v
+ return s
+}
+
+// SetTechPrivacy sets the TechPrivacy field's value.
+func (s *UpdateDomainContactPrivacyInput) SetTechPrivacy(v bool) *UpdateDomainContactPrivacyInput {
+ s.TechPrivacy = &v
+ return s
+}
+
// The UpdateDomainContactPrivacy response includes the following element.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateDomainContactPrivacyResponse
type UpdateDomainContactPrivacyOutput struct {
_ struct{} `type:"structure"`
// Identifier for tracking the progress of the request. To use this ID to query
// the operation status, use GetOperationDetail.
//
- // Type: String
- //
- // Default: None
- //
- // Constraints: Maximum 255 characters.
+ // OperationId is a required field
OperationId *string `type:"string" required:"true"`
}
@@ -3610,33 +5156,34 @@ func (s UpdateDomainContactPrivacyOutput) GoString() string {
return s.String()
}
-// The UpdateDomainNameserver request includes the following elements.
+// SetOperationId sets the OperationId field's value.
+func (s *UpdateDomainContactPrivacyOutput) SetOperationId(v string) *UpdateDomainContactPrivacyOutput {
+ s.OperationId = &v
+ return s
+}
+
+// Replaces the current set of name servers for the domain with the specified
+// set of name servers. If you use Amazon Route 53 as your DNS service, specify
+// the four name servers in the delegation set for the hosted zone for the domain.
+//
+// If successful, this operation returns an operation ID that you can use to
+// track the progress and completion of the action. If the request is not completed
+// successfully, the domain registrant will be notified by email.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateDomainNameserversRequest
type UpdateDomainNameserversInput struct {
_ struct{} `type:"structure"`
- // The name of a domain.
+ // The name of the domain that you want to change name servers for.
//
- // Type: String
- //
- // Default: None
- //
- // Constraints: The domain name can contain only the letters a through z, the
- // numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not
- // supported.
- //
- // Required: Yes
+ // DomainName is a required field
DomainName *string `type:"string" required:"true"`
// The authorization key for .fi domains
- FIAuthKey *string `type:"string"`
+ FIAuthKey *string `deprecated:"true" type:"string"`
// A list of new name servers for the domain.
//
- // Type: Complex
- //
- // Children: Name, GlueIps
- //
- // Required: Yes
+ // Nameservers is a required field
Nameservers []*Nameserver `type:"list" required:"true"`
}
@@ -3676,18 +5223,33 @@ func (s *UpdateDomainNameserversInput) Validate() error {
return nil
}
+// SetDomainName sets the DomainName field's value.
+func (s *UpdateDomainNameserversInput) SetDomainName(v string) *UpdateDomainNameserversInput {
+ s.DomainName = &v
+ return s
+}
+
+// SetFIAuthKey sets the FIAuthKey field's value.
+func (s *UpdateDomainNameserversInput) SetFIAuthKey(v string) *UpdateDomainNameserversInput {
+ s.FIAuthKey = &v
+ return s
+}
+
+// SetNameservers sets the Nameservers field's value.
+func (s *UpdateDomainNameserversInput) SetNameservers(v []*Nameserver) *UpdateDomainNameserversInput {
+ s.Nameservers = v
+ return s
+}
+
// The UpdateDomainNameservers response includes the following element.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateDomainNameserversResponse
type UpdateDomainNameserversOutput struct {
_ struct{} `type:"structure"`
// Identifier for tracking the progress of the request. To use this ID to query
// the operation status, use GetOperationDetail.
//
- // Type: String
- //
- // Default: None
- //
- // Constraints: Maximum 255 characters.
+ // OperationId is a required field
OperationId *string `type:"string" required:"true"`
}
@@ -3701,65 +5263,24 @@ func (s UpdateDomainNameserversOutput) GoString() string {
return s.String()
}
+// SetOperationId sets the OperationId field's value.
+func (s *UpdateDomainNameserversOutput) SetOperationId(v string) *UpdateDomainNameserversOutput {
+ s.OperationId = &v
+ return s
+}
+
// The UpdateTagsForDomainRequest includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateTagsForDomainRequest
type UpdateTagsForDomainInput struct {
_ struct{} `type:"structure"`
// The domain for which you want to add or update tags.
//
- // The name of a domain.
- //
- // Type: String
- //
- // Default: None
- //
- // Constraints: The domain name can contain only the letters a through z, the
- // numbers 0 through 9, and hyphen (-). Hyphens are allowed only when they're
- // surrounded by letters, numbers, or other hyphens. You can't specify a hyphen
- // at the beginning or end of a label. To specify an Internationalized Domain
- // Name, you must convert the name to Punycode.
- //
- // Required: Yes
+ // DomainName is a required field
DomainName *string `type:"string" required:"true"`
// A list of the tag keys and values that you want to add or update. If you
// specify a key that already exists, the corresponding value will be replaced.
- //
- // Type: A complex type containing a list of tags
- //
- // Default: None
- //
- // Required: No
- //
- // '> Each tag includes the following elements:
- //
- // Key
- //
- // The key (name) of a tag.
- //
- // Type: String
- //
- // Default: None
- //
- // Valid values: Unicode characters including alphanumeric, space, and ".:/=+\-@"
- //
- // Constraints: Each key can be 1-128 characters long.
- //
- // Required: Yes
- //
- // Value
- //
- // The value of a tag.
- //
- // Type: String
- //
- // Default: None
- //
- // Valid values: Unicode characters including alphanumeric, space, and ".:/=+\-@"
- //
- // Constraints: Each value can be 0-256 characters long.
- //
- // Required: Yes
TagsToUpdate []*Tag `type:"list"`
}
@@ -3786,6 +5307,19 @@ func (s *UpdateTagsForDomainInput) Validate() error {
return nil
}
+// SetDomainName sets the DomainName field's value.
+func (s *UpdateTagsForDomainInput) SetDomainName(v string) *UpdateTagsForDomainInput {
+ s.DomainName = &v
+ return s
+}
+
+// SetTagsToUpdate sets the TagsToUpdate field's value.
+func (s *UpdateTagsForDomainInput) SetTagsToUpdate(v []*Tag) *UpdateTagsForDomainInput {
+ s.TagsToUpdate = v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateTagsForDomainResponse
type UpdateTagsForDomainOutput struct {
_ struct{} `type:"structure"`
}
@@ -3801,17 +5335,12 @@ func (s UpdateTagsForDomainOutput) GoString() string {
}
// The ViewBilling request includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ViewBillingRequest
type ViewBillingInput struct {
_ struct{} `type:"structure"`
// The end date and time for the time period for which you want a list of billing
// records. Specify the date in Unix time format.
- //
- // Type: Double
- //
- // Default: None
- //
- // Required: Yes
End *time.Time `type:"timestamp" timestampFormat:"unix"`
// For an initial request for a list of billing records, omit this element.
@@ -3821,35 +5350,17 @@ type ViewBillingInput struct {
// the value of NextPageMarker from the previous response, and submit another
// request that includes the value of NextPageMarker in the Marker element.
//
- // Type: String
- //
- // Default: None
- //
- // Constraints: The marker must match the value of NextPageMarker that was
- // returned in the previous response.
- //
- // Required: No
+ // Constraints: The marker must match the value of NextPageMarker that was returned
+ // in the previous response.
Marker *string `type:"string"`
// The number of billing records to be returned.
//
- // Type: Integer
- //
// Default: 20
- //
- // Constraints: A value between 1 and 100.
- //
- // Required: No
MaxItems *int64 `type:"integer"`
// The beginning date and time for the time period for which you want a list
// of billing records. Specify the date in Unix time format.
- //
- // Type: Double
- //
- // Default: None
- //
- // Required: Yes
Start *time.Time `type:"timestamp" timestampFormat:"unix"`
}
@@ -3863,24 +5374,41 @@ func (s ViewBillingInput) GoString() string {
return s.String()
}
+// SetEnd sets the End field's value.
+func (s *ViewBillingInput) SetEnd(v time.Time) *ViewBillingInput {
+ s.End = &v
+ return s
+}
+
+// SetMarker sets the Marker field's value.
+func (s *ViewBillingInput) SetMarker(v string) *ViewBillingInput {
+ s.Marker = &v
+ return s
+}
+
+// SetMaxItems sets the MaxItems field's value.
+func (s *ViewBillingInput) SetMaxItems(v int64) *ViewBillingInput {
+ s.MaxItems = &v
+ return s
+}
+
+// SetStart sets the Start field's value.
+func (s *ViewBillingInput) SetStart(v time.Time) *ViewBillingInput {
+ s.Start = &v
+ return s
+}
+
// The ViewBilling response includes the following elements.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/ViewBillingResponse
type ViewBillingOutput struct {
_ struct{} `type:"structure"`
// A summary of billing records.
- //
- // Type: Complex type containing a list of billing record summaries.
- //
- // Children: DomainName, Operation, InvoiceId, BillDate and Price
BillingRecords []*BillingRecord `type:"list"`
// If there are more billing records than you specified for MaxItems in the
// request, submit another request and include the value of NextPageMarker in
// the value of Marker.
- //
- // Type: String
- //
- // Parent: BillingRecords
NextPageMarker *string `type:"string"`
}
@@ -3894,579 +5422,926 @@ func (s ViewBillingOutput) GoString() string {
return s.String()
}
+// SetBillingRecords sets the BillingRecords field's value.
+func (s *ViewBillingOutput) SetBillingRecords(v []*BillingRecord) *ViewBillingOutput {
+ s.BillingRecords = v
+ return s
+}
+
+// SetNextPageMarker sets the NextPageMarker field's value.
+func (s *ViewBillingOutput) SetNextPageMarker(v string) *ViewBillingOutput {
+ s.NextPageMarker = &v
+ return s
+}
+
const (
- // @enum ContactType
+ // ContactTypePerson is a ContactType enum value
ContactTypePerson = "PERSON"
- // @enum ContactType
+
+ // ContactTypeCompany is a ContactType enum value
ContactTypeCompany = "COMPANY"
- // @enum ContactType
+
+ // ContactTypeAssociation is a ContactType enum value
ContactTypeAssociation = "ASSOCIATION"
- // @enum ContactType
+
+ // ContactTypePublicBody is a ContactType enum value
ContactTypePublicBody = "PUBLIC_BODY"
- // @enum ContactType
+
+ // ContactTypeReseller is a ContactType enum value
ContactTypeReseller = "RESELLER"
)
const (
- // @enum CountryCode
+ // CountryCodeAd is a CountryCode enum value
CountryCodeAd = "AD"
- // @enum CountryCode
+
+ // CountryCodeAe is a CountryCode enum value
CountryCodeAe = "AE"
- // @enum CountryCode
+
+ // CountryCodeAf is a CountryCode enum value
CountryCodeAf = "AF"
- // @enum CountryCode
+
+ // CountryCodeAg is a CountryCode enum value
CountryCodeAg = "AG"
- // @enum CountryCode
+
+ // CountryCodeAi is a CountryCode enum value
CountryCodeAi = "AI"
- // @enum CountryCode
+
+ // CountryCodeAl is a CountryCode enum value
CountryCodeAl = "AL"
- // @enum CountryCode
+
+ // CountryCodeAm is a CountryCode enum value
CountryCodeAm = "AM"
- // @enum CountryCode
+
+ // CountryCodeAn is a CountryCode enum value
CountryCodeAn = "AN"
- // @enum CountryCode
+
+ // CountryCodeAo is a CountryCode enum value
CountryCodeAo = "AO"
- // @enum CountryCode
+
+ // CountryCodeAq is a CountryCode enum value
CountryCodeAq = "AQ"
- // @enum CountryCode
+
+ // CountryCodeAr is a CountryCode enum value
CountryCodeAr = "AR"
- // @enum CountryCode
+
+ // CountryCodeAs is a CountryCode enum value
CountryCodeAs = "AS"
- // @enum CountryCode
+
+ // CountryCodeAt is a CountryCode enum value
CountryCodeAt = "AT"
- // @enum CountryCode
+
+ // CountryCodeAu is a CountryCode enum value
CountryCodeAu = "AU"
- // @enum CountryCode
+
+ // CountryCodeAw is a CountryCode enum value
CountryCodeAw = "AW"
- // @enum CountryCode
+
+ // CountryCodeAz is a CountryCode enum value
CountryCodeAz = "AZ"
- // @enum CountryCode
+
+ // CountryCodeBa is a CountryCode enum value
CountryCodeBa = "BA"
- // @enum CountryCode
+
+ // CountryCodeBb is a CountryCode enum value
CountryCodeBb = "BB"
- // @enum CountryCode
+
+ // CountryCodeBd is a CountryCode enum value
CountryCodeBd = "BD"
- // @enum CountryCode
+
+ // CountryCodeBe is a CountryCode enum value
CountryCodeBe = "BE"
- // @enum CountryCode
+
+ // CountryCodeBf is a CountryCode enum value
CountryCodeBf = "BF"
- // @enum CountryCode
+
+ // CountryCodeBg is a CountryCode enum value
CountryCodeBg = "BG"
- // @enum CountryCode
+
+ // CountryCodeBh is a CountryCode enum value
CountryCodeBh = "BH"
- // @enum CountryCode
+
+ // CountryCodeBi is a CountryCode enum value
CountryCodeBi = "BI"
- // @enum CountryCode
+
+ // CountryCodeBj is a CountryCode enum value
CountryCodeBj = "BJ"
- // @enum CountryCode
+
+ // CountryCodeBl is a CountryCode enum value
CountryCodeBl = "BL"
- // @enum CountryCode
+
+ // CountryCodeBm is a CountryCode enum value
CountryCodeBm = "BM"
- // @enum CountryCode
+
+ // CountryCodeBn is a CountryCode enum value
CountryCodeBn = "BN"
- // @enum CountryCode
+
+ // CountryCodeBo is a CountryCode enum value
CountryCodeBo = "BO"
- // @enum CountryCode
+
+ // CountryCodeBr is a CountryCode enum value
CountryCodeBr = "BR"
- // @enum CountryCode
+
+ // CountryCodeBs is a CountryCode enum value
CountryCodeBs = "BS"
- // @enum CountryCode
+
+ // CountryCodeBt is a CountryCode enum value
CountryCodeBt = "BT"
- // @enum CountryCode
+
+ // CountryCodeBw is a CountryCode enum value
CountryCodeBw = "BW"
- // @enum CountryCode
+
+ // CountryCodeBy is a CountryCode enum value
CountryCodeBy = "BY"
- // @enum CountryCode
+
+ // CountryCodeBz is a CountryCode enum value
CountryCodeBz = "BZ"
- // @enum CountryCode
+
+ // CountryCodeCa is a CountryCode enum value
CountryCodeCa = "CA"
- // @enum CountryCode
+
+ // CountryCodeCc is a CountryCode enum value
CountryCodeCc = "CC"
- // @enum CountryCode
+
+ // CountryCodeCd is a CountryCode enum value
CountryCodeCd = "CD"
- // @enum CountryCode
+
+ // CountryCodeCf is a CountryCode enum value
CountryCodeCf = "CF"
- // @enum CountryCode
+
+ // CountryCodeCg is a CountryCode enum value
CountryCodeCg = "CG"
- // @enum CountryCode
+
+ // CountryCodeCh is a CountryCode enum value
CountryCodeCh = "CH"
- // @enum CountryCode
+
+ // CountryCodeCi is a CountryCode enum value
CountryCodeCi = "CI"
- // @enum CountryCode
+
+ // CountryCodeCk is a CountryCode enum value
CountryCodeCk = "CK"
- // @enum CountryCode
+
+ // CountryCodeCl is a CountryCode enum value
CountryCodeCl = "CL"
- // @enum CountryCode
+
+ // CountryCodeCm is a CountryCode enum value
CountryCodeCm = "CM"
- // @enum CountryCode
+
+ // CountryCodeCn is a CountryCode enum value
CountryCodeCn = "CN"
- // @enum CountryCode
+
+ // CountryCodeCo is a CountryCode enum value
CountryCodeCo = "CO"
- // @enum CountryCode
+
+ // CountryCodeCr is a CountryCode enum value
CountryCodeCr = "CR"
- // @enum CountryCode
+
+ // CountryCodeCu is a CountryCode enum value
CountryCodeCu = "CU"
- // @enum CountryCode
+
+ // CountryCodeCv is a CountryCode enum value
CountryCodeCv = "CV"
- // @enum CountryCode
+
+ // CountryCodeCx is a CountryCode enum value
CountryCodeCx = "CX"
- // @enum CountryCode
+
+ // CountryCodeCy is a CountryCode enum value
CountryCodeCy = "CY"
- // @enum CountryCode
+
+ // CountryCodeCz is a CountryCode enum value
CountryCodeCz = "CZ"
- // @enum CountryCode
+
+ // CountryCodeDe is a CountryCode enum value
CountryCodeDe = "DE"
- // @enum CountryCode
+
+ // CountryCodeDj is a CountryCode enum value
CountryCodeDj = "DJ"
- // @enum CountryCode
+
+ // CountryCodeDk is a CountryCode enum value
CountryCodeDk = "DK"
- // @enum CountryCode
+
+ // CountryCodeDm is a CountryCode enum value
CountryCodeDm = "DM"
- // @enum CountryCode
+
+ // CountryCodeDo is a CountryCode enum value
CountryCodeDo = "DO"
- // @enum CountryCode
+
+ // CountryCodeDz is a CountryCode enum value
CountryCodeDz = "DZ"
- // @enum CountryCode
+
+ // CountryCodeEc is a CountryCode enum value
CountryCodeEc = "EC"
- // @enum CountryCode
+
+ // CountryCodeEe is a CountryCode enum value
CountryCodeEe = "EE"
- // @enum CountryCode
+
+ // CountryCodeEg is a CountryCode enum value
CountryCodeEg = "EG"
- // @enum CountryCode
+
+ // CountryCodeEr is a CountryCode enum value
CountryCodeEr = "ER"
- // @enum CountryCode
+
+ // CountryCodeEs is a CountryCode enum value
CountryCodeEs = "ES"
- // @enum CountryCode
+
+ // CountryCodeEt is a CountryCode enum value
CountryCodeEt = "ET"
- // @enum CountryCode
+
+ // CountryCodeFi is a CountryCode enum value
CountryCodeFi = "FI"
- // @enum CountryCode
+
+ // CountryCodeFj is a CountryCode enum value
CountryCodeFj = "FJ"
- // @enum CountryCode
+
+ // CountryCodeFk is a CountryCode enum value
CountryCodeFk = "FK"
- // @enum CountryCode
+
+ // CountryCodeFm is a CountryCode enum value
CountryCodeFm = "FM"
- // @enum CountryCode
+
+ // CountryCodeFo is a CountryCode enum value
CountryCodeFo = "FO"
- // @enum CountryCode
+
+ // CountryCodeFr is a CountryCode enum value
CountryCodeFr = "FR"
- // @enum CountryCode
+
+ // CountryCodeGa is a CountryCode enum value
CountryCodeGa = "GA"
- // @enum CountryCode
+
+ // CountryCodeGb is a CountryCode enum value
CountryCodeGb = "GB"
- // @enum CountryCode
+
+ // CountryCodeGd is a CountryCode enum value
CountryCodeGd = "GD"
- // @enum CountryCode
+
+ // CountryCodeGe is a CountryCode enum value
CountryCodeGe = "GE"
- // @enum CountryCode
+
+ // CountryCodeGh is a CountryCode enum value
CountryCodeGh = "GH"
- // @enum CountryCode
+
+ // CountryCodeGi is a CountryCode enum value
CountryCodeGi = "GI"
- // @enum CountryCode
+
+ // CountryCodeGl is a CountryCode enum value
CountryCodeGl = "GL"
- // @enum CountryCode
+
+ // CountryCodeGm is a CountryCode enum value
CountryCodeGm = "GM"
- // @enum CountryCode
+
+ // CountryCodeGn is a CountryCode enum value
CountryCodeGn = "GN"
- // @enum CountryCode
+
+ // CountryCodeGq is a CountryCode enum value
CountryCodeGq = "GQ"
- // @enum CountryCode
+
+ // CountryCodeGr is a CountryCode enum value
CountryCodeGr = "GR"
- // @enum CountryCode
+
+ // CountryCodeGt is a CountryCode enum value
CountryCodeGt = "GT"
- // @enum CountryCode
+
+ // CountryCodeGu is a CountryCode enum value
CountryCodeGu = "GU"
- // @enum CountryCode
+
+ // CountryCodeGw is a CountryCode enum value
CountryCodeGw = "GW"
- // @enum CountryCode
+
+ // CountryCodeGy is a CountryCode enum value
CountryCodeGy = "GY"
- // @enum CountryCode
+
+ // CountryCodeHk is a CountryCode enum value
CountryCodeHk = "HK"
- // @enum CountryCode
+
+ // CountryCodeHn is a CountryCode enum value
CountryCodeHn = "HN"
- // @enum CountryCode
+
+ // CountryCodeHr is a CountryCode enum value
CountryCodeHr = "HR"
- // @enum CountryCode
+
+ // CountryCodeHt is a CountryCode enum value
CountryCodeHt = "HT"
- // @enum CountryCode
+
+ // CountryCodeHu is a CountryCode enum value
CountryCodeHu = "HU"
- // @enum CountryCode
+
+ // CountryCodeId is a CountryCode enum value
CountryCodeId = "ID"
- // @enum CountryCode
+
+ // CountryCodeIe is a CountryCode enum value
CountryCodeIe = "IE"
- // @enum CountryCode
+
+ // CountryCodeIl is a CountryCode enum value
CountryCodeIl = "IL"
- // @enum CountryCode
+
+ // CountryCodeIm is a CountryCode enum value
CountryCodeIm = "IM"
- // @enum CountryCode
+
+ // CountryCodeIn is a CountryCode enum value
CountryCodeIn = "IN"
- // @enum CountryCode
+
+ // CountryCodeIq is a CountryCode enum value
CountryCodeIq = "IQ"
- // @enum CountryCode
+
+ // CountryCodeIr is a CountryCode enum value
CountryCodeIr = "IR"
- // @enum CountryCode
+
+ // CountryCodeIs is a CountryCode enum value
CountryCodeIs = "IS"
- // @enum CountryCode
+
+ // CountryCodeIt is a CountryCode enum value
CountryCodeIt = "IT"
- // @enum CountryCode
+
+ // CountryCodeJm is a CountryCode enum value
CountryCodeJm = "JM"
- // @enum CountryCode
+
+ // CountryCodeJo is a CountryCode enum value
CountryCodeJo = "JO"
- // @enum CountryCode
+
+ // CountryCodeJp is a CountryCode enum value
CountryCodeJp = "JP"
- // @enum CountryCode
+
+ // CountryCodeKe is a CountryCode enum value
CountryCodeKe = "KE"
- // @enum CountryCode
+
+ // CountryCodeKg is a CountryCode enum value
CountryCodeKg = "KG"
- // @enum CountryCode
+
+ // CountryCodeKh is a CountryCode enum value
CountryCodeKh = "KH"
- // @enum CountryCode
+
+ // CountryCodeKi is a CountryCode enum value
CountryCodeKi = "KI"
- // @enum CountryCode
+
+ // CountryCodeKm is a CountryCode enum value
CountryCodeKm = "KM"
- // @enum CountryCode
+
+ // CountryCodeKn is a CountryCode enum value
CountryCodeKn = "KN"
- // @enum CountryCode
+
+ // CountryCodeKp is a CountryCode enum value
CountryCodeKp = "KP"
- // @enum CountryCode
+
+ // CountryCodeKr is a CountryCode enum value
CountryCodeKr = "KR"
- // @enum CountryCode
+
+ // CountryCodeKw is a CountryCode enum value
CountryCodeKw = "KW"
- // @enum CountryCode
+
+ // CountryCodeKy is a CountryCode enum value
CountryCodeKy = "KY"
- // @enum CountryCode
+
+ // CountryCodeKz is a CountryCode enum value
CountryCodeKz = "KZ"
- // @enum CountryCode
+
+ // CountryCodeLa is a CountryCode enum value
CountryCodeLa = "LA"
- // @enum CountryCode
+
+ // CountryCodeLb is a CountryCode enum value
CountryCodeLb = "LB"
- // @enum CountryCode
+
+ // CountryCodeLc is a CountryCode enum value
CountryCodeLc = "LC"
- // @enum CountryCode
+
+ // CountryCodeLi is a CountryCode enum value
CountryCodeLi = "LI"
- // @enum CountryCode
+
+ // CountryCodeLk is a CountryCode enum value
CountryCodeLk = "LK"
- // @enum CountryCode
+
+ // CountryCodeLr is a CountryCode enum value
CountryCodeLr = "LR"
- // @enum CountryCode
+
+ // CountryCodeLs is a CountryCode enum value
CountryCodeLs = "LS"
- // @enum CountryCode
+
+ // CountryCodeLt is a CountryCode enum value
CountryCodeLt = "LT"
- // @enum CountryCode
+
+ // CountryCodeLu is a CountryCode enum value
CountryCodeLu = "LU"
- // @enum CountryCode
+
+ // CountryCodeLv is a CountryCode enum value
CountryCodeLv = "LV"
- // @enum CountryCode
+
+ // CountryCodeLy is a CountryCode enum value
CountryCodeLy = "LY"
- // @enum CountryCode
+
+ // CountryCodeMa is a CountryCode enum value
CountryCodeMa = "MA"
- // @enum CountryCode
+
+ // CountryCodeMc is a CountryCode enum value
CountryCodeMc = "MC"
- // @enum CountryCode
+
+ // CountryCodeMd is a CountryCode enum value
CountryCodeMd = "MD"
- // @enum CountryCode
+
+ // CountryCodeMe is a CountryCode enum value
CountryCodeMe = "ME"
- // @enum CountryCode
+
+ // CountryCodeMf is a CountryCode enum value
CountryCodeMf = "MF"
- // @enum CountryCode
+
+ // CountryCodeMg is a CountryCode enum value
CountryCodeMg = "MG"
- // @enum CountryCode
+
+ // CountryCodeMh is a CountryCode enum value
CountryCodeMh = "MH"
- // @enum CountryCode
+
+ // CountryCodeMk is a CountryCode enum value
CountryCodeMk = "MK"
- // @enum CountryCode
+
+ // CountryCodeMl is a CountryCode enum value
CountryCodeMl = "ML"
- // @enum CountryCode
+
+ // CountryCodeMm is a CountryCode enum value
CountryCodeMm = "MM"
- // @enum CountryCode
+
+ // CountryCodeMn is a CountryCode enum value
CountryCodeMn = "MN"
- // @enum CountryCode
+
+ // CountryCodeMo is a CountryCode enum value
CountryCodeMo = "MO"
- // @enum CountryCode
+
+ // CountryCodeMp is a CountryCode enum value
CountryCodeMp = "MP"
- // @enum CountryCode
+
+ // CountryCodeMr is a CountryCode enum value
CountryCodeMr = "MR"
- // @enum CountryCode
+
+ // CountryCodeMs is a CountryCode enum value
CountryCodeMs = "MS"
- // @enum CountryCode
+
+ // CountryCodeMt is a CountryCode enum value
CountryCodeMt = "MT"
- // @enum CountryCode
+
+ // CountryCodeMu is a CountryCode enum value
CountryCodeMu = "MU"
- // @enum CountryCode
+
+ // CountryCodeMv is a CountryCode enum value
CountryCodeMv = "MV"
- // @enum CountryCode
+
+ // CountryCodeMw is a CountryCode enum value
CountryCodeMw = "MW"
- // @enum CountryCode
+
+ // CountryCodeMx is a CountryCode enum value
CountryCodeMx = "MX"
- // @enum CountryCode
+
+ // CountryCodeMy is a CountryCode enum value
CountryCodeMy = "MY"
- // @enum CountryCode
+
+ // CountryCodeMz is a CountryCode enum value
CountryCodeMz = "MZ"
- // @enum CountryCode
+
+ // CountryCodeNa is a CountryCode enum value
CountryCodeNa = "NA"
- // @enum CountryCode
+
+ // CountryCodeNc is a CountryCode enum value
CountryCodeNc = "NC"
- // @enum CountryCode
+
+ // CountryCodeNe is a CountryCode enum value
CountryCodeNe = "NE"
- // @enum CountryCode
+
+ // CountryCodeNg is a CountryCode enum value
CountryCodeNg = "NG"
- // @enum CountryCode
+
+ // CountryCodeNi is a CountryCode enum value
CountryCodeNi = "NI"
- // @enum CountryCode
+
+ // CountryCodeNl is a CountryCode enum value
CountryCodeNl = "NL"
- // @enum CountryCode
+
+ // CountryCodeNo is a CountryCode enum value
CountryCodeNo = "NO"
- // @enum CountryCode
+
+ // CountryCodeNp is a CountryCode enum value
CountryCodeNp = "NP"
- // @enum CountryCode
+
+ // CountryCodeNr is a CountryCode enum value
CountryCodeNr = "NR"
- // @enum CountryCode
+
+ // CountryCodeNu is a CountryCode enum value
CountryCodeNu = "NU"
- // @enum CountryCode
+
+ // CountryCodeNz is a CountryCode enum value
CountryCodeNz = "NZ"
- // @enum CountryCode
+
+ // CountryCodeOm is a CountryCode enum value
CountryCodeOm = "OM"
- // @enum CountryCode
+
+ // CountryCodePa is a CountryCode enum value
CountryCodePa = "PA"
- // @enum CountryCode
+
+ // CountryCodePe is a CountryCode enum value
CountryCodePe = "PE"
- // @enum CountryCode
+
+ // CountryCodePf is a CountryCode enum value
CountryCodePf = "PF"
- // @enum CountryCode
+
+ // CountryCodePg is a CountryCode enum value
CountryCodePg = "PG"
- // @enum CountryCode
+
+ // CountryCodePh is a CountryCode enum value
CountryCodePh = "PH"
- // @enum CountryCode
+
+ // CountryCodePk is a CountryCode enum value
CountryCodePk = "PK"
- // @enum CountryCode
+
+ // CountryCodePl is a CountryCode enum value
CountryCodePl = "PL"
- // @enum CountryCode
+
+ // CountryCodePm is a CountryCode enum value
CountryCodePm = "PM"
- // @enum CountryCode
+
+ // CountryCodePn is a CountryCode enum value
CountryCodePn = "PN"
- // @enum CountryCode
+
+ // CountryCodePr is a CountryCode enum value
CountryCodePr = "PR"
- // @enum CountryCode
+
+ // CountryCodePt is a CountryCode enum value
CountryCodePt = "PT"
- // @enum CountryCode
+
+ // CountryCodePw is a CountryCode enum value
CountryCodePw = "PW"
- // @enum CountryCode
+
+ // CountryCodePy is a CountryCode enum value
CountryCodePy = "PY"
- // @enum CountryCode
+
+ // CountryCodeQa is a CountryCode enum value
CountryCodeQa = "QA"
- // @enum CountryCode
+
+ // CountryCodeRo is a CountryCode enum value
CountryCodeRo = "RO"
- // @enum CountryCode
+
+ // CountryCodeRs is a CountryCode enum value
CountryCodeRs = "RS"
- // @enum CountryCode
+
+ // CountryCodeRu is a CountryCode enum value
CountryCodeRu = "RU"
- // @enum CountryCode
+
+ // CountryCodeRw is a CountryCode enum value
CountryCodeRw = "RW"
- // @enum CountryCode
+
+ // CountryCodeSa is a CountryCode enum value
CountryCodeSa = "SA"
- // @enum CountryCode
+
+ // CountryCodeSb is a CountryCode enum value
CountryCodeSb = "SB"
- // @enum CountryCode
+
+ // CountryCodeSc is a CountryCode enum value
CountryCodeSc = "SC"
- // @enum CountryCode
+
+ // CountryCodeSd is a CountryCode enum value
CountryCodeSd = "SD"
- // @enum CountryCode
+
+ // CountryCodeSe is a CountryCode enum value
CountryCodeSe = "SE"
- // @enum CountryCode
+
+ // CountryCodeSg is a CountryCode enum value
CountryCodeSg = "SG"
- // @enum CountryCode
+
+ // CountryCodeSh is a CountryCode enum value
CountryCodeSh = "SH"
- // @enum CountryCode
+
+ // CountryCodeSi is a CountryCode enum value
CountryCodeSi = "SI"
- // @enum CountryCode
+
+ // CountryCodeSk is a CountryCode enum value
CountryCodeSk = "SK"
- // @enum CountryCode
+
+ // CountryCodeSl is a CountryCode enum value
CountryCodeSl = "SL"
- // @enum CountryCode
+
+ // CountryCodeSm is a CountryCode enum value
CountryCodeSm = "SM"
- // @enum CountryCode
+
+ // CountryCodeSn is a CountryCode enum value
CountryCodeSn = "SN"
- // @enum CountryCode
+
+ // CountryCodeSo is a CountryCode enum value
CountryCodeSo = "SO"
- // @enum CountryCode
+
+ // CountryCodeSr is a CountryCode enum value
CountryCodeSr = "SR"
- // @enum CountryCode
+
+ // CountryCodeSt is a CountryCode enum value
CountryCodeSt = "ST"
- // @enum CountryCode
+
+ // CountryCodeSv is a CountryCode enum value
CountryCodeSv = "SV"
- // @enum CountryCode
+
+ // CountryCodeSy is a CountryCode enum value
CountryCodeSy = "SY"
- // @enum CountryCode
+
+ // CountryCodeSz is a CountryCode enum value
CountryCodeSz = "SZ"
- // @enum CountryCode
+
+ // CountryCodeTc is a CountryCode enum value
CountryCodeTc = "TC"
- // @enum CountryCode
+
+ // CountryCodeTd is a CountryCode enum value
CountryCodeTd = "TD"
- // @enum CountryCode
+
+ // CountryCodeTg is a CountryCode enum value
CountryCodeTg = "TG"
- // @enum CountryCode
+
+ // CountryCodeTh is a CountryCode enum value
CountryCodeTh = "TH"
- // @enum CountryCode
+
+ // CountryCodeTj is a CountryCode enum value
CountryCodeTj = "TJ"
- // @enum CountryCode
+
+ // CountryCodeTk is a CountryCode enum value
CountryCodeTk = "TK"
- // @enum CountryCode
+
+ // CountryCodeTl is a CountryCode enum value
CountryCodeTl = "TL"
- // @enum CountryCode
+
+ // CountryCodeTm is a CountryCode enum value
CountryCodeTm = "TM"
- // @enum CountryCode
+
+ // CountryCodeTn is a CountryCode enum value
CountryCodeTn = "TN"
- // @enum CountryCode
+
+ // CountryCodeTo is a CountryCode enum value
CountryCodeTo = "TO"
- // @enum CountryCode
+
+ // CountryCodeTr is a CountryCode enum value
CountryCodeTr = "TR"
- // @enum CountryCode
+
+ // CountryCodeTt is a CountryCode enum value
CountryCodeTt = "TT"
- // @enum CountryCode
+
+ // CountryCodeTv is a CountryCode enum value
CountryCodeTv = "TV"
- // @enum CountryCode
+
+ // CountryCodeTw is a CountryCode enum value
CountryCodeTw = "TW"
- // @enum CountryCode
+
+ // CountryCodeTz is a CountryCode enum value
CountryCodeTz = "TZ"
- // @enum CountryCode
+
+ // CountryCodeUa is a CountryCode enum value
CountryCodeUa = "UA"
- // @enum CountryCode
+
+ // CountryCodeUg is a CountryCode enum value
CountryCodeUg = "UG"
- // @enum CountryCode
+
+ // CountryCodeUs is a CountryCode enum value
CountryCodeUs = "US"
- // @enum CountryCode
+
+ // CountryCodeUy is a CountryCode enum value
CountryCodeUy = "UY"
- // @enum CountryCode
+
+ // CountryCodeUz is a CountryCode enum value
CountryCodeUz = "UZ"
- // @enum CountryCode
+
+ // CountryCodeVa is a CountryCode enum value
CountryCodeVa = "VA"
- // @enum CountryCode
+
+ // CountryCodeVc is a CountryCode enum value
CountryCodeVc = "VC"
- // @enum CountryCode
+
+ // CountryCodeVe is a CountryCode enum value
CountryCodeVe = "VE"
- // @enum CountryCode
+
+ // CountryCodeVg is a CountryCode enum value
CountryCodeVg = "VG"
- // @enum CountryCode
+
+ // CountryCodeVi is a CountryCode enum value
CountryCodeVi = "VI"
- // @enum CountryCode
+
+ // CountryCodeVn is a CountryCode enum value
CountryCodeVn = "VN"
- // @enum CountryCode
+
+ // CountryCodeVu is a CountryCode enum value
CountryCodeVu = "VU"
- // @enum CountryCode
+
+ // CountryCodeWf is a CountryCode enum value
CountryCodeWf = "WF"
- // @enum CountryCode
+
+ // CountryCodeWs is a CountryCode enum value
CountryCodeWs = "WS"
- // @enum CountryCode
+
+ // CountryCodeYe is a CountryCode enum value
CountryCodeYe = "YE"
- // @enum CountryCode
+
+ // CountryCodeYt is a CountryCode enum value
CountryCodeYt = "YT"
- // @enum CountryCode
+
+ // CountryCodeZa is a CountryCode enum value
CountryCodeZa = "ZA"
- // @enum CountryCode
+
+ // CountryCodeZm is a CountryCode enum value
CountryCodeZm = "ZM"
- // @enum CountryCode
+
+ // CountryCodeZw is a CountryCode enum value
CountryCodeZw = "ZW"
)
const (
- // @enum DomainAvailability
+ // DomainAvailabilityAvailable is a DomainAvailability enum value
DomainAvailabilityAvailable = "AVAILABLE"
- // @enum DomainAvailability
+
+ // DomainAvailabilityAvailableReserved is a DomainAvailability enum value
DomainAvailabilityAvailableReserved = "AVAILABLE_RESERVED"
- // @enum DomainAvailability
+
+ // DomainAvailabilityAvailablePreorder is a DomainAvailability enum value
DomainAvailabilityAvailablePreorder = "AVAILABLE_PREORDER"
- // @enum DomainAvailability
+
+ // DomainAvailabilityUnavailable is a DomainAvailability enum value
DomainAvailabilityUnavailable = "UNAVAILABLE"
- // @enum DomainAvailability
+
+ // DomainAvailabilityUnavailablePremium is a DomainAvailability enum value
DomainAvailabilityUnavailablePremium = "UNAVAILABLE_PREMIUM"
- // @enum DomainAvailability
+
+ // DomainAvailabilityUnavailableRestricted is a DomainAvailability enum value
DomainAvailabilityUnavailableRestricted = "UNAVAILABLE_RESTRICTED"
- // @enum DomainAvailability
+
+ // DomainAvailabilityReserved is a DomainAvailability enum value
DomainAvailabilityReserved = "RESERVED"
- // @enum DomainAvailability
+
+ // DomainAvailabilityDontKnow is a DomainAvailability enum value
DomainAvailabilityDontKnow = "DONT_KNOW"
)
const (
- // @enum ExtraParamName
+ // ExtraParamNameDunsNumber is a ExtraParamName enum value
ExtraParamNameDunsNumber = "DUNS_NUMBER"
- // @enum ExtraParamName
+
+ // ExtraParamNameBrandNumber is a ExtraParamName enum value
ExtraParamNameBrandNumber = "BRAND_NUMBER"
- // @enum ExtraParamName
+
+ // ExtraParamNameBirthDepartment is a ExtraParamName enum value
ExtraParamNameBirthDepartment = "BIRTH_DEPARTMENT"
- // @enum ExtraParamName
+
+ // ExtraParamNameBirthDateInYyyyMmDd is a ExtraParamName enum value
ExtraParamNameBirthDateInYyyyMmDd = "BIRTH_DATE_IN_YYYY_MM_DD"
- // @enum ExtraParamName
+
+ // ExtraParamNameBirthCountry is a ExtraParamName enum value
ExtraParamNameBirthCountry = "BIRTH_COUNTRY"
- // @enum ExtraParamName
+
+ // ExtraParamNameBirthCity is a ExtraParamName enum value
ExtraParamNameBirthCity = "BIRTH_CITY"
- // @enum ExtraParamName
+
+ // ExtraParamNameDocumentNumber is a ExtraParamName enum value
ExtraParamNameDocumentNumber = "DOCUMENT_NUMBER"
- // @enum ExtraParamName
+
+ // ExtraParamNameAuIdNumber is a ExtraParamName enum value
ExtraParamNameAuIdNumber = "AU_ID_NUMBER"
- // @enum ExtraParamName
+
+ // ExtraParamNameAuIdType is a ExtraParamName enum value
ExtraParamNameAuIdType = "AU_ID_TYPE"
- // @enum ExtraParamName
+
+ // ExtraParamNameCaLegalType is a ExtraParamName enum value
ExtraParamNameCaLegalType = "CA_LEGAL_TYPE"
- // @enum ExtraParamName
+
+ // ExtraParamNameCaBusinessEntityType is a ExtraParamName enum value
ExtraParamNameCaBusinessEntityType = "CA_BUSINESS_ENTITY_TYPE"
- // @enum ExtraParamName
+
+ // ExtraParamNameEsIdentification is a ExtraParamName enum value
ExtraParamNameEsIdentification = "ES_IDENTIFICATION"
- // @enum ExtraParamName
+
+ // ExtraParamNameEsIdentificationType is a ExtraParamName enum value
ExtraParamNameEsIdentificationType = "ES_IDENTIFICATION_TYPE"
- // @enum ExtraParamName
+
+ // ExtraParamNameEsLegalForm is a ExtraParamName enum value
ExtraParamNameEsLegalForm = "ES_LEGAL_FORM"
- // @enum ExtraParamName
+
+ // ExtraParamNameFiBusinessNumber is a ExtraParamName enum value
ExtraParamNameFiBusinessNumber = "FI_BUSINESS_NUMBER"
- // @enum ExtraParamName
+
+ // ExtraParamNameFiIdNumber is a ExtraParamName enum value
ExtraParamNameFiIdNumber = "FI_ID_NUMBER"
- // @enum ExtraParamName
+
+ // ExtraParamNameFiNationality is a ExtraParamName enum value
+ ExtraParamNameFiNationality = "FI_NATIONALITY"
+
+ // ExtraParamNameFiOrganizationType is a ExtraParamName enum value
+ ExtraParamNameFiOrganizationType = "FI_ORGANIZATION_TYPE"
+
+ // ExtraParamNameItPin is a ExtraParamName enum value
ExtraParamNameItPin = "IT_PIN"
- // @enum ExtraParamName
+
+ // ExtraParamNameItRegistrantEntityType is a ExtraParamName enum value
+ ExtraParamNameItRegistrantEntityType = "IT_REGISTRANT_ENTITY_TYPE"
+
+ // ExtraParamNameRuPassportData is a ExtraParamName enum value
ExtraParamNameRuPassportData = "RU_PASSPORT_DATA"
- // @enum ExtraParamName
+
+ // ExtraParamNameSeIdNumber is a ExtraParamName enum value
ExtraParamNameSeIdNumber = "SE_ID_NUMBER"
- // @enum ExtraParamName
+
+ // ExtraParamNameSgIdNumber is a ExtraParamName enum value
ExtraParamNameSgIdNumber = "SG_ID_NUMBER"
- // @enum ExtraParamName
+
+ // ExtraParamNameVatNumber is a ExtraParamName enum value
ExtraParamNameVatNumber = "VAT_NUMBER"
+
+ // ExtraParamNameUkContactType is a ExtraParamName enum value
+ ExtraParamNameUkContactType = "UK_CONTACT_TYPE"
+
+ // ExtraParamNameUkCompanyNumber is a ExtraParamName enum value
+ ExtraParamNameUkCompanyNumber = "UK_COMPANY_NUMBER"
)
const (
- // @enum OperationStatus
+ // OperationStatusSubmitted is a OperationStatus enum value
OperationStatusSubmitted = "SUBMITTED"
- // @enum OperationStatus
+
+ // OperationStatusInProgress is a OperationStatus enum value
OperationStatusInProgress = "IN_PROGRESS"
- // @enum OperationStatus
+
+ // OperationStatusError is a OperationStatus enum value
OperationStatusError = "ERROR"
- // @enum OperationStatus
+
+ // OperationStatusSuccessful is a OperationStatus enum value
OperationStatusSuccessful = "SUCCESSFUL"
- // @enum OperationStatus
+
+ // OperationStatusFailed is a OperationStatus enum value
OperationStatusFailed = "FAILED"
)
const (
- // @enum OperationType
+ // OperationTypeRegisterDomain is a OperationType enum value
OperationTypeRegisterDomain = "REGISTER_DOMAIN"
- // @enum OperationType
+
+ // OperationTypeDeleteDomain is a OperationType enum value
OperationTypeDeleteDomain = "DELETE_DOMAIN"
- // @enum OperationType
+
+ // OperationTypeTransferInDomain is a OperationType enum value
OperationTypeTransferInDomain = "TRANSFER_IN_DOMAIN"
- // @enum OperationType
+
+ // OperationTypeUpdateDomainContact is a OperationType enum value
OperationTypeUpdateDomainContact = "UPDATE_DOMAIN_CONTACT"
- // @enum OperationType
+
+ // OperationTypeUpdateNameserver is a OperationType enum value
OperationTypeUpdateNameserver = "UPDATE_NAMESERVER"
- // @enum OperationType
+
+ // OperationTypeChangePrivacyProtection is a OperationType enum value
OperationTypeChangePrivacyProtection = "CHANGE_PRIVACY_PROTECTION"
- // @enum OperationType
+
+ // OperationTypeDomainLock is a OperationType enum value
OperationTypeDomainLock = "DOMAIN_LOCK"
+
+ // OperationTypeEnableAutorenew is a OperationType enum value
+ OperationTypeEnableAutorenew = "ENABLE_AUTORENEW"
+
+ // OperationTypeDisableAutorenew is a OperationType enum value
+ OperationTypeDisableAutorenew = "DISABLE_AUTORENEW"
+
+ // OperationTypeAddDnssec is a OperationType enum value
+ OperationTypeAddDnssec = "ADD_DNSSEC"
+
+ // OperationTypeRemoveDnssec is a OperationType enum value
+ OperationTypeRemoveDnssec = "REMOVE_DNSSEC"
+
+ // OperationTypeExpireDomain is a OperationType enum value
+ OperationTypeExpireDomain = "EXPIRE_DOMAIN"
+
+ // OperationTypeTransferOutDomain is a OperationType enum value
+ OperationTypeTransferOutDomain = "TRANSFER_OUT_DOMAIN"
+
+ // OperationTypeChangeDomainOwner is a OperationType enum value
+ OperationTypeChangeDomainOwner = "CHANGE_DOMAIN_OWNER"
+
+ // OperationTypeRenewDomain is a OperationType enum value
+ OperationTypeRenewDomain = "RENEW_DOMAIN"
+
+ // OperationTypePushDomain is a OperationType enum value
+ OperationTypePushDomain = "PUSH_DOMAIN"
)
const (
- // @enum ReachabilityStatus
+ // ReachabilityStatusPending is a ReachabilityStatus enum value
ReachabilityStatusPending = "PENDING"
- // @enum ReachabilityStatus
+
+ // ReachabilityStatusDone is a ReachabilityStatus enum value
ReachabilityStatusDone = "DONE"
- // @enum ReachabilityStatus
+
+ // ReachabilityStatusExpired is a ReachabilityStatus enum value
ReachabilityStatusExpired = "EXPIRED"
)
+
+// Whether the domain name can be transferred to Amazon Route 53.
+//
+// You can transfer only domains that have a value of TRANSFERABLE for Transferable.
+//
+// Valid values:
+//
+// TRANSFERABLEThe domain name can be transferred to Amazon Route 53.
+//
+// UNTRANSFERRABLEThe domain name can't be transferred to Amazon Route 53.
+//
+// DONT_KNOWReserved for future use.
+const (
+ // TransferableTransferable is a Transferable enum value
+ TransferableTransferable = "TRANSFERABLE"
+
+ // TransferableUntransferable is a Transferable enum value
+ TransferableUntransferable = "UNTRANSFERABLE"
+
+ // TransferableDontKnow is a Transferable enum value
+ TransferableDontKnow = "DONT_KNOW"
+)
diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53domains/doc.go b/vendor/github.com/aws/aws-sdk-go/service/route53domains/doc.go
new file mode 100644
index 000000000..b6b057326
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/route53domains/doc.go
@@ -0,0 +1,29 @@
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
+
+// Package route53domains provides the client and types for making API
+// requests to Amazon Route 53 Domains.
+//
+// Amazon Route 53 API actions let you register domain names and perform related
+// operations.
+//
+// See https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15 for more information on this service.
+//
+// See route53domains package documentation for more information.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/route53domains/
+//
+// Using the Client
+//
+// To contact Amazon Route 53 Domains with the SDK use the New function to create
+// a new service client. With that client you can make API requests to the service.
+// These clients are safe to use concurrently.
+//
+// See the SDK's documentation for more information on how to use the SDK.
+// https://docs.aws.amazon.com/sdk-for-go/api/
+//
+// See aws.Config documentation for more information on configuring SDK clients.
+// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config
+//
+// See the Amazon Route 53 Domains client Route53Domains for more
+// information on creating client for this service.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/route53domains/#New
+package route53domains
diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53domains/errors.go b/vendor/github.com/aws/aws-sdk-go/service/route53domains/errors.go
new file mode 100644
index 000000000..f6fc9ef0b
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/route53domains/errors.go
@@ -0,0 +1,45 @@
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
+
+package route53domains
+
+const (
+
+ // ErrCodeDomainLimitExceeded for service response error code
+ // "DomainLimitExceeded".
+ //
+ // The number of domains has exceeded the allowed threshold for the account.
+ ErrCodeDomainLimitExceeded = "DomainLimitExceeded"
+
+ // ErrCodeDuplicateRequest for service response error code
+ // "DuplicateRequest".
+ //
+ // The request is already in progress for the domain.
+ ErrCodeDuplicateRequest = "DuplicateRequest"
+
+ // ErrCodeInvalidInput for service response error code
+ // "InvalidInput".
+ //
+ // The requested item is not acceptable. For example, for an OperationId it
+ // might refer to the ID of an operation that is already completed. For a domain
+ // name, it might not be a valid domain name or belong to the requester account.
+ ErrCodeInvalidInput = "InvalidInput"
+
+ // ErrCodeOperationLimitExceeded for service response error code
+ // "OperationLimitExceeded".
+ //
+ // The number of operations or jobs running exceeded the allowed threshold for
+ // the account.
+ ErrCodeOperationLimitExceeded = "OperationLimitExceeded"
+
+ // ErrCodeTLDRulesViolation for service response error code
+ // "TLDRulesViolation".
+ //
+ // The top-level domain does not support this operation.
+ ErrCodeTLDRulesViolation = "TLDRulesViolation"
+
+ // ErrCodeUnsupportedTLD for service response error code
+ // "UnsupportedTLD".
+ //
+ // Amazon Route 53 does not support this top-level domain (TLD).
+ ErrCodeUnsupportedTLD = "UnsupportedTLD"
+)
diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53domains/service.go b/vendor/github.com/aws/aws-sdk-go/service/route53domains/service.go
index f119641ea..299c0770c 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/route53domains/service.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/route53domains/service.go
@@ -1,4 +1,4 @@
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package route53domains
@@ -11,9 +11,12 @@ import (
"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
)
-// Route53Domains is a client for Amazon Route 53 Domains.
-//The service client's operations are safe to be used concurrently.
-// It is not safe to mutate any of the client's properties though.
+// Route53Domains provides the API operation methods for making requests to
+// Amazon Route 53 Domains. See this package's package overview docs
+// for details on the service.
+//
+// Route53Domains methods are safe to use concurrently. It is not safe to
+// modify mutate any of the struct's properties though.
type Route53Domains struct {
*client.Client
}
@@ -24,8 +27,11 @@ var initClient func(*client.Client)
// Used for custom request initialization logic
var initRequest func(*request.Request)
-// A ServiceName is the name of the service the client will make API calls to.
-const ServiceName = "route53domains"
+// Service information constants
+const (
+ ServiceName = "route53domains" // Service endpoint prefix API calls made to.
+ EndpointsID = ServiceName // Service ID for Regions and Endpoints metadata.
+)
// New creates a new instance of the Route53Domains client with a session.
// If additional configuration is needed for the client instance use the optional
@@ -38,17 +44,18 @@ const ServiceName = "route53domains"
// // Create a Route53Domains client with additional configuration
// svc := route53domains.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
func New(p client.ConfigProvider, cfgs ...*aws.Config) *Route53Domains {
- c := p.ClientConfig(ServiceName, cfgs...)
- return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion)
+ c := p.ClientConfig(EndpointsID, cfgs...)
+ return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName)
}
// newClient creates, initializes and returns a new service client instance.
-func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion string) *Route53Domains {
+func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion, signingName string) *Route53Domains {
svc := &Route53Domains{
Client: client.New(
cfg,
metadata.ClientInfo{
ServiceName: ServiceName,
+ SigningName: signingName,
SigningRegion: signingRegion,
Endpoint: endpoint,
APIVersion: "2014-05-15",
diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go
index f11e8675f..3b8be4378 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go
@@ -1,11 +1,11 @@
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
-// Package sts provides a client for AWS Security Token Service.
package sts
import (
"time"
+ "github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awsutil"
"github.com/aws/aws-sdk-go/aws/request"
)
@@ -14,17 +14,18 @@ const opAssumeRole = "AssumeRole"
// AssumeRoleRequest generates a "aws/request.Request" representing the
// client's request for the AssumeRole operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AssumeRole method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AssumeRole for more information on using the AssumeRole
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AssumeRoleRequest method.
// req, resp := client.AssumeRoleRequest(params)
@@ -34,6 +35,7 @@ const opAssumeRole = "AssumeRole"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRole
func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, output *AssumeRoleOutput) {
op := &request.Operation{
Name: opAssumeRole,
@@ -45,12 +47,13 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
input = &AssumeRoleInput{}
}
- req = c.newRequest(op, input, output)
output = &AssumeRoleOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// AssumeRole API operation for AWS Security Token Service.
+//
// Returns a set of temporary security credentials (consisting of an access
// key ID, a secret access key, and a security token) that you can use to access
// AWS resources that you might not normally have access to. Typically, you
@@ -60,7 +63,7 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
// and Comparing the AWS STS APIs (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison)
// in the IAM User Guide.
//
-// Important: You cannot call AssumeRole by using AWS root account credentials;
+// Important: You cannot call AssumeRole by using AWS root account credentials;
// access is denied. You must use credentials for an IAM user or an IAM role
// to call AssumeRole.
//
@@ -89,18 +92,18 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
// when calling AssumeRole, which can be from 900 seconds (15 minutes) to a
// maximum of 3600 seconds (1 hour). The default is 1 hour.
//
-// The temporary security credentials created by AssumeRole can be used to
-// make API calls to any AWS service with the following exception: you cannot
-// call the STS service's GetFederationToken or GetSessionToken APIs.
+// The temporary security credentials created by AssumeRole can be used to make
+// API calls to any AWS service with the following exception: you cannot call
+// the STS service's GetFederationToken or GetSessionToken APIs.
//
-// Optionally, you can pass an IAM access policy to this operation. If you
-// choose not to pass a policy, the temporary security credentials that are
-// returned by the operation have the permissions that are defined in the access
-// policy of the role that is being assumed. If you pass a policy to this operation,
+// Optionally, you can pass an IAM access policy to this operation. If you choose
+// not to pass a policy, the temporary security credentials that are returned
+// by the operation have the permissions that are defined in the access policy
+// of the role that is being assumed. If you pass a policy to this operation,
// the temporary security credentials that are returned by the operation have
// the permissions that are allowed by both the access policy of the role that
-// is being assumed, and the policy that you pass. This gives you a way to
-// further restrict the permissions for the resulting temporary security credentials.
+// is being assumed, and the policy that you pass. This gives you a way to further
+// restrict the permissions for the resulting temporary security credentials.
// You cannot use the passed policy to grant permissions that are in excess
// of those allowed by the access policy of the role that is being assumed.
// For more information, see Permissions for AssumeRole, AssumeRoleWithSAML,
@@ -120,7 +123,7 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
// a policy to the user (identical to the previous different account user),
// or you can add the user as a principal directly in the role's trust policy
//
-// Using MFA with AssumeRole
+// Using MFA with AssumeRole
//
// You can optionally include multi-factor authentication (MFA) information
// when you call AssumeRole. This is useful for cross-account scenarios in which
@@ -131,7 +134,7 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
// denied. The condition in a trust policy that tests for MFA authentication
// might look like the following example.
//
-// "Condition": {"Bool": {"aws:MultiFactorAuthPresent": true}}
+// "Condition": {"Bool": {"aws:MultiFactorAuthPresent": true}}
//
// For more information, see Configuring MFA-Protected API Access (http://docs.aws.amazon.com/IAM/latest/UserGuide/MFAProtectedAPI.html)
// in the IAM User Guide guide.
@@ -140,27 +143,69 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
// parameters. The SerialNumber value identifies the user's hardware or virtual
// MFA device. The TokenCode is the time-based one-time password (TOTP) that
// the MFA devices produces.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS Security Token Service's
+// API operation AssumeRole for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument"
+// The request was rejected because the policy document was malformed. The error
+// message describes the specific error.
+//
+// * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge"
+// The request was rejected because the policy document was too large. The error
+// message describes how big the policy document is, in packed form, as a percentage
+// of what the API allows.
+//
+// * ErrCodeRegionDisabledException "RegionDisabledException"
+// STS is not activated in the requested region for the account that is being
+// asked to generate credentials. The account administrator must use the IAM
+// console to activate STS in that region. For more information, see Activating
+// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
+// in the IAM User Guide.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRole
func (c *STS) AssumeRole(input *AssumeRoleInput) (*AssumeRoleOutput, error) {
req, out := c.AssumeRoleRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AssumeRoleWithContext is the same as AssumeRole with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssumeRole for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *STS) AssumeRoleWithContext(ctx aws.Context, input *AssumeRoleInput, opts ...request.Option) (*AssumeRoleOutput, error) {
+ req, out := c.AssumeRoleRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opAssumeRoleWithSAML = "AssumeRoleWithSAML"
// AssumeRoleWithSAMLRequest generates a "aws/request.Request" representing the
// client's request for the AssumeRoleWithSAML operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AssumeRoleWithSAML method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AssumeRoleWithSAML for more information on using the AssumeRoleWithSAML
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AssumeRoleWithSAMLRequest method.
// req, resp := client.AssumeRoleWithSAMLRequest(params)
@@ -170,6 +215,7 @@ const opAssumeRoleWithSAML = "AssumeRoleWithSAML"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAML
func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *request.Request, output *AssumeRoleWithSAMLOutput) {
op := &request.Operation{
Name: opAssumeRoleWithSAML,
@@ -181,12 +227,13 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re
input = &AssumeRoleWithSAMLInput{}
}
- req = c.newRequest(op, input, output)
output = &AssumeRoleWithSAMLOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// AssumeRoleWithSAML API operation for AWS Security Token Service.
+//
// Returns a set of temporary security credentials for users who have been authenticated
// via a SAML authentication response. This operation provides a mechanism for
// tying an enterprise identity store or directory to role-based AWS access
@@ -206,17 +253,17 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re
// can be from 900 seconds (15 minutes) to a maximum of 3600 seconds (1 hour).
// The default is 1 hour.
//
-// The temporary security credentials created by AssumeRoleWithSAML can be
-// used to make API calls to any AWS service with the following exception: you
-// cannot call the STS service's GetFederationToken or GetSessionToken APIs.
+// The temporary security credentials created by AssumeRoleWithSAML can be used
+// to make API calls to any AWS service with the following exception: you cannot
+// call the STS service's GetFederationToken or GetSessionToken APIs.
//
-// Optionally, you can pass an IAM access policy to this operation. If you
-// choose not to pass a policy, the temporary security credentials that are
-// returned by the operation have the permissions that are defined in the access
-// policy of the role that is being assumed. If you pass a policy to this operation,
+// Optionally, you can pass an IAM access policy to this operation. If you choose
+// not to pass a policy, the temporary security credentials that are returned
+// by the operation have the permissions that are defined in the access policy
+// of the role that is being assumed. If you pass a policy to this operation,
// the temporary security credentials that are returned by the operation have
// the permissions that are allowed by the intersection of both the access policy
-// of the role that is being assumed, and the policy that you pass. This means
+// of the role that is being assumed, and the policy that you pass. This means
// that both policies must grant the permission for the action to be allowed.
// This gives you a way to further restrict the permissions for the resulting
// temporary security credentials. You cannot use the passed policy to grant
@@ -225,8 +272,8 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re
// AssumeRoleWithSAML, and AssumeRoleWithWebIdentity (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html)
// in the IAM User Guide.
//
-// Before your application can call AssumeRoleWithSAML, you must configure
-// your SAML identity provider (IdP) to issue the claims required by AWS. Additionally,
+// Before your application can call AssumeRoleWithSAML, you must configure your
+// SAML identity provider (IdP) to issue the claims required by AWS. Additionally,
// you must use AWS Identity and Access Management (IAM) to create a SAML provider
// entity in your AWS account that represents your identity provider, and create
// an IAM role that specifies this SAML provider in its trust policy.
@@ -235,46 +282,103 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re
// The identity of the caller is validated by using keys in the metadata document
// that is uploaded for the SAML provider entity for your identity provider.
//
-// Calling AssumeRoleWithSAML can result in an entry in your AWS CloudTrail
+// Calling AssumeRoleWithSAML can result in an entry in your AWS CloudTrail
// logs. The entry includes the value in the NameID element of the SAML assertion.
// We recommend that you use a NameIDType that is not associated with any personally
// identifiable information (PII). For example, you could instead use the Persistent
// Identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).
//
-// For more information, see the following resources:
+// For more information, see the following resources:
//
-// About SAML 2.0-based Federation (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html)
-// in the IAM User Guide.
+// * About SAML 2.0-based Federation (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html)
+// in the IAM User Guide.
//
-// Creating SAML Identity Providers (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html)
-// in the IAM User Guide.
+// * Creating SAML Identity Providers (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html)
+// in the IAM User Guide.
//
-// Configuring a Relying Party and Claims (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_relying-party.html)
-// in the IAM User Guide.
+// * Configuring a Relying Party and Claims (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_relying-party.html)
+// in the IAM User Guide.
//
-// Creating a Role for SAML 2.0 Federation (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html)
-// in the IAM User Guide.
+// * Creating a Role for SAML 2.0 Federation (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html)
+// in the IAM User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS Security Token Service's
+// API operation AssumeRoleWithSAML for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument"
+// The request was rejected because the policy document was malformed. The error
+// message describes the specific error.
+//
+// * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge"
+// The request was rejected because the policy document was too large. The error
+// message describes how big the policy document is, in packed form, as a percentage
+// of what the API allows.
+//
+// * ErrCodeIDPRejectedClaimException "IDPRejectedClaim"
+// The identity provider (IdP) reported that authentication failed. This might
+// be because the claim is invalid.
+//
+// If this error is returned for the AssumeRoleWithWebIdentity operation, it
+// can also mean that the claim has expired or has been explicitly revoked.
+//
+// * ErrCodeInvalidIdentityTokenException "InvalidIdentityToken"
+// The web identity token that was passed could not be validated by AWS. Get
+// a new identity token from the identity provider and then retry the request.
+//
+// * ErrCodeExpiredTokenException "ExpiredTokenException"
+// The web identity token that was passed is expired or is not valid. Get a
+// new identity token from the identity provider and then retry the request.
+//
+// * ErrCodeRegionDisabledException "RegionDisabledException"
+// STS is not activated in the requested region for the account that is being
+// asked to generate credentials. The account administrator must use the IAM
+// console to activate STS in that region. For more information, see Activating
+// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
+// in the IAM User Guide.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAML
func (c *STS) AssumeRoleWithSAML(input *AssumeRoleWithSAMLInput) (*AssumeRoleWithSAMLOutput, error) {
req, out := c.AssumeRoleWithSAMLRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AssumeRoleWithSAMLWithContext is the same as AssumeRoleWithSAML with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssumeRoleWithSAML for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *STS) AssumeRoleWithSAMLWithContext(ctx aws.Context, input *AssumeRoleWithSAMLInput, opts ...request.Option) (*AssumeRoleWithSAMLOutput, error) {
+ req, out := c.AssumeRoleWithSAMLRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opAssumeRoleWithWebIdentity = "AssumeRoleWithWebIdentity"
// AssumeRoleWithWebIdentityRequest generates a "aws/request.Request" representing the
// client's request for the AssumeRoleWithWebIdentity operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AssumeRoleWithWebIdentity method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AssumeRoleWithWebIdentity for more information on using the AssumeRoleWithWebIdentity
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AssumeRoleWithWebIdentityRequest method.
// req, resp := client.AssumeRoleWithWebIdentityRequest(params)
@@ -284,6 +388,7 @@ const opAssumeRoleWithWebIdentity = "AssumeRoleWithWebIdentity"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentity
func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityInput) (req *request.Request, output *AssumeRoleWithWebIdentityOutput) {
op := &request.Operation{
Name: opAssumeRoleWithWebIdentity,
@@ -295,19 +400,20 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
input = &AssumeRoleWithWebIdentityInput{}
}
- req = c.newRequest(op, input, output)
output = &AssumeRoleWithWebIdentityOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// AssumeRoleWithWebIdentity API operation for AWS Security Token Service.
+//
// Returns a set of temporary security credentials for users who have been authenticated
// in a mobile or web application with a web identity provider, such as Amazon
// Cognito, Login with Amazon, Facebook, Google, or any OpenID Connect-compatible
// identity provider.
//
-// For mobile applications, we recommend that you use Amazon Cognito. You
-// can use Amazon Cognito with the AWS SDK for iOS (http://aws.amazon.com/sdkforios/)
+// For mobile applications, we recommend that you use Amazon Cognito. You can
+// use Amazon Cognito with the AWS SDK for iOS (http://aws.amazon.com/sdkforios/)
// and the AWS SDK for Android (http://aws.amazon.com/sdkforandroid/) to uniquely
// identify a user and supply the user with a consistent identity throughout
// the lifetime of an application.
@@ -317,7 +423,7 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
// (http://docs.aws.amazon.com/mobile/sdkforios/developerguide/cognito-auth.html#d0e664)
// in the AWS SDK for iOS Developer Guide.
//
-// Calling AssumeRoleWithWebIdentity does not require the use of AWS security
+// Calling AssumeRoleWithWebIdentity does not require the use of AWS security
// credentials. Therefore, you can distribute an application (for example, on
// mobile devices) that requests temporary security credentials without including
// long-term AWS credentials in the application, and without deploying server-based
@@ -336,18 +442,18 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
// AssumeRoleWithWebIdentity, which can be from 900 seconds (15 minutes) to
// a maximum of 3600 seconds (1 hour). The default is 1 hour.
//
-// The temporary security credentials created by AssumeRoleWithWebIdentity
-// can be used to make API calls to any AWS service with the following exception:
+// The temporary security credentials created by AssumeRoleWithWebIdentity can
+// be used to make API calls to any AWS service with the following exception:
// you cannot call the STS service's GetFederationToken or GetSessionToken APIs.
//
-// Optionally, you can pass an IAM access policy to this operation. If you
-// choose not to pass a policy, the temporary security credentials that are
-// returned by the operation have the permissions that are defined in the access
-// policy of the role that is being assumed. If you pass a policy to this operation,
+// Optionally, you can pass an IAM access policy to this operation. If you choose
+// not to pass a policy, the temporary security credentials that are returned
+// by the operation have the permissions that are defined in the access policy
+// of the role that is being assumed. If you pass a policy to this operation,
// the temporary security credentials that are returned by the operation have
// the permissions that are allowed by both the access policy of the role that
-// is being assumed, and the policy that you pass. This gives you a way to
-// further restrict the permissions for the resulting temporary security credentials.
+// is being assumed, and the policy that you pass. This gives you a way to further
+// restrict the permissions for the resulting temporary security credentials.
// You cannot use the passed policy to grant permissions that are in excess
// of those allowed by the access policy of the role that is being assumed.
// For more information, see Permissions for AssumeRole, AssumeRoleWithSAML,
@@ -360,53 +466,121 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
// the identity provider that is associated with the identity token. In other
// words, the identity provider must be specified in the role's trust policy.
//
-// Calling AssumeRoleWithWebIdentity can result in an entry in your AWS CloudTrail
+// Calling AssumeRoleWithWebIdentity can result in an entry in your AWS CloudTrail
// logs. The entry includes the Subject (http://openid.net/specs/openid-connect-core-1_0.html#Claims)
// of the provided Web Identity Token. We recommend that you avoid using any
// personally identifiable information (PII) in this field. For example, you
// could instead use a GUID or a pairwise identifier, as suggested in the OIDC
// specification (http://openid.net/specs/openid-connect-core-1_0.html#SubjectIDTypes).
//
-// For more information about how to use web identity federation and the AssumeRoleWithWebIdentity
+// For more information about how to use web identity federation and the AssumeRoleWithWebIdentity
// API, see the following resources:
//
-// Using Web Identity Federation APIs for Mobile Apps (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc_manual)
-// and Federation Through a Web-based Identity Provider (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity).
+// * Using Web Identity Federation APIs for Mobile Apps (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc_manual.html)
+// and Federation Through a Web-based Identity Provider (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity).
//
-// Web Identity Federation Playground (https://web-identity-federation-playground.s3.amazonaws.com/index.html).
-// This interactive website lets you walk through the process of authenticating
-// via Login with Amazon, Facebook, or Google, getting temporary security credentials,
-// and then using those credentials to make a request to AWS.
//
-// AWS SDK for iOS (http://aws.amazon.com/sdkforios/) and AWS SDK for Android
-// (http://aws.amazon.com/sdkforandroid/). These toolkits contain sample apps
-// that show how to invoke the identity providers, and then how to use the information
-// from these providers to get and use temporary security credentials.
+// * Web Identity Federation Playground (https://web-identity-federation-playground.s3.amazonaws.com/index.html).
+// This interactive website lets you walk through the process of authenticating
+// via Login with Amazon, Facebook, or Google, getting temporary security
+// credentials, and then using those credentials to make a request to AWS.
//
-// Web Identity Federation with Mobile Applications (http://aws.amazon.com/articles/4617974389850313).
-// This article discusses web identity federation and shows an example of how
-// to use web identity federation to get access to content in Amazon S3.
+//
+// * AWS SDK for iOS (http://aws.amazon.com/sdkforios/) and AWS SDK for Android
+// (http://aws.amazon.com/sdkforandroid/). These toolkits contain sample
+// apps that show how to invoke the identity providers, and then how to use
+// the information from these providers to get and use temporary security
+// credentials.
+//
+// * Web Identity Federation with Mobile Applications (http://aws.amazon.com/articles/4617974389850313).
+// This article discusses web identity federation and shows an example of
+// how to use web identity federation to get access to content in Amazon
+// S3.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS Security Token Service's
+// API operation AssumeRoleWithWebIdentity for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument"
+// The request was rejected because the policy document was malformed. The error
+// message describes the specific error.
+//
+// * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge"
+// The request was rejected because the policy document was too large. The error
+// message describes how big the policy document is, in packed form, as a percentage
+// of what the API allows.
+//
+// * ErrCodeIDPRejectedClaimException "IDPRejectedClaim"
+// The identity provider (IdP) reported that authentication failed. This might
+// be because the claim is invalid.
+//
+// If this error is returned for the AssumeRoleWithWebIdentity operation, it
+// can also mean that the claim has expired or has been explicitly revoked.
+//
+// * ErrCodeIDPCommunicationErrorException "IDPCommunicationError"
+// The request could not be fulfilled because the non-AWS identity provider
+// (IDP) that was asked to verify the incoming identity token could not be reached.
+// This is often a transient error caused by network conditions. Retry the request
+// a limited number of times so that you don't exceed the request rate. If the
+// error persists, the non-AWS identity provider might be down or not responding.
+//
+// * ErrCodeInvalidIdentityTokenException "InvalidIdentityToken"
+// The web identity token that was passed could not be validated by AWS. Get
+// a new identity token from the identity provider and then retry the request.
+//
+// * ErrCodeExpiredTokenException "ExpiredTokenException"
+// The web identity token that was passed is expired or is not valid. Get a
+// new identity token from the identity provider and then retry the request.
+//
+// * ErrCodeRegionDisabledException "RegionDisabledException"
+// STS is not activated in the requested region for the account that is being
+// asked to generate credentials. The account administrator must use the IAM
+// console to activate STS in that region. For more information, see Activating
+// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
+// in the IAM User Guide.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentity
func (c *STS) AssumeRoleWithWebIdentity(input *AssumeRoleWithWebIdentityInput) (*AssumeRoleWithWebIdentityOutput, error) {
req, out := c.AssumeRoleWithWebIdentityRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AssumeRoleWithWebIdentityWithContext is the same as AssumeRoleWithWebIdentity with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssumeRoleWithWebIdentity for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *STS) AssumeRoleWithWebIdentityWithContext(ctx aws.Context, input *AssumeRoleWithWebIdentityInput, opts ...request.Option) (*AssumeRoleWithWebIdentityOutput, error) {
+ req, out := c.AssumeRoleWithWebIdentityRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDecodeAuthorizationMessage = "DecodeAuthorizationMessage"
// DecodeAuthorizationMessageRequest generates a "aws/request.Request" representing the
// client's request for the DecodeAuthorizationMessage operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DecodeAuthorizationMessage method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DecodeAuthorizationMessage for more information on using the DecodeAuthorizationMessage
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DecodeAuthorizationMessageRequest method.
// req, resp := client.DecodeAuthorizationMessageRequest(params)
@@ -416,6 +590,7 @@ const opDecodeAuthorizationMessage = "DecodeAuthorizationMessage"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessage
func (c *STS) DecodeAuthorizationMessageRequest(input *DecodeAuthorizationMessageInput) (req *request.Request, output *DecodeAuthorizationMessageOutput) {
op := &request.Operation{
Name: opDecodeAuthorizationMessage,
@@ -427,12 +602,13 @@ func (c *STS) DecodeAuthorizationMessageRequest(input *DecodeAuthorizationMessag
input = &DecodeAuthorizationMessageInput{}
}
- req = c.newRequest(op, input, output)
output = &DecodeAuthorizationMessageOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// DecodeAuthorizationMessage API operation for AWS Security Token Service.
+//
// Decodes additional information about the authorization status of a request
// from an encoded message returned in response to an AWS request.
//
@@ -441,51 +617,82 @@ func (c *STS) DecodeAuthorizationMessageRequest(input *DecodeAuthorizationMessag
// (an HTTP 403 response). Some AWS actions additionally return an encoded message
// that can provide details about this authorization failure.
//
-// Only certain AWS actions return an encoded authorization message. The documentation
+// Only certain AWS actions return an encoded authorization message. The documentation
// for an individual action indicates whether that action returns an encoded
// message in addition to returning an HTTP code.
//
-// The message is encoded because the details of the authorization status
-// can constitute privileged information that the user who requested the action
+// The message is encoded because the details of the authorization status can
+// constitute privileged information that the user who requested the action
// should not see. To decode an authorization status message, a user must be
// granted permissions via an IAM policy to request the DecodeAuthorizationMessage
// (sts:DecodeAuthorizationMessage) action.
//
// The decoded message includes the following type of information:
//
-// Whether the request was denied due to an explicit deny or due to the absence
-// of an explicit allow. For more information, see Determining Whether a Request
-// is Allowed or Denied (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow)
-// in the IAM User Guide.
+// * Whether the request was denied due to an explicit deny or due to the
+// absence of an explicit allow. For more information, see Determining Whether
+// a Request is Allowed or Denied (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow)
+// in the IAM User Guide.
//
-// The principal who made the request.
+// * The principal who made the request.
//
-// The requested action.
+// * The requested action.
//
-// The requested resource.
+// * The requested resource.
//
-// The values of condition keys in the context of the user's request.
+// * The values of condition keys in the context of the user's request.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS Security Token Service's
+// API operation DecodeAuthorizationMessage for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeInvalidAuthorizationMessageException "InvalidAuthorizationMessageException"
+// The error returned if the message passed to DecodeAuthorizationMessage was
+// invalid. This can happen if the token contains invalid characters, such as
+// linebreaks.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessage
func (c *STS) DecodeAuthorizationMessage(input *DecodeAuthorizationMessageInput) (*DecodeAuthorizationMessageOutput, error) {
req, out := c.DecodeAuthorizationMessageRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DecodeAuthorizationMessageWithContext is the same as DecodeAuthorizationMessage with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DecodeAuthorizationMessage for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *STS) DecodeAuthorizationMessageWithContext(ctx aws.Context, input *DecodeAuthorizationMessageInput, opts ...request.Option) (*DecodeAuthorizationMessageOutput, error) {
+ req, out := c.DecodeAuthorizationMessageRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetCallerIdentity = "GetCallerIdentity"
// GetCallerIdentityRequest generates a "aws/request.Request" representing the
// client's request for the GetCallerIdentity operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetCallerIdentity method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetCallerIdentity for more information on using the GetCallerIdentity
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetCallerIdentityRequest method.
// req, resp := client.GetCallerIdentityRequest(params)
@@ -495,6 +702,7 @@ const opGetCallerIdentity = "GetCallerIdentity"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentity
func (c *STS) GetCallerIdentityRequest(input *GetCallerIdentityInput) (req *request.Request, output *GetCallerIdentityOutput) {
op := &request.Operation{
Name: opGetCallerIdentity,
@@ -506,35 +714,60 @@ func (c *STS) GetCallerIdentityRequest(input *GetCallerIdentityInput) (req *requ
input = &GetCallerIdentityInput{}
}
- req = c.newRequest(op, input, output)
output = &GetCallerIdentityOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// GetCallerIdentity API operation for AWS Security Token Service.
+//
// Returns details about the IAM identity whose credentials are used to call
// the API.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS Security Token Service's
+// API operation GetCallerIdentity for usage and error information.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentity
func (c *STS) GetCallerIdentity(input *GetCallerIdentityInput) (*GetCallerIdentityOutput, error) {
req, out := c.GetCallerIdentityRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetCallerIdentityWithContext is the same as GetCallerIdentity with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetCallerIdentity for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *STS) GetCallerIdentityWithContext(ctx aws.Context, input *GetCallerIdentityInput, opts ...request.Option) (*GetCallerIdentityOutput, error) {
+ req, out := c.GetCallerIdentityRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetFederationToken = "GetFederationToken"
// GetFederationTokenRequest generates a "aws/request.Request" representing the
// client's request for the GetFederationToken operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetFederationToken method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetFederationToken for more information on using the GetFederationToken
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetFederationTokenRequest method.
// req, resp := client.GetFederationTokenRequest(params)
@@ -544,6 +777,7 @@ const opGetFederationToken = "GetFederationToken"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationToken
func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *request.Request, output *GetFederationTokenOutput) {
op := &request.Operation{
Name: opGetFederationToken,
@@ -555,12 +789,13 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re
input = &GetFederationTokenInput{}
}
- req = c.newRequest(op, input, output)
output = &GetFederationTokenOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// GetFederationToken API operation for AWS Security Token Service.
+//
// Returns a set of temporary security credentials (consisting of an access
// key ID, a secret access key, and a security token) for a federated user.
// A typical use is in a proxy application that gets temporary security credentials
@@ -573,20 +808,20 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re
// and Comparing the AWS STS APIs (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison)
// in the IAM User Guide.
//
-// If you are creating a mobile-based or browser-based app that can authenticate
+// If you are creating a mobile-based or browser-based app that can authenticate
// users using a web identity provider like Login with Amazon, Facebook, Google,
// or an OpenID Connect-compatible identity provider, we recommend that you
// use Amazon Cognito (http://aws.amazon.com/cognito/) or AssumeRoleWithWebIdentity.
// For more information, see Federation Through a Web-based Identity Provider
// (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity).
//
-// The GetFederationToken action must be called by using the long-term AWS
-// security credentials of an IAM user. You can also call GetFederationToken
-// using the security credentials of an AWS root account, but we do not recommended
-// it. Instead, we recommend that you create an IAM user for the purpose of
-// the proxy application and then attach a policy to the IAM user that limits
-// federated users to only the actions and resources that they need access to.
-// For more information, see IAM Best Practices (http://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)
+// The GetFederationToken action must be called by using the long-term AWS security
+// credentials of an IAM user. You can also call GetFederationToken using the
+// security credentials of an AWS root account, but we do not recommended it.
+// Instead, we recommend that you create an IAM user for the purpose of the
+// proxy application and then attach a policy to the IAM user that limits federated
+// users to only the actions and resources that they need access to. For more
+// information, see IAM Best Practices (http://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)
// in the IAM User Guide.
//
// The temporary security credentials that are obtained by using the long-term
@@ -595,30 +830,30 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re
// is 43200 seconds (12 hours). Temporary credentials that are obtained by using
// AWS root account credentials have a maximum duration of 3600 seconds (1 hour).
//
-// The temporary security credentials created by GetFederationToken can be
-// used to make API calls to any AWS service with the following exceptions:
+// The temporary security credentials created by GetFederationToken can be used
+// to make API calls to any AWS service with the following exceptions:
//
-// You cannot use these credentials to call any IAM APIs.
+// * You cannot use these credentials to call any IAM APIs.
//
-// You cannot call any STS APIs.
+// * You cannot call any STS APIs except GetCallerIdentity.
//
-// Permissions
+// Permissions
//
// The permissions for the temporary security credentials returned by GetFederationToken
// are determined by a combination of the following:
//
-// The policy or policies that are attached to the IAM user whose credentials
-// are used to call GetFederationToken.
+// * The policy or policies that are attached to the IAM user whose credentials
+// are used to call GetFederationToken.
//
-// The policy that is passed as a parameter in the call.
+// * The policy that is passed as a parameter in the call.
//
-// The passed policy is attached to the temporary security credentials that
+// The passed policy is attached to the temporary security credentials that
// result from the GetFederationToken API call--that is, to the federated user.
// When the federated user makes an AWS request, AWS evaluates the policy attached
// to the federated user in combination with the policy or policies attached
// to the IAM user whose credentials were used to call GetFederationToken. AWS
-// allows the federated user's request only when both the federated user and
-// the IAM user are explicitly allowed to perform the requested action. The
+// allows the federated user's request only when both the federated user and
+// the IAM user are explicitly allowed to perform the requested action. The
// passed policy cannot grant more permissions than those that are defined in
// the IAM user policy.
//
@@ -639,27 +874,69 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re
// For information about using GetFederationToken to create temporary security
// credentials, see GetFederationToken—Federation Through a Custom Identity
// Broker (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getfederationtoken).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS Security Token Service's
+// API operation GetFederationToken for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument"
+// The request was rejected because the policy document was malformed. The error
+// message describes the specific error.
+//
+// * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge"
+// The request was rejected because the policy document was too large. The error
+// message describes how big the policy document is, in packed form, as a percentage
+// of what the API allows.
+//
+// * ErrCodeRegionDisabledException "RegionDisabledException"
+// STS is not activated in the requested region for the account that is being
+// asked to generate credentials. The account administrator must use the IAM
+// console to activate STS in that region. For more information, see Activating
+// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
+// in the IAM User Guide.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationToken
func (c *STS) GetFederationToken(input *GetFederationTokenInput) (*GetFederationTokenOutput, error) {
req, out := c.GetFederationTokenRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetFederationTokenWithContext is the same as GetFederationToken with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetFederationToken for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *STS) GetFederationTokenWithContext(ctx aws.Context, input *GetFederationTokenInput, opts ...request.Option) (*GetFederationTokenOutput, error) {
+ req, out := c.GetFederationTokenRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetSessionToken = "GetSessionToken"
// GetSessionTokenRequest generates a "aws/request.Request" representing the
// client's request for the GetSessionToken operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetSessionToken method directly
-// instead.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetSessionToken for more information on using the GetSessionToken
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetSessionTokenRequest method.
// req, resp := client.GetSessionTokenRequest(params)
@@ -669,6 +946,7 @@ const opGetSessionToken = "GetSessionToken"
// fmt.Println(resp)
// }
//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionToken
func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request.Request, output *GetSessionTokenOutput) {
op := &request.Operation{
Name: opGetSessionToken,
@@ -680,12 +958,13 @@ func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request.
input = &GetSessionTokenInput{}
}
- req = c.newRequest(op, input, output)
output = &GetSessionTokenOutput{}
- req.Data = output
+ req = c.newRequest(op, input, output)
return
}
+// GetSessionToken API operation for AWS Security Token Service.
+//
// Returns a set of temporary credentials for an AWS account or IAM user. The
// credentials consist of an access key ID, a secret access key, and a security
// token. Typically, you use GetSessionToken if you want to use MFA to protect
@@ -711,17 +990,17 @@ func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request.
// The temporary security credentials created by GetSessionToken can be used
// to make API calls to any AWS service with the following exceptions:
//
-// You cannot call any IAM APIs unless MFA authentication information is
-// included in the request.
+// * You cannot call any IAM APIs unless MFA authentication information is
+// included in the request.
//
-// You cannot call any STS API except AssumeRole.
+// * You cannot call any STS API exceptAssumeRole or GetCallerIdentity.
//
-// We recommend that you do not call GetSessionToken with root account credentials.
+// We recommend that you do not call GetSessionToken with root account credentials.
// Instead, follow our best practices (http://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#create-iam-users)
// by creating one or more IAM users, giving them the necessary permissions,
// and using IAM users for everyday interaction with AWS.
//
-// The permissions associated with the temporary security credentials returned
+// The permissions associated with the temporary security credentials returned
// by GetSessionToken are based on the permissions associated with account or
// IAM user whose credentials are used to call the action. If GetSessionToken
// is called using root account credentials, the temporary credentials have
@@ -732,12 +1011,45 @@ func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request.
// For more information about using GetSessionToken to create temporary credentials,
// go to Temporary Credentials for Users in Untrusted Environments (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getsessiontoken)
// in the IAM User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS Security Token Service's
+// API operation GetSessionToken for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeRegionDisabledException "RegionDisabledException"
+// STS is not activated in the requested region for the account that is being
+// asked to generate credentials. The account administrator must use the IAM
+// console to activate STS in that region. For more information, see Activating
+// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
+// in the IAM User Guide.
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionToken
func (c *STS) GetSessionToken(input *GetSessionTokenInput) (*GetSessionTokenOutput, error) {
req, out := c.GetSessionTokenRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
}
+// GetSessionTokenWithContext is the same as GetSessionToken with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetSessionToken for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *STS) GetSessionTokenWithContext(ctx aws.Context, input *GetSessionTokenInput, opts ...request.Option) (*GetSessionTokenOutput, error) {
+ req, out := c.GetSessionTokenRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleRequest
type AssumeRoleInput struct {
_ struct{} `type:"structure"`
@@ -745,9 +1057,9 @@ type AssumeRoleInput struct {
// seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set
// to 3600 seconds.
//
- // This is separate from the duration of a console session that you might
- // request using the returned credentials. The request to the federation endpoint
- // for a console sign-in token takes a SessionDuration parameter that specifies
+ // This is separate from the duration of a console session that you might request
+ // using the returned credentials. The request to the federation endpoint for
+ // a console sign-in token takes a SessionDuration parameter that specifies
// the maximum length of the console session, separately from the DurationSeconds
// parameter on this API. For more information, see Creating a URL that Enables
// Federated Users to Access the AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html)
@@ -764,10 +1076,9 @@ type AssumeRoleInput struct {
// External ID When Granting Access to Your AWS Resources to a Third Party (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html)
// in the IAM User Guide.
//
- // The format for this parameter, as described by its regex pattern, is a string
- // of characters consisting of upper- and lower-case alphanumeric characters
- // with no spaces. You can also include underscores or any of the following
- // characters: =,.@:\/-
+ // The regex used to validated this parameter is a string of characters consisting
+ // of upper- and lower-case alphanumeric characters with no spaces. You can
+ // also include underscores or any of the following characters: =,.@:/-
ExternalId *string `min:"2" type:"string"`
// An IAM policy in JSON format.
@@ -789,7 +1100,7 @@ type AssumeRoleInput struct {
// list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A),
// and carriage return (\u000D) characters.
//
- // The policy plain text must be 2048 bytes or shorter. However, an internal
+ // The policy plain text must be 2048 bytes or shorter. However, an internal
// conversion compresses it into a packed binary format with a separate limit.
// The PackedPolicySize response element indicates by percentage how close to
// the upper size limit the policy is, with 100% equaling the maximum allowed
@@ -797,6 +1108,8 @@ type AssumeRoleInput struct {
Policy *string `min:"1" type:"string"`
// The Amazon Resource Name (ARN) of the role to assume.
+ //
+ // RoleArn is a required field
RoleArn *string `min:"20" type:"string" required:"true"`
// An identifier for the assumed role session.
@@ -809,10 +1122,11 @@ type AssumeRoleInput struct {
// requests using the temporary security credentials will expose the role session
// name to the external account in their CloudTrail logs.
//
- // The format for this parameter, as described by its regex pattern, is a string
- // of characters consisting of upper- and lower-case alphanumeric characters
- // with no spaces. You can also include underscores or any of the following
- // characters: =,.@-
+ // The regex used to validate this parameter is a string of characters consisting
+ // of upper- and lower-case alphanumeric characters with no spaces. You can
+ // also include underscores or any of the following characters: =,.@-
+ //
+ // RoleSessionName is a required field
RoleSessionName *string `min:"2" type:"string" required:"true"`
// The identification number of the MFA device that is associated with the user
@@ -821,10 +1135,9 @@ type AssumeRoleInput struct {
// The value is either the serial number for a hardware device (such as GAHT12345678)
// or an Amazon Resource Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user).
//
- // The format for this parameter, as described by its regex pattern, is a string
- // of characters consisting of upper- and lower-case alphanumeric characters
- // with no spaces. You can also include underscores or any of the following
- // characters: =,.@-
+ // The regex used to validate this parameter is a string of characters consisting
+ // of upper- and lower-case alphanumeric characters with no spaces. You can
+ // also include underscores or any of the following characters: =,.@-
SerialNumber *string `min:"9" type:"string"`
// The value provided by the MFA device, if the trust policy of the role being
@@ -884,8 +1197,51 @@ func (s *AssumeRoleInput) Validate() error {
return nil
}
+// SetDurationSeconds sets the DurationSeconds field's value.
+func (s *AssumeRoleInput) SetDurationSeconds(v int64) *AssumeRoleInput {
+ s.DurationSeconds = &v
+ return s
+}
+
+// SetExternalId sets the ExternalId field's value.
+func (s *AssumeRoleInput) SetExternalId(v string) *AssumeRoleInput {
+ s.ExternalId = &v
+ return s
+}
+
+// SetPolicy sets the Policy field's value.
+func (s *AssumeRoleInput) SetPolicy(v string) *AssumeRoleInput {
+ s.Policy = &v
+ return s
+}
+
+// SetRoleArn sets the RoleArn field's value.
+func (s *AssumeRoleInput) SetRoleArn(v string) *AssumeRoleInput {
+ s.RoleArn = &v
+ return s
+}
+
+// SetRoleSessionName sets the RoleSessionName field's value.
+func (s *AssumeRoleInput) SetRoleSessionName(v string) *AssumeRoleInput {
+ s.RoleSessionName = &v
+ return s
+}
+
+// SetSerialNumber sets the SerialNumber field's value.
+func (s *AssumeRoleInput) SetSerialNumber(v string) *AssumeRoleInput {
+ s.SerialNumber = &v
+ return s
+}
+
+// SetTokenCode sets the TokenCode field's value.
+func (s *AssumeRoleInput) SetTokenCode(v string) *AssumeRoleInput {
+ s.TokenCode = &v
+ return s
+}
+
// Contains the response to a successful AssumeRole request, including temporary
// AWS credentials that can be used to make AWS requests.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleResponse
type AssumeRoleOutput struct {
_ struct{} `type:"structure"`
@@ -899,10 +1255,10 @@ type AssumeRoleOutput struct {
// The temporary security credentials, which include an access key ID, a secret
// access key, and a security (or session) token.
//
- // Note: The size of the security token that STS APIs return is not fixed.
- // We strongly recommend that you make no assumptions about the maximum size.
- // As of this writing, the typical size is less than 4096 bytes, but that can
- // vary. Also, future updates to AWS might require larger sizes.
+ // Note: The size of the security token that STS APIs return is not fixed. We
+ // strongly recommend that you make no assumptions about the maximum size. As
+ // of this writing, the typical size is less than 4096 bytes, but that can vary.
+ // Also, future updates to AWS might require larger sizes.
Credentials *Credentials `type:"structure"`
// A percentage value that indicates the size of the policy in packed form.
@@ -921,6 +1277,25 @@ func (s AssumeRoleOutput) GoString() string {
return s.String()
}
+// SetAssumedRoleUser sets the AssumedRoleUser field's value.
+func (s *AssumeRoleOutput) SetAssumedRoleUser(v *AssumedRoleUser) *AssumeRoleOutput {
+ s.AssumedRoleUser = v
+ return s
+}
+
+// SetCredentials sets the Credentials field's value.
+func (s *AssumeRoleOutput) SetCredentials(v *Credentials) *AssumeRoleOutput {
+ s.Credentials = v
+ return s
+}
+
+// SetPackedPolicySize sets the PackedPolicySize field's value.
+func (s *AssumeRoleOutput) SetPackedPolicySize(v int64) *AssumeRoleOutput {
+ s.PackedPolicySize = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAMLRequest
type AssumeRoleWithSAMLInput struct {
_ struct{} `type:"structure"`
@@ -930,9 +1305,9 @@ type AssumeRoleWithSAMLInput struct {
// response's SessionNotOnOrAfter value. The actual expiration time is whichever
// value is shorter.
//
- // This is separate from the duration of a console session that you might
- // request using the returned credentials. The request to the federation endpoint
- // for a console sign-in token takes a SessionDuration parameter that specifies
+ // This is separate from the duration of a console session that you might request
+ // using the returned credentials. The request to the federation endpoint for
+ // a console sign-in token takes a SessionDuration parameter that specifies
// the maximum length of the console session, separately from the DurationSeconds
// parameter on this API. For more information, see Enabling SAML 2.0 Federated
// Users to Access the AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-saml.html)
@@ -944,8 +1319,8 @@ type AssumeRoleWithSAMLInput struct {
// The policy parameter is optional. If you pass a policy, the temporary security
// credentials that are returned by the operation have the permissions that
// are allowed by both the access policy of the role that is being assumed,
- // and the policy that you pass. This gives you a way to further restrict
- // the permissions for the resulting temporary security credentials. You cannot
+ // and the policy that you pass. This gives you a way to further restrict the
+ // permissions for the resulting temporary security credentials. You cannot
// use the passed policy to grant permissions that are in excess of those allowed
// by the access policy of the role that is being assumed. For more information,
// Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity
@@ -958,7 +1333,7 @@ type AssumeRoleWithSAMLInput struct {
// list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A),
// and carriage return (\u000D) characters.
//
- // The policy plain text must be 2048 bytes or shorter. However, an internal
+ // The policy plain text must be 2048 bytes or shorter. However, an internal
// conversion compresses it into a packed binary format with a separate limit.
// The PackedPolicySize response element indicates by percentage how close to
// the upper size limit the policy is, with 100% equaling the maximum allowed
@@ -967,16 +1342,21 @@ type AssumeRoleWithSAMLInput struct {
// The Amazon Resource Name (ARN) of the SAML provider in IAM that describes
// the IdP.
+ //
+ // PrincipalArn is a required field
PrincipalArn *string `min:"20" type:"string" required:"true"`
// The Amazon Resource Name (ARN) of the role that the caller is assuming.
+ //
+ // RoleArn is a required field
RoleArn *string `min:"20" type:"string" required:"true"`
// The base-64 encoded SAML authentication response provided by the IdP.
//
- // For more information, see Configuring a Relying Party and Adding Claims
- // (http://docs.aws.amazon.com/IAM/latest/UserGuide/create-role-saml-IdP-tasks.html)
+ // For more information, see Configuring a Relying Party and Adding Claims (http://docs.aws.amazon.com/IAM/latest/UserGuide/create-role-saml-IdP-tasks.html)
// in the Using IAM guide.
+ //
+ // SAMLAssertion is a required field
SAMLAssertion *string `min:"4" type:"string" required:"true"`
}
@@ -1024,8 +1404,39 @@ func (s *AssumeRoleWithSAMLInput) Validate() error {
return nil
}
+// SetDurationSeconds sets the DurationSeconds field's value.
+func (s *AssumeRoleWithSAMLInput) SetDurationSeconds(v int64) *AssumeRoleWithSAMLInput {
+ s.DurationSeconds = &v
+ return s
+}
+
+// SetPolicy sets the Policy field's value.
+func (s *AssumeRoleWithSAMLInput) SetPolicy(v string) *AssumeRoleWithSAMLInput {
+ s.Policy = &v
+ return s
+}
+
+// SetPrincipalArn sets the PrincipalArn field's value.
+func (s *AssumeRoleWithSAMLInput) SetPrincipalArn(v string) *AssumeRoleWithSAMLInput {
+ s.PrincipalArn = &v
+ return s
+}
+
+// SetRoleArn sets the RoleArn field's value.
+func (s *AssumeRoleWithSAMLInput) SetRoleArn(v string) *AssumeRoleWithSAMLInput {
+ s.RoleArn = &v
+ return s
+}
+
+// SetSAMLAssertion sets the SAMLAssertion field's value.
+func (s *AssumeRoleWithSAMLInput) SetSAMLAssertion(v string) *AssumeRoleWithSAMLInput {
+ s.SAMLAssertion = &v
+ return s
+}
+
// Contains the response to a successful AssumeRoleWithSAML request, including
// temporary AWS credentials that can be used to make AWS requests.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAMLResponse
type AssumeRoleWithSAMLOutput struct {
_ struct{} `type:"structure"`
@@ -1040,10 +1451,10 @@ type AssumeRoleWithSAMLOutput struct {
// The temporary security credentials, which include an access key ID, a secret
// access key, and a security (or session) token.
//
- // Note: The size of the security token that STS APIs return is not fixed.
- // We strongly recommend that you make no assumptions about the maximum size.
- // As of this writing, the typical size is less than 4096 bytes, but that can
- // vary. Also, future updates to AWS might require larger sizes.
+ // Note: The size of the security token that STS APIs return is not fixed. We
+ // strongly recommend that you make no assumptions about the maximum size. As
+ // of this writing, the typical size is less than 4096 bytes, but that can vary.
+ // Also, future updates to AWS might require larger sizes.
Credentials *Credentials `type:"structure"`
// The value of the Issuer element of the SAML assertion.
@@ -1056,7 +1467,7 @@ type AssumeRoleWithSAMLOutput struct {
//
// The following pseudocode shows how the hash value is calculated:
//
- // BASE64 ( SHA1 ( "https://example.com/saml" + "123456789012" + "/MySAMLIdP"
+ // BASE64 ( SHA1 ( "https://example.com/saml" + "123456789012" + "/MySAMLIdP"
// ) )
NameQualifier *string `type:"string"`
@@ -1072,7 +1483,7 @@ type AssumeRoleWithSAMLOutput struct {
// element of the SAML assertion. Typical examples of the format are transient
// or persistent.
//
- // If the format includes the prefix urn:oasis:names:tc:SAML:2.0:nameid-format,
+ // If the format includes the prefix urn:oasis:names:tc:SAML:2.0:nameid-format,
// that prefix is removed. For example, urn:oasis:names:tc:SAML:2.0:nameid-format:transient
// is returned as transient. If the format includes any other prefix, the format
// is returned with no modifications.
@@ -1089,6 +1500,55 @@ func (s AssumeRoleWithSAMLOutput) GoString() string {
return s.String()
}
+// SetAssumedRoleUser sets the AssumedRoleUser field's value.
+func (s *AssumeRoleWithSAMLOutput) SetAssumedRoleUser(v *AssumedRoleUser) *AssumeRoleWithSAMLOutput {
+ s.AssumedRoleUser = v
+ return s
+}
+
+// SetAudience sets the Audience field's value.
+func (s *AssumeRoleWithSAMLOutput) SetAudience(v string) *AssumeRoleWithSAMLOutput {
+ s.Audience = &v
+ return s
+}
+
+// SetCredentials sets the Credentials field's value.
+func (s *AssumeRoleWithSAMLOutput) SetCredentials(v *Credentials) *AssumeRoleWithSAMLOutput {
+ s.Credentials = v
+ return s
+}
+
+// SetIssuer sets the Issuer field's value.
+func (s *AssumeRoleWithSAMLOutput) SetIssuer(v string) *AssumeRoleWithSAMLOutput {
+ s.Issuer = &v
+ return s
+}
+
+// SetNameQualifier sets the NameQualifier field's value.
+func (s *AssumeRoleWithSAMLOutput) SetNameQualifier(v string) *AssumeRoleWithSAMLOutput {
+ s.NameQualifier = &v
+ return s
+}
+
+// SetPackedPolicySize sets the PackedPolicySize field's value.
+func (s *AssumeRoleWithSAMLOutput) SetPackedPolicySize(v int64) *AssumeRoleWithSAMLOutput {
+ s.PackedPolicySize = &v
+ return s
+}
+
+// SetSubject sets the Subject field's value.
+func (s *AssumeRoleWithSAMLOutput) SetSubject(v string) *AssumeRoleWithSAMLOutput {
+ s.Subject = &v
+ return s
+}
+
+// SetSubjectType sets the SubjectType field's value.
+func (s *AssumeRoleWithSAMLOutput) SetSubjectType(v string) *AssumeRoleWithSAMLOutput {
+ s.SubjectType = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentityRequest
type AssumeRoleWithWebIdentityInput struct {
_ struct{} `type:"structure"`
@@ -1096,9 +1556,9 @@ type AssumeRoleWithWebIdentityInput struct {
// seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set
// to 3600 seconds.
//
- // This is separate from the duration of a console session that you might
- // request using the returned credentials. The request to the federation endpoint
- // for a console sign-in token takes a SessionDuration parameter that specifies
+ // This is separate from the duration of a console session that you might request
+ // using the returned credentials. The request to the federation endpoint for
+ // a console sign-in token takes a SessionDuration parameter that specifies
// the maximum length of the console session, separately from the DurationSeconds
// parameter on this API. For more information, see Creating a URL that Enables
// Federated Users to Access the AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html)
@@ -1110,8 +1570,8 @@ type AssumeRoleWithWebIdentityInput struct {
// The policy parameter is optional. If you pass a policy, the temporary security
// credentials that are returned by the operation have the permissions that
// are allowed by both the access policy of the role that is being assumed,
- // and the policy that you pass. This gives you a way to further restrict
- // the permissions for the resulting temporary security credentials. You cannot
+ // and the policy that you pass. This gives you a way to further restrict the
+ // permissions for the resulting temporary security credentials. You cannot
// use the passed policy to grant permissions that are in excess of those allowed
// by the access policy of the role that is being assumed. For more information,
// see Permissions for AssumeRoleWithWebIdentity (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html)
@@ -1123,7 +1583,7 @@ type AssumeRoleWithWebIdentityInput struct {
// list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A),
// and carriage return (\u000D) characters.
//
- // The policy plain text must be 2048 bytes or shorter. However, an internal
+ // The policy plain text must be 2048 bytes or shorter. However, an internal
// conversion compresses it into a packed binary format with a separate limit.
// The PackedPolicySize response element indicates by percentage how close to
// the upper size limit the policy is, with 100% equaling the maximum allowed
@@ -1140,6 +1600,8 @@ type AssumeRoleWithWebIdentityInput struct {
ProviderId *string `min:"4" type:"string"`
// The Amazon Resource Name (ARN) of the role that the caller is assuming.
+ //
+ // RoleArn is a required field
RoleArn *string `min:"20" type:"string" required:"true"`
// An identifier for the assumed role session. Typically, you pass the name
@@ -1148,16 +1610,19 @@ type AssumeRoleWithWebIdentityInput struct {
// are associated with that user. This session name is included as part of the
// ARN and assumed role ID in the AssumedRoleUser response element.
//
- // The format for this parameter, as described by its regex pattern, is a string
- // of characters consisting of upper- and lower-case alphanumeric characters
- // with no spaces. You can also include underscores or any of the following
- // characters: =,.@-
+ // The regex used to validate this parameter is a string of characters consisting
+ // of upper- and lower-case alphanumeric characters with no spaces. You can
+ // also include underscores or any of the following characters: =,.@-
+ //
+ // RoleSessionName is a required field
RoleSessionName *string `min:"2" type:"string" required:"true"`
// The OAuth 2.0 access token or OpenID Connect ID token that is provided by
// the identity provider. Your application must get this token by authenticating
// the user who is using your application with a web identity provider before
// the application makes an AssumeRoleWithWebIdentity call.
+ //
+ // WebIdentityToken is a required field
WebIdentityToken *string `min:"4" type:"string" required:"true"`
}
@@ -1208,8 +1673,45 @@ func (s *AssumeRoleWithWebIdentityInput) Validate() error {
return nil
}
+// SetDurationSeconds sets the DurationSeconds field's value.
+func (s *AssumeRoleWithWebIdentityInput) SetDurationSeconds(v int64) *AssumeRoleWithWebIdentityInput {
+ s.DurationSeconds = &v
+ return s
+}
+
+// SetPolicy sets the Policy field's value.
+func (s *AssumeRoleWithWebIdentityInput) SetPolicy(v string) *AssumeRoleWithWebIdentityInput {
+ s.Policy = &v
+ return s
+}
+
+// SetProviderId sets the ProviderId field's value.
+func (s *AssumeRoleWithWebIdentityInput) SetProviderId(v string) *AssumeRoleWithWebIdentityInput {
+ s.ProviderId = &v
+ return s
+}
+
+// SetRoleArn sets the RoleArn field's value.
+func (s *AssumeRoleWithWebIdentityInput) SetRoleArn(v string) *AssumeRoleWithWebIdentityInput {
+ s.RoleArn = &v
+ return s
+}
+
+// SetRoleSessionName sets the RoleSessionName field's value.
+func (s *AssumeRoleWithWebIdentityInput) SetRoleSessionName(v string) *AssumeRoleWithWebIdentityInput {
+ s.RoleSessionName = &v
+ return s
+}
+
+// SetWebIdentityToken sets the WebIdentityToken field's value.
+func (s *AssumeRoleWithWebIdentityInput) SetWebIdentityToken(v string) *AssumeRoleWithWebIdentityInput {
+ s.WebIdentityToken = &v
+ return s
+}
+
// Contains the response to a successful AssumeRoleWithWebIdentity request,
// including temporary AWS credentials that can be used to make AWS requests.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentityResponse
type AssumeRoleWithWebIdentityOutput struct {
_ struct{} `type:"structure"`
@@ -1228,10 +1730,10 @@ type AssumeRoleWithWebIdentityOutput struct {
// The temporary security credentials, which include an access key ID, a secret
// access key, and a security token.
//
- // Note: The size of the security token that STS APIs return is not fixed.
- // We strongly recommend that you make no assumptions about the maximum size.
- // As of this writing, the typical size is less than 4096 bytes, but that can
- // vary. Also, future updates to AWS might require larger sizes.
+ // Note: The size of the security token that STS APIs return is not fixed. We
+ // strongly recommend that you make no assumptions about the maximum size. As
+ // of this writing, the typical size is less than 4096 bytes, but that can vary.
+ // Also, future updates to AWS might require larger sizes.
Credentials *Credentials `type:"structure"`
// A percentage value that indicates the size of the policy in packed form.
@@ -1264,8 +1766,45 @@ func (s AssumeRoleWithWebIdentityOutput) GoString() string {
return s.String()
}
+// SetAssumedRoleUser sets the AssumedRoleUser field's value.
+func (s *AssumeRoleWithWebIdentityOutput) SetAssumedRoleUser(v *AssumedRoleUser) *AssumeRoleWithWebIdentityOutput {
+ s.AssumedRoleUser = v
+ return s
+}
+
+// SetAudience sets the Audience field's value.
+func (s *AssumeRoleWithWebIdentityOutput) SetAudience(v string) *AssumeRoleWithWebIdentityOutput {
+ s.Audience = &v
+ return s
+}
+
+// SetCredentials sets the Credentials field's value.
+func (s *AssumeRoleWithWebIdentityOutput) SetCredentials(v *Credentials) *AssumeRoleWithWebIdentityOutput {
+ s.Credentials = v
+ return s
+}
+
+// SetPackedPolicySize sets the PackedPolicySize field's value.
+func (s *AssumeRoleWithWebIdentityOutput) SetPackedPolicySize(v int64) *AssumeRoleWithWebIdentityOutput {
+ s.PackedPolicySize = &v
+ return s
+}
+
+// SetProvider sets the Provider field's value.
+func (s *AssumeRoleWithWebIdentityOutput) SetProvider(v string) *AssumeRoleWithWebIdentityOutput {
+ s.Provider = &v
+ return s
+}
+
+// SetSubjectFromWebIdentityToken sets the SubjectFromWebIdentityToken field's value.
+func (s *AssumeRoleWithWebIdentityOutput) SetSubjectFromWebIdentityToken(v string) *AssumeRoleWithWebIdentityOutput {
+ s.SubjectFromWebIdentityToken = &v
+ return s
+}
+
// The identifiers for the temporary security credentials that the operation
// returns.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumedRoleUser
type AssumedRoleUser struct {
_ struct{} `type:"structure"`
@@ -1273,11 +1812,15 @@ type AssumedRoleUser struct {
// AssumeRole action. For more information about ARNs and how to use them in
// policies, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html)
// in Using IAM.
+ //
+ // Arn is a required field
Arn *string `min:"20" type:"string" required:"true"`
// A unique identifier that contains the role ID and the role session name of
// the role that is being assumed. The role ID is generated by AWS when the
// role is created.
+ //
+ // AssumedRoleId is a required field
AssumedRoleId *string `min:"2" type:"string" required:"true"`
}
@@ -1291,20 +1834,41 @@ func (s AssumedRoleUser) GoString() string {
return s.String()
}
+// SetArn sets the Arn field's value.
+func (s *AssumedRoleUser) SetArn(v string) *AssumedRoleUser {
+ s.Arn = &v
+ return s
+}
+
+// SetAssumedRoleId sets the AssumedRoleId field's value.
+func (s *AssumedRoleUser) SetAssumedRoleId(v string) *AssumedRoleUser {
+ s.AssumedRoleId = &v
+ return s
+}
+
// AWS credentials for API authentication.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/Credentials
type Credentials struct {
_ struct{} `type:"structure"`
// The access key ID that identifies the temporary security credentials.
+ //
+ // AccessKeyId is a required field
AccessKeyId *string `min:"16" type:"string" required:"true"`
// The date on which the current credentials expire.
+ //
+ // Expiration is a required field
Expiration *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
// The secret access key that can be used to sign requests.
+ //
+ // SecretAccessKey is a required field
SecretAccessKey *string `type:"string" required:"true"`
// The token that users must pass to the service API to use the temporary credentials.
+ //
+ // SessionToken is a required field
SessionToken *string `type:"string" required:"true"`
}
@@ -1318,10 +1882,37 @@ func (s Credentials) GoString() string {
return s.String()
}
+// SetAccessKeyId sets the AccessKeyId field's value.
+func (s *Credentials) SetAccessKeyId(v string) *Credentials {
+ s.AccessKeyId = &v
+ return s
+}
+
+// SetExpiration sets the Expiration field's value.
+func (s *Credentials) SetExpiration(v time.Time) *Credentials {
+ s.Expiration = &v
+ return s
+}
+
+// SetSecretAccessKey sets the SecretAccessKey field's value.
+func (s *Credentials) SetSecretAccessKey(v string) *Credentials {
+ s.SecretAccessKey = &v
+ return s
+}
+
+// SetSessionToken sets the SessionToken field's value.
+func (s *Credentials) SetSessionToken(v string) *Credentials {
+ s.SessionToken = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessageRequest
type DecodeAuthorizationMessageInput struct {
_ struct{} `type:"structure"`
// The encoded message that was returned with the response.
+ //
+ // EncodedMessage is a required field
EncodedMessage *string `min:"1" type:"string" required:"true"`
}
@@ -1351,9 +1942,16 @@ func (s *DecodeAuthorizationMessageInput) Validate() error {
return nil
}
+// SetEncodedMessage sets the EncodedMessage field's value.
+func (s *DecodeAuthorizationMessageInput) SetEncodedMessage(v string) *DecodeAuthorizationMessageInput {
+ s.EncodedMessage = &v
+ return s
+}
+
// A document that contains additional information about the authorization status
// of a request from an encoded message that is returned in response to an AWS
// request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessageResponse
type DecodeAuthorizationMessageOutput struct {
_ struct{} `type:"structure"`
@@ -1371,7 +1969,14 @@ func (s DecodeAuthorizationMessageOutput) GoString() string {
return s.String()
}
+// SetDecodedMessage sets the DecodedMessage field's value.
+func (s *DecodeAuthorizationMessageOutput) SetDecodedMessage(v string) *DecodeAuthorizationMessageOutput {
+ s.DecodedMessage = &v
+ return s
+}
+
// Identifiers for the federated user that is associated with the credentials.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/FederatedUser
type FederatedUser struct {
_ struct{} `type:"structure"`
@@ -1379,10 +1984,14 @@ type FederatedUser struct {
// For more information about ARNs and how to use them in policies, see IAM
// Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html)
// in Using IAM.
+ //
+ // Arn is a required field
Arn *string `min:"20" type:"string" required:"true"`
// The string that identifies the federated user associated with the credentials,
// similar to the unique ID of an IAM user.
+ //
+ // FederatedUserId is a required field
FederatedUserId *string `min:"2" type:"string" required:"true"`
}
@@ -1396,6 +2005,19 @@ func (s FederatedUser) GoString() string {
return s.String()
}
+// SetArn sets the Arn field's value.
+func (s *FederatedUser) SetArn(v string) *FederatedUser {
+ s.Arn = &v
+ return s
+}
+
+// SetFederatedUserId sets the FederatedUserId field's value.
+func (s *FederatedUser) SetFederatedUserId(v string) *FederatedUser {
+ s.FederatedUserId = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentityRequest
type GetCallerIdentityInput struct {
_ struct{} `type:"structure"`
}
@@ -1412,6 +2034,7 @@ func (s GetCallerIdentityInput) GoString() string {
// Contains the response to a successful GetCallerIdentity request, including
// information about the entity making the request.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentityResponse
type GetCallerIdentityOutput struct {
_ struct{} `type:"structure"`
@@ -1439,6 +2062,25 @@ func (s GetCallerIdentityOutput) GoString() string {
return s.String()
}
+// SetAccount sets the Account field's value.
+func (s *GetCallerIdentityOutput) SetAccount(v string) *GetCallerIdentityOutput {
+ s.Account = &v
+ return s
+}
+
+// SetArn sets the Arn field's value.
+func (s *GetCallerIdentityOutput) SetArn(v string) *GetCallerIdentityOutput {
+ s.Arn = &v
+ return s
+}
+
+// SetUserId sets the UserId field's value.
+func (s *GetCallerIdentityOutput) SetUserId(v string) *GetCallerIdentityOutput {
+ s.UserId = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationTokenRequest
type GetFederationTokenInput struct {
_ struct{} `type:"structure"`
@@ -1456,10 +2098,11 @@ type GetFederationTokenInput struct {
// the federated user name in a resource-based policy, such as in an Amazon
// S3 bucket policy.
//
- // The format for this parameter, as described by its regex pattern, is a string
- // of characters consisting of upper- and lower-case alphanumeric characters
- // with no spaces. You can also include underscores or any of the following
- // characters: =,.@-
+ // The regex used to validate this parameter is a string of characters consisting
+ // of upper- and lower-case alphanumeric characters with no spaces. You can
+ // also include underscores or any of the following characters: =,.@-
+ //
+ // Name is a required field
Name *string `min:"2" type:"string" required:"true"`
// An IAM policy in JSON format that is passed with the GetFederationToken call
@@ -1483,13 +2126,13 @@ type GetFederationTokenInput struct {
// list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A),
// and carriage return (\u000D) characters.
//
- // The policy plain text must be 2048 bytes or shorter. However, an internal
+ // The policy plain text must be 2048 bytes or shorter. However, an internal
// conversion compresses it into a packed binary format with a separate limit.
// The PackedPolicySize response element indicates by percentage how close to
// the upper size limit the policy is, with 100% equaling the maximum allowed
// size.
//
- // For more information about how permissions work, see Permissions for GetFederationToken
+ // For more information about how permissions work, see Permissions for GetFederationToken
// (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_getfederationtoken.html).
Policy *string `min:"1" type:"string"`
}
@@ -1526,18 +2169,37 @@ func (s *GetFederationTokenInput) Validate() error {
return nil
}
+// SetDurationSeconds sets the DurationSeconds field's value.
+func (s *GetFederationTokenInput) SetDurationSeconds(v int64) *GetFederationTokenInput {
+ s.DurationSeconds = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *GetFederationTokenInput) SetName(v string) *GetFederationTokenInput {
+ s.Name = &v
+ return s
+}
+
+// SetPolicy sets the Policy field's value.
+func (s *GetFederationTokenInput) SetPolicy(v string) *GetFederationTokenInput {
+ s.Policy = &v
+ return s
+}
+
// Contains the response to a successful GetFederationToken request, including
// temporary AWS credentials that can be used to make AWS requests.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationTokenResponse
type GetFederationTokenOutput struct {
_ struct{} `type:"structure"`
// The temporary security credentials, which include an access key ID, a secret
// access key, and a security (or session) token.
//
- // Note: The size of the security token that STS APIs return is not fixed.
- // We strongly recommend that you make no assumptions about the maximum size.
- // As of this writing, the typical size is less than 4096 bytes, but that can
- // vary. Also, future updates to AWS might require larger sizes.
+ // Note: The size of the security token that STS APIs return is not fixed. We
+ // strongly recommend that you make no assumptions about the maximum size. As
+ // of this writing, the typical size is less than 4096 bytes, but that can vary.
+ // Also, future updates to AWS might require larger sizes.
Credentials *Credentials `type:"structure"`
// Identifiers for the federated user associated with the credentials (such
@@ -1562,6 +2224,25 @@ func (s GetFederationTokenOutput) GoString() string {
return s.String()
}
+// SetCredentials sets the Credentials field's value.
+func (s *GetFederationTokenOutput) SetCredentials(v *Credentials) *GetFederationTokenOutput {
+ s.Credentials = v
+ return s
+}
+
+// SetFederatedUser sets the FederatedUser field's value.
+func (s *GetFederationTokenOutput) SetFederatedUser(v *FederatedUser) *GetFederationTokenOutput {
+ s.FederatedUser = v
+ return s
+}
+
+// SetPackedPolicySize sets the PackedPolicySize field's value.
+func (s *GetFederationTokenOutput) SetPackedPolicySize(v int64) *GetFederationTokenOutput {
+ s.PackedPolicySize = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionTokenRequest
type GetSessionTokenInput struct {
_ struct{} `type:"structure"`
@@ -1581,10 +2262,9 @@ type GetSessionTokenInput struct {
// You can find the device for an IAM user by going to the AWS Management Console
// and viewing the user's security credentials.
//
- // The format for this parameter, as described by its regex pattern, is a string
- // of characters consisting of upper- and lower-case alphanumeric characters
- // with no spaces. You can also include underscores or any of the following
- // characters: =,.@-
+ // The regex used to validated this parameter is a string of characters consisting
+ // of upper- and lower-case alphanumeric characters with no spaces. You can
+ // also include underscores or any of the following characters: =,.@:/-
SerialNumber *string `min:"9" type:"string"`
// The value provided by the MFA device, if MFA is required. If any policy requires
@@ -1627,18 +2307,37 @@ func (s *GetSessionTokenInput) Validate() error {
return nil
}
+// SetDurationSeconds sets the DurationSeconds field's value.
+func (s *GetSessionTokenInput) SetDurationSeconds(v int64) *GetSessionTokenInput {
+ s.DurationSeconds = &v
+ return s
+}
+
+// SetSerialNumber sets the SerialNumber field's value.
+func (s *GetSessionTokenInput) SetSerialNumber(v string) *GetSessionTokenInput {
+ s.SerialNumber = &v
+ return s
+}
+
+// SetTokenCode sets the TokenCode field's value.
+func (s *GetSessionTokenInput) SetTokenCode(v string) *GetSessionTokenInput {
+ s.TokenCode = &v
+ return s
+}
+
// Contains the response to a successful GetSessionToken request, including
// temporary AWS credentials that can be used to make AWS requests.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionTokenResponse
type GetSessionTokenOutput struct {
_ struct{} `type:"structure"`
// The temporary security credentials, which include an access key ID, a secret
// access key, and a security (or session) token.
//
- // Note: The size of the security token that STS APIs return is not fixed.
- // We strongly recommend that you make no assumptions about the maximum size.
- // As of this writing, the typical size is less than 4096 bytes, but that can
- // vary. Also, future updates to AWS might require larger sizes.
+ // Note: The size of the security token that STS APIs return is not fixed. We
+ // strongly recommend that you make no assumptions about the maximum size. As
+ // of this writing, the typical size is less than 4096 bytes, but that can vary.
+ // Also, future updates to AWS might require larger sizes.
Credentials *Credentials `type:"structure"`
}
@@ -1651,3 +2350,9 @@ func (s GetSessionTokenOutput) String() string {
func (s GetSessionTokenOutput) GoString() string {
return s.String()
}
+
+// SetCredentials sets the Credentials field's value.
+func (s *GetSessionTokenOutput) SetCredentials(v *Credentials) *GetSessionTokenOutput {
+ s.Credentials = v
+ return s
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/doc.go b/vendor/github.com/aws/aws-sdk-go/service/sts/doc.go
new file mode 100644
index 000000000..ef681ab0c
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/sts/doc.go
@@ -0,0 +1,72 @@
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
+
+// Package sts provides the client and types for making API
+// requests to AWS Security Token Service.
+//
+// The AWS Security Token Service (STS) is a web service that enables you to
+// request temporary, limited-privilege credentials for AWS Identity and Access
+// Management (IAM) users or for users that you authenticate (federated users).
+// This guide provides descriptions of the STS API. For more detailed information
+// about using this service, go to Temporary Security Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html).
+//
+// As an alternative to using the API, you can use one of the AWS SDKs, which
+// consist of libraries and sample code for various programming languages and
+// platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient
+// way to create programmatic access to STS. For example, the SDKs take care
+// of cryptographically signing requests, managing errors, and retrying requests
+// automatically. For information about the AWS SDKs, including how to download
+// and install them, see the Tools for Amazon Web Services page (http://aws.amazon.com/tools/).
+//
+// For information about setting up signatures and authorization through the
+// API, go to Signing AWS API Requests (http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html)
+// in the AWS General Reference. For general information about the Query API,
+// go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html)
+// in Using IAM. For information about using security tokens with other AWS
+// products, go to AWS Services That Work with IAM (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)
+// in the IAM User Guide.
+//
+// If you're new to AWS and need additional technical information about a specific
+// AWS product, you can find the product's technical documentation at http://aws.amazon.com/documentation/
+// (http://aws.amazon.com/documentation/).
+//
+// Endpoints
+//
+// The AWS Security Token Service (STS) has a default endpoint of https://sts.amazonaws.com
+// that maps to the US East (N. Virginia) region. Additional regions are available
+// and are activated by default. For more information, see Activating and Deactivating
+// AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
+// in the IAM User Guide.
+//
+// For information about STS endpoints, see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region)
+// in the AWS General Reference.
+//
+// Recording API requests
+//
+// STS supports AWS CloudTrail, which is a service that records AWS calls for
+// your AWS account and delivers log files to an Amazon S3 bucket. By using
+// information collected by CloudTrail, you can determine what requests were
+// successfully made to STS, who made the request, when it was made, and so
+// on. To learn more about CloudTrail, including how to turn it on and find
+// your log files, see the AWS CloudTrail User Guide (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html).
+//
+// See https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15 for more information on this service.
+//
+// See sts package documentation for more information.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/sts/
+//
+// Using the Client
+//
+// To contact AWS Security Token Service with the SDK use the New function to create
+// a new service client. With that client you can make API requests to the service.
+// These clients are safe to use concurrently.
+//
+// See the SDK's documentation for more information on how to use the SDK.
+// https://docs.aws.amazon.com/sdk-for-go/api/
+//
+// See aws.Config documentation for more information on configuring SDK clients.
+// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config
+//
+// See the AWS Security Token Service client STS for more
+// information on creating client for this service.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/sts/#New
+package sts
diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go b/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go
new file mode 100644
index 000000000..e24884ef3
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go
@@ -0,0 +1,73 @@
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
+
+package sts
+
+const (
+
+ // ErrCodeExpiredTokenException for service response error code
+ // "ExpiredTokenException".
+ //
+ // The web identity token that was passed is expired or is not valid. Get a
+ // new identity token from the identity provider and then retry the request.
+ ErrCodeExpiredTokenException = "ExpiredTokenException"
+
+ // ErrCodeIDPCommunicationErrorException for service response error code
+ // "IDPCommunicationError".
+ //
+ // The request could not be fulfilled because the non-AWS identity provider
+ // (IDP) that was asked to verify the incoming identity token could not be reached.
+ // This is often a transient error caused by network conditions. Retry the request
+ // a limited number of times so that you don't exceed the request rate. If the
+ // error persists, the non-AWS identity provider might be down or not responding.
+ ErrCodeIDPCommunicationErrorException = "IDPCommunicationError"
+
+ // ErrCodeIDPRejectedClaimException for service response error code
+ // "IDPRejectedClaim".
+ //
+ // The identity provider (IdP) reported that authentication failed. This might
+ // be because the claim is invalid.
+ //
+ // If this error is returned for the AssumeRoleWithWebIdentity operation, it
+ // can also mean that the claim has expired or has been explicitly revoked.
+ ErrCodeIDPRejectedClaimException = "IDPRejectedClaim"
+
+ // ErrCodeInvalidAuthorizationMessageException for service response error code
+ // "InvalidAuthorizationMessageException".
+ //
+ // The error returned if the message passed to DecodeAuthorizationMessage was
+ // invalid. This can happen if the token contains invalid characters, such as
+ // linebreaks.
+ ErrCodeInvalidAuthorizationMessageException = "InvalidAuthorizationMessageException"
+
+ // ErrCodeInvalidIdentityTokenException for service response error code
+ // "InvalidIdentityToken".
+ //
+ // The web identity token that was passed could not be validated by AWS. Get
+ // a new identity token from the identity provider and then retry the request.
+ ErrCodeInvalidIdentityTokenException = "InvalidIdentityToken"
+
+ // ErrCodeMalformedPolicyDocumentException for service response error code
+ // "MalformedPolicyDocument".
+ //
+ // The request was rejected because the policy document was malformed. The error
+ // message describes the specific error.
+ ErrCodeMalformedPolicyDocumentException = "MalformedPolicyDocument"
+
+ // ErrCodePackedPolicyTooLargeException for service response error code
+ // "PackedPolicyTooLarge".
+ //
+ // The request was rejected because the policy document was too large. The error
+ // message describes how big the policy document is, in packed form, as a percentage
+ // of what the API allows.
+ ErrCodePackedPolicyTooLargeException = "PackedPolicyTooLarge"
+
+ // ErrCodeRegionDisabledException for service response error code
+ // "RegionDisabledException".
+ //
+ // STS is not activated in the requested region for the account that is being
+ // asked to generate credentials. The account administrator must use the IAM
+ // console to activate STS in that region. For more information, see Activating
+ // and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
+ // in the IAM User Guide.
+ ErrCodeRegionDisabledException = "RegionDisabledException"
+)
diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/service.go b/vendor/github.com/aws/aws-sdk-go/service/sts/service.go
index c938e6ca1..1ee5839e0 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/sts/service.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/sts/service.go
@@ -1,4 +1,4 @@
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package sts
@@ -11,53 +11,12 @@ import (
"github.com/aws/aws-sdk-go/private/protocol/query"
)
-// The AWS Security Token Service (STS) is a web service that enables you to
-// request temporary, limited-privilege credentials for AWS Identity and Access
-// Management (IAM) users or for users that you authenticate (federated users).
-// This guide provides descriptions of the STS API. For more detailed information
-// about using this service, go to Temporary Security Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html).
+// STS provides the API operation methods for making requests to
+// AWS Security Token Service. See this package's package overview docs
+// for details on the service.
//
-// As an alternative to using the API, you can use one of the AWS SDKs, which
-// consist of libraries and sample code for various programming languages and
-// platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient
-// way to create programmatic access to STS. For example, the SDKs take care
-// of cryptographically signing requests, managing errors, and retrying requests
-// automatically. For information about the AWS SDKs, including how to download
-// and install them, see the Tools for Amazon Web Services page (http://aws.amazon.com/tools/).
-//
-// For information about setting up signatures and authorization through the
-// API, go to Signing AWS API Requests (http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html)
-// in the AWS General Reference. For general information about the Query API,
-// go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html)
-// in Using IAM. For information about using security tokens with other AWS
-// products, go to AWS Services That Work with IAM (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)
-// in the IAM User Guide.
-//
-// If you're new to AWS and need additional technical information about a specific
-// AWS product, you can find the product's technical documentation at http://aws.amazon.com/documentation/
-// (http://aws.amazon.com/documentation/).
-//
-// Endpoints
-//
-// The AWS Security Token Service (STS) has a default endpoint of https://sts.amazonaws.com
-// that maps to the US East (N. Virginia) region. Additional regions are available
-// and are activated by default. For more information, see Activating and Deactivating
-// AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
-// in the IAM User Guide.
-//
-// For information about STS endpoints, see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region)
-// in the AWS General Reference.
-//
-// Recording API requests
-//
-// STS supports AWS CloudTrail, which is a service that records AWS calls for
-// your AWS account and delivers log files to an Amazon S3 bucket. By using
-// information collected by CloudTrail, you can determine what requests were
-// successfully made to STS, who made the request, when it was made, and so
-// on. To learn more about CloudTrail, including how to turn it on and find
-// your log files, see the AWS CloudTrail User Guide (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html).
-//The service client's operations are safe to be used concurrently.
-// It is not safe to mutate any of the client's properties though.
+// STS methods are safe to use concurrently. It is not safe to
+// modify mutate any of the struct's properties though.
type STS struct {
*client.Client
}
@@ -68,8 +27,11 @@ var initClient func(*client.Client)
// Used for custom request initialization logic
var initRequest func(*request.Request)
-// A ServiceName is the name of the service the client will make API calls to.
-const ServiceName = "sts"
+// Service information constants
+const (
+ ServiceName = "sts" // Service endpoint prefix API calls made to.
+ EndpointsID = ServiceName // Service ID for Regions and Endpoints metadata.
+)
// New creates a new instance of the STS client with a session.
// If additional configuration is needed for the client instance use the optional
@@ -82,17 +44,18 @@ const ServiceName = "sts"
// // Create a STS client with additional configuration
// svc := sts.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
func New(p client.ConfigProvider, cfgs ...*aws.Config) *STS {
- c := p.ClientConfig(ServiceName, cfgs...)
- return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion)
+ c := p.ClientConfig(EndpointsID, cfgs...)
+ return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName)
}
// newClient creates, initializes and returns a new service client instance.
-func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion string) *STS {
+func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion, signingName string) *STS {
svc := &STS{
Client: client.New(
cfg,
metadata.ClientInfo{
ServiceName: ServiceName,
+ SigningName: signingName,
SigningRegion: signingRegion,
Endpoint: endpoint,
APIVersion: "2011-06-15",
diff --git a/vendor/vendor.json b/vendor/vendor.json
index 3d3c1186f..1fad977df 100644
--- a/vendor/vendor.json
+++ b/vendor/vendor.json
@@ -44,94 +44,106 @@
"revisionTime": "2016-09-09T15:53:55Z"
},
{
- "checksumSHA1": "k4BkX61fhl/oX9X0lP7GFSvdz1s=",
+ "checksumSHA1": "irAylH0FbfVgkCcXP9U+Fkou9+U=",
"path": "github.com/aws/aws-sdk-go/aws",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
"checksumSHA1": "Y9W+4GimK4Fuxq+vyIskVYFRnX4=",
"path": "github.com/aws/aws-sdk-go/aws/awserr",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
- "checksumSHA1": "dkfyy7aRNZ6BmUZ4ZdLIcMMXiPA=",
+ "checksumSHA1": "yyYr41HZ1Aq0hWc3J5ijXwYEcac=",
"path": "github.com/aws/aws-sdk-go/aws/awsutil",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
- "checksumSHA1": "RsYlRfQceaAgqjIrExwNsb/RBEM=",
+ "checksumSHA1": "slpNCdnZ2JbBr94ZHc/9UzOaP5A=",
"path": "github.com/aws/aws-sdk-go/aws/client",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
"checksumSHA1": "ieAJ+Cvp/PKv1LpUEnUXpc3OI6E=",
"path": "github.com/aws/aws-sdk-go/aws/client/metadata",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
- "checksumSHA1": "gNWirlrTfSLbOe421hISBAhTqa4=",
+ "checksumSHA1": "7/8j/q0TWtOgXyvEcv4B2Dhl00o=",
"path": "github.com/aws/aws-sdk-go/aws/corehandlers",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
- "checksumSHA1": "dNZNaOPfBPnzE2CBnfhXXZ9g9jU=",
+ "checksumSHA1": "Y+cPwQL0dZMyqp3wI+KJWmA9KQ8=",
"path": "github.com/aws/aws-sdk-go/aws/credentials",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
- "checksumSHA1": "KQiUK/zr3mqnAXD7x/X55/iNme0=",
+ "checksumSHA1": "u3GOAJLmdvbuNUeUEcZSEAOeL/0=",
"path": "github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
"checksumSHA1": "NUJUTWlc1sV8b7WjfiYc4JZbXl0=",
"path": "github.com/aws/aws-sdk-go/aws/credentials/endpointcreds",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
- "checksumSHA1": "4Ipx+5xN0gso+cENC2MHMWmQlR4=",
+ "checksumSHA1": "JEYqmF83O5n5bHkupAzA6STm0no=",
"path": "github.com/aws/aws-sdk-go/aws/credentials/stscreds",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
- "checksumSHA1": "nCMd1XKjgV21bEl7J8VZFqTV8PE=",
+ "checksumSHA1": "ZdtYh3ZHSgP/WEIaqwJHTEhpkbs=",
"path": "github.com/aws/aws-sdk-go/aws/defaults",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
- "checksumSHA1": "U0SthWum+t9ACanK7SDJOg3dO6M=",
+ "checksumSHA1": "/EXbk/z2TWjWc1Hvb4QYs3Wmhb8=",
"path": "github.com/aws/aws-sdk-go/aws/ec2metadata",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
- "checksumSHA1": "NyUg1P8ZS/LHAAQAk/4C5O4X3og=",
+ "checksumSHA1": "bD27yVkthxbGLZK1FwS2rwvyKfE=",
+ "path": "github.com/aws/aws-sdk-go/aws/endpoints",
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
+ },
+ {
+ "checksumSHA1": "OB2foQOM27puEGoW4+bM/K2KR5g=",
"path": "github.com/aws/aws-sdk-go/aws/request",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
- "checksumSHA1": "tBdFneml1Vn7uvezcktsa+hUsGg=",
+ "checksumSHA1": "HcGL4e6Uep4/80eCUI5xkcWjpQ0=",
"path": "github.com/aws/aws-sdk-go/aws/session",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
- "checksumSHA1": "7lla+sckQeF18wORAGuU2fFMlp4=",
+ "checksumSHA1": "yzP2WtJtlWQ07Yxlb8NUJREAUEU=",
"path": "github.com/aws/aws-sdk-go/aws/signer/v4",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
+ },
+ {
+ "checksumSHA1": "04ypv4x12l4q0TksA1zEVsmgpvw=",
+ "path": "github.com/aws/aws-sdk-go/internal/shareddefaults",
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
"checksumSHA1": "Bm6UrYb2QCzpYseLwwgw6aetgRc=",
@@ -142,50 +154,50 @@
{
"checksumSHA1": "wk7EyvDaHwb5qqoOP/4d3cV0708=",
"path": "github.com/aws/aws-sdk-go/private/protocol",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
"checksumSHA1": "O6hcK24yI6w7FA+g4Pbr+eQ7pys=",
"path": "github.com/aws/aws-sdk-go/private/protocol/json/jsonutil",
- "revision": "aafdacd0d6e625a7a2782bef5f9942d6fc4c9f30",
- "revisionTime": "2017-07-14T21:00:53Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
"checksumSHA1": "R00RL5jJXRYq1iiK1+PGvMfvXyM=",
"path": "github.com/aws/aws-sdk-go/private/protocol/jsonrpc",
- "revision": "aafdacd0d6e625a7a2782bef5f9942d6fc4c9f30",
- "revisionTime": "2017-07-14T21:00:53Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
- "checksumSHA1": "isoix7lTx4qIq2zI2xFADtti5SI=",
+ "checksumSHA1": "ZqY5RWavBLWTo6j9xqdyBEaNFRk=",
"path": "github.com/aws/aws-sdk-go/private/protocol/query",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
- "checksumSHA1": "5xzix1R8prUyWxgLnzUQoxTsfik=",
+ "checksumSHA1": "9V1PvtFQ9MObZTc3sa86WcuOtOU=",
"path": "github.com/aws/aws-sdk-go/private/protocol/query/queryutil",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
- "checksumSHA1": "TW/7U+/8ormL7acf6z2rv2hDD+s=",
+ "checksumSHA1": "VCTh+dEaqqhog5ncy/WTt9+/gFM=",
"path": "github.com/aws/aws-sdk-go/private/protocol/rest",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
- "checksumSHA1": "Y6Db2GGfGD9LPpcJIPj8vXE8BbQ=",
+ "checksumSHA1": "ODo+ko8D6unAxZuN1jGzMcN4QCc=",
"path": "github.com/aws/aws-sdk-go/private/protocol/restxml",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
- "checksumSHA1": "eUEkjyMPAuekKBE4ou+nM9tXEas=",
+ "checksumSHA1": "0qYPUga28aQVkxZgBR3Z86AbGUQ=",
"path": "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
"checksumSHA1": "UFIw+LmowK/82NZv3IjZ3duRZT4=",
@@ -200,22 +212,22 @@
"revisionTime": "2016-08-11T16:24:59Z"
},
{
- "checksumSHA1": "y6jKUvrpTJxj5uh6OqQ4FujhCHU=",
+ "checksumSHA1": "J7ie0uuhhyWKkYsveypGUBTP+vM=",
"path": "github.com/aws/aws-sdk-go/service/route53",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
- "checksumSHA1": "qS3eZZfhdDM6haTZp7OeyhMDlV8=",
+ "checksumSHA1": "OaOrXlMNNWP8As3D4H+MpHlc3x0=",
"path": "github.com/aws/aws-sdk-go/service/route53domains",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
- "checksumSHA1": "nH/itbdeFHpl4ysegdtgww9bFSA=",
+ "checksumSHA1": "d9vR1rl8kmJxJBwe00byziVFR/o=",
"path": "github.com/aws/aws-sdk-go/service/sts",
- "revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
- "revisionTime": "2016-08-11T16:24:59Z"
+ "revision": "50411bcf38b6135440f2a5eb1c79e78f8cef675c",
+ "revisionTime": "2017-11-09T00:14:53Z"
},
{
"checksumSHA1": "7SNe9yHw+jXPr67uFdhpmaJzTg0=",