-
Notifications
You must be signed in to change notification settings - Fork 598
/
api_op_SetDesiredCapacity.go
143 lines (118 loc) · 4.52 KB
/
api_op_SetDesiredCapacity.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
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package autoscaling
import (
"context"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
"github.com/aws/aws-sdk-go-v2/private/protocol"
"github.com/aws/aws-sdk-go-v2/private/protocol/query"
)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/SetDesiredCapacityType
type SetDesiredCapacityInput struct {
_ struct{} `type:"structure"`
// The name of the Auto Scaling group.
//
// AutoScalingGroupName is a required field
AutoScalingGroupName *string `min:"1" type:"string" required:"true"`
// The number of EC2 instances that should be running in the Auto Scaling group.
//
// DesiredCapacity is a required field
DesiredCapacity *int64 `type:"integer" required:"true"`
// Indicates whether Amazon EC2 Auto Scaling waits for the cooldown period to
// complete before initiating a scaling activity to set your Auto Scaling group
// to its new capacity. By default, Amazon EC2 Auto Scaling does not honor the
// cooldown period during manual scaling activities.
HonorCooldown *bool `type:"boolean"`
}
// String returns the string representation
func (s SetDesiredCapacityInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *SetDesiredCapacityInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "SetDesiredCapacityInput"}
if s.AutoScalingGroupName == nil {
invalidParams.Add(aws.NewErrParamRequired("AutoScalingGroupName"))
}
if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("AutoScalingGroupName", 1))
}
if s.DesiredCapacity == nil {
invalidParams.Add(aws.NewErrParamRequired("DesiredCapacity"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/SetDesiredCapacityOutput
type SetDesiredCapacityOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation
func (s SetDesiredCapacityOutput) String() string {
return awsutil.Prettify(s)
}
const opSetDesiredCapacity = "SetDesiredCapacity"
// SetDesiredCapacityRequest returns a request value for making API operation for
// Auto Scaling.
//
// Sets the size of the specified Auto Scaling group.
//
// For more information about desired capacity, see What Is Amazon EC2 Auto
// Scaling? (https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// // Example sending a request using SetDesiredCapacityRequest.
// req := client.SetDesiredCapacityRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/SetDesiredCapacity
func (c *Client) SetDesiredCapacityRequest(input *SetDesiredCapacityInput) SetDesiredCapacityRequest {
op := &aws.Operation{
Name: opSetDesiredCapacity,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &SetDesiredCapacityInput{}
}
req := c.newRequest(op, input, &SetDesiredCapacityOutput{})
req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
return SetDesiredCapacityRequest{Request: req, Input: input, Copy: c.SetDesiredCapacityRequest}
}
// SetDesiredCapacityRequest is the request type for the
// SetDesiredCapacity API operation.
type SetDesiredCapacityRequest struct {
*aws.Request
Input *SetDesiredCapacityInput
Copy func(*SetDesiredCapacityInput) SetDesiredCapacityRequest
}
// Send marshals and sends the SetDesiredCapacity API request.
func (r SetDesiredCapacityRequest) Send(ctx context.Context) (*SetDesiredCapacityResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &SetDesiredCapacityResponse{
SetDesiredCapacityOutput: r.Request.Data.(*SetDesiredCapacityOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// SetDesiredCapacityResponse is the response type for the
// SetDesiredCapacity API operation.
type SetDesiredCapacityResponse struct {
*SetDesiredCapacityOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// SetDesiredCapacity request.
func (r *SetDesiredCapacityResponse) SDKResponseMetdata() *aws.Response {
return r.response
}