-
Notifications
You must be signed in to change notification settings - Fork 602
/
api_op_EnableAvailabilityZonesForLoadBalancer.go
139 lines (114 loc) · 5.06 KB
/
api_op_EnableAvailabilityZonesForLoadBalancer.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
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package elasticloadbalancing
import (
"context"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
// Contains the parameters for EnableAvailabilityZonesForLoadBalancer.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancing-2012-06-01/AddAvailabilityZonesInput
type EnableAvailabilityZonesForLoadBalancerInput struct {
_ struct{} `type:"structure"`
// The Availability Zones. These must be in the same region as the load balancer.
//
// AvailabilityZones is a required field
AvailabilityZones []string `type:"list" required:"true"`
// The name of the load balancer.
//
// LoadBalancerName is a required field
LoadBalancerName *string `type:"string" required:"true"`
}
// String returns the string representation
func (s EnableAvailabilityZonesForLoadBalancerInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *EnableAvailabilityZonesForLoadBalancerInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "EnableAvailabilityZonesForLoadBalancerInput"}
if s.AvailabilityZones == nil {
invalidParams.Add(aws.NewErrParamRequired("AvailabilityZones"))
}
if s.LoadBalancerName == nil {
invalidParams.Add(aws.NewErrParamRequired("LoadBalancerName"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the output of EnableAvailabilityZonesForLoadBalancer.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancing-2012-06-01/AddAvailabilityZonesOutput
type EnableAvailabilityZonesForLoadBalancerOutput struct {
_ struct{} `type:"structure"`
// The updated list of Availability Zones for the load balancer.
AvailabilityZones []string `type:"list"`
}
// String returns the string representation
func (s EnableAvailabilityZonesForLoadBalancerOutput) String() string {
return awsutil.Prettify(s)
}
const opEnableAvailabilityZonesForLoadBalancer = "EnableAvailabilityZonesForLoadBalancer"
// EnableAvailabilityZonesForLoadBalancerRequest returns a request value for making API operation for
// Elastic Load Balancing.
//
// Adds the specified Availability Zones to the set of Availability Zones for
// the specified load balancer in EC2-Classic or a default VPC.
//
// For load balancers in a non-default VPC, use AttachLoadBalancerToSubnets.
//
// The load balancer evenly distributes requests across all its registered Availability
// Zones that contain instances. For more information, see Add or Remove Availability
// Zones (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-az.html)
// in the Classic Load Balancers Guide.
//
// // Example sending a request using EnableAvailabilityZonesForLoadBalancerRequest.
// req := client.EnableAvailabilityZonesForLoadBalancerRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancing-2012-06-01/EnableAvailabilityZonesForLoadBalancer
func (c *Client) EnableAvailabilityZonesForLoadBalancerRequest(input *EnableAvailabilityZonesForLoadBalancerInput) EnableAvailabilityZonesForLoadBalancerRequest {
op := &aws.Operation{
Name: opEnableAvailabilityZonesForLoadBalancer,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &EnableAvailabilityZonesForLoadBalancerInput{}
}
req := c.newRequest(op, input, &EnableAvailabilityZonesForLoadBalancerOutput{})
return EnableAvailabilityZonesForLoadBalancerRequest{Request: req, Input: input, Copy: c.EnableAvailabilityZonesForLoadBalancerRequest}
}
// EnableAvailabilityZonesForLoadBalancerRequest is the request type for the
// EnableAvailabilityZonesForLoadBalancer API operation.
type EnableAvailabilityZonesForLoadBalancerRequest struct {
*aws.Request
Input *EnableAvailabilityZonesForLoadBalancerInput
Copy func(*EnableAvailabilityZonesForLoadBalancerInput) EnableAvailabilityZonesForLoadBalancerRequest
}
// Send marshals and sends the EnableAvailabilityZonesForLoadBalancer API request.
func (r EnableAvailabilityZonesForLoadBalancerRequest) Send(ctx context.Context) (*EnableAvailabilityZonesForLoadBalancerResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &EnableAvailabilityZonesForLoadBalancerResponse{
EnableAvailabilityZonesForLoadBalancerOutput: r.Request.Data.(*EnableAvailabilityZonesForLoadBalancerOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// EnableAvailabilityZonesForLoadBalancerResponse is the response type for the
// EnableAvailabilityZonesForLoadBalancer API operation.
type EnableAvailabilityZonesForLoadBalancerResponse struct {
*EnableAvailabilityZonesForLoadBalancerOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// EnableAvailabilityZonesForLoadBalancer request.
func (r *EnableAvailabilityZonesForLoadBalancerResponse) SDKResponseMetdata() *aws.Response {
return r.response
}