/
api_op_IncreaseReplicaCount.go
152 lines (124 loc) · 4.83 KB
/
api_op_IncreaseReplicaCount.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
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package elasticache
import (
"context"
"fmt"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
type IncreaseReplicaCountInput struct {
_ struct{} `type:"structure"`
// If True, the number of replica nodes is increased immediately. ApplyImmediately=False
// is not currently supported.
//
// ApplyImmediately is a required field
ApplyImmediately *bool `type:"boolean" required:"true"`
// The number of read replica nodes you want at the completion of this operation.
// For Redis (cluster mode disabled) replication groups, this is the number
// of replica nodes in the replication group. For Redis (cluster mode enabled)
// replication groups, this is the number of replica nodes in each of the replication
// group's node groups.
NewReplicaCount *int64 `type:"integer"`
// A list of ConfigureShard objects that can be used to configure each shard
// in a Redis (cluster mode enabled) replication group. The ConfigureShard has
// three members: NewReplicaCount, NodeGroupId, and PreferredAvailabilityZones.
ReplicaConfiguration []ConfigureShard `locationNameList:"ConfigureShard" type:"list"`
// The id of the replication group to which you want to add replica nodes.
//
// ReplicationGroupId is a required field
ReplicationGroupId *string `type:"string" required:"true"`
}
// String returns the string representation
func (s IncreaseReplicaCountInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *IncreaseReplicaCountInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "IncreaseReplicaCountInput"}
if s.ApplyImmediately == nil {
invalidParams.Add(aws.NewErrParamRequired("ApplyImmediately"))
}
if s.ReplicationGroupId == nil {
invalidParams.Add(aws.NewErrParamRequired("ReplicationGroupId"))
}
if s.ReplicaConfiguration != nil {
for i, v := range s.ReplicaConfiguration {
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaConfiguration", i), err.(aws.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
type IncreaseReplicaCountOutput struct {
_ struct{} `type:"structure"`
// Contains all of the attributes of a specific Redis replication group.
ReplicationGroup *ReplicationGroup `type:"structure"`
}
// String returns the string representation
func (s IncreaseReplicaCountOutput) String() string {
return awsutil.Prettify(s)
}
const opIncreaseReplicaCount = "IncreaseReplicaCount"
// IncreaseReplicaCountRequest returns a request value for making API operation for
// Amazon ElastiCache.
//
// Dynamically increases the number of replics in a Redis (cluster mode disabled)
// replication group or the number of replica nodes in one or more node groups
// (shards) of a Redis (cluster mode enabled) replication group. This operation
// is performed with no cluster down time.
//
// // Example sending a request using IncreaseReplicaCountRequest.
// req := client.IncreaseReplicaCountRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseReplicaCount
func (c *Client) IncreaseReplicaCountRequest(input *IncreaseReplicaCountInput) IncreaseReplicaCountRequest {
op := &aws.Operation{
Name: opIncreaseReplicaCount,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &IncreaseReplicaCountInput{}
}
req := c.newRequest(op, input, &IncreaseReplicaCountOutput{})
return IncreaseReplicaCountRequest{Request: req, Input: input, Copy: c.IncreaseReplicaCountRequest}
}
// IncreaseReplicaCountRequest is the request type for the
// IncreaseReplicaCount API operation.
type IncreaseReplicaCountRequest struct {
*aws.Request
Input *IncreaseReplicaCountInput
Copy func(*IncreaseReplicaCountInput) IncreaseReplicaCountRequest
}
// Send marshals and sends the IncreaseReplicaCount API request.
func (r IncreaseReplicaCountRequest) Send(ctx context.Context) (*IncreaseReplicaCountResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &IncreaseReplicaCountResponse{
IncreaseReplicaCountOutput: r.Request.Data.(*IncreaseReplicaCountOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// IncreaseReplicaCountResponse is the response type for the
// IncreaseReplicaCount API operation.
type IncreaseReplicaCountResponse struct {
*IncreaseReplicaCountOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// IncreaseReplicaCount request.
func (r *IncreaseReplicaCountResponse) SDKResponseMetdata() *aws.Response {
return r.response
}