/
api_op_UpdateDomainNameservers.go
157 lines (130 loc) · 5.09 KB
/
api_op_UpdateDomainNameservers.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package route53domains
import (
"context"
"fmt"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
// 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.
type UpdateDomainNameserversInput struct {
_ struct{} `type:"structure"`
// The name of the domain that you want to change name servers for.
//
// DomainName is a required field
DomainName *string `type:"string" required:"true"`
// The authorization key for .fi domains
FIAuthKey *string `deprecated:"true" type:"string"`
// A list of new name servers for the domain.
//
// Nameservers is a required field
Nameservers []Nameserver `type:"list" required:"true"`
}
// String returns the string representation
func (s UpdateDomainNameserversInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *UpdateDomainNameserversInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "UpdateDomainNameserversInput"}
if s.DomainName == nil {
invalidParams.Add(aws.NewErrParamRequired("DomainName"))
}
if s.Nameservers == nil {
invalidParams.Add(aws.NewErrParamRequired("Nameservers"))
}
if s.Nameservers != nil {
for i, v := range s.Nameservers {
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Nameservers", i), err.(aws.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// The UpdateDomainNameservers response includes the following element.
type UpdateDomainNameserversOutput struct {
_ struct{} `type:"structure"`
// Identifier for tracking the progress of the request. To query the operation
// status, use GetOperationDetail (https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html).
//
// OperationId is a required field
OperationId *string `type:"string" required:"true"`
}
// String returns the string representation
func (s UpdateDomainNameserversOutput) String() string {
return awsutil.Prettify(s)
}
const opUpdateDomainNameservers = "UpdateDomainNameservers"
// UpdateDomainNameserversRequest returns a request value for making 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
// 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.
//
// // Example sending a request using UpdateDomainNameserversRequest.
// req := client.UpdateDomainNameserversRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/UpdateDomainNameservers
func (c *Client) UpdateDomainNameserversRequest(input *UpdateDomainNameserversInput) UpdateDomainNameserversRequest {
op := &aws.Operation{
Name: opUpdateDomainNameservers,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &UpdateDomainNameserversInput{}
}
req := c.newRequest(op, input, &UpdateDomainNameserversOutput{})
return UpdateDomainNameserversRequest{Request: req, Input: input, Copy: c.UpdateDomainNameserversRequest}
}
// UpdateDomainNameserversRequest is the request type for the
// UpdateDomainNameservers API operation.
type UpdateDomainNameserversRequest struct {
*aws.Request
Input *UpdateDomainNameserversInput
Copy func(*UpdateDomainNameserversInput) UpdateDomainNameserversRequest
}
// Send marshals and sends the UpdateDomainNameservers API request.
func (r UpdateDomainNameserversRequest) Send(ctx context.Context) (*UpdateDomainNameserversResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &UpdateDomainNameserversResponse{
UpdateDomainNameserversOutput: r.Request.Data.(*UpdateDomainNameserversOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// UpdateDomainNameserversResponse is the response type for the
// UpdateDomainNameservers API operation.
type UpdateDomainNameserversResponse struct {
*UpdateDomainNameserversOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// UpdateDomainNameservers request.
func (r *UpdateDomainNameserversResponse) SDKResponseMetdata() *aws.Response {
return r.response
}