-
Notifications
You must be signed in to change notification settings - Fork 623
/
api_op_ListAllowedNodeTypeModifications.go
135 lines (113 loc) · 5.02 KB
/
api_op_ListAllowedNodeTypeModifications.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
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package elasticache
import (
"context"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
// The input parameters for the ListAllowedNodeTypeModifications operation.
type ListAllowedNodeTypeModificationsInput struct {
_ struct{} `type:"structure"`
// The name of the cluster you want to scale up to a larger node instanced type.
// ElastiCache uses the cluster id to identify the current node type of this
// cluster and from that to create a list of node types you can scale up to.
//
// You must provide a value for either the CacheClusterId or the ReplicationGroupId.
CacheClusterId *string `type:"string"`
// The name of the replication group want to scale up to a larger node type.
// ElastiCache uses the replication group id to identify the current node type
// being used by this replication group, and from that to create a list of node
// types you can scale up to.
//
// You must provide a value for either the CacheClusterId or the ReplicationGroupId.
ReplicationGroupId *string `type:"string"`
}
// String returns the string representation
func (s ListAllowedNodeTypeModificationsInput) String() string {
return awsutil.Prettify(s)
}
// Represents the allowed node types you can use to modify your cluster or replication
// group.
type ListAllowedNodeTypeModificationsOutput struct {
_ struct{} `type:"structure"`
// A string list, each element of which specifies a cache node type which you
// can use to scale your cluster or replication group.
//
// When scaling down on a Redis cluster or replication group using ModifyCacheCluster
// or ModifyReplicationGroup, use a value from this list for the CacheNodeType
// parameter.
ScaleDownModifications []string `type:"list"`
// A string list, each element of which specifies a cache node type which you
// can use to scale your cluster or replication group.
//
// When scaling up a Redis cluster or replication group using ModifyCacheCluster
// or ModifyReplicationGroup, use a value from this list for the CacheNodeType
// parameter.
ScaleUpModifications []string `type:"list"`
}
// String returns the string representation
func (s ListAllowedNodeTypeModificationsOutput) String() string {
return awsutil.Prettify(s)
}
const opListAllowedNodeTypeModifications = "ListAllowedNodeTypeModifications"
// ListAllowedNodeTypeModificationsRequest returns a request value for making API operation for
// Amazon ElastiCache.
//
// Lists all available node types that you can scale your Redis cluster's or
// replication group's current node type.
//
// When you use the ModifyCacheCluster or ModifyReplicationGroup operations
// to scale your cluster or replication group, the value of the CacheNodeType
// parameter must be one of the node types returned by this operation.
//
// // Example sending a request using ListAllowedNodeTypeModificationsRequest.
// req := client.ListAllowedNodeTypeModificationsRequest(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/ListAllowedNodeTypeModifications
func (c *Client) ListAllowedNodeTypeModificationsRequest(input *ListAllowedNodeTypeModificationsInput) ListAllowedNodeTypeModificationsRequest {
op := &aws.Operation{
Name: opListAllowedNodeTypeModifications,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &ListAllowedNodeTypeModificationsInput{}
}
req := c.newRequest(op, input, &ListAllowedNodeTypeModificationsOutput{})
return ListAllowedNodeTypeModificationsRequest{Request: req, Input: input, Copy: c.ListAllowedNodeTypeModificationsRequest}
}
// ListAllowedNodeTypeModificationsRequest is the request type for the
// ListAllowedNodeTypeModifications API operation.
type ListAllowedNodeTypeModificationsRequest struct {
*aws.Request
Input *ListAllowedNodeTypeModificationsInput
Copy func(*ListAllowedNodeTypeModificationsInput) ListAllowedNodeTypeModificationsRequest
}
// Send marshals and sends the ListAllowedNodeTypeModifications API request.
func (r ListAllowedNodeTypeModificationsRequest) Send(ctx context.Context) (*ListAllowedNodeTypeModificationsResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &ListAllowedNodeTypeModificationsResponse{
ListAllowedNodeTypeModificationsOutput: r.Request.Data.(*ListAllowedNodeTypeModificationsOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// ListAllowedNodeTypeModificationsResponse is the response type for the
// ListAllowedNodeTypeModifications API operation.
type ListAllowedNodeTypeModificationsResponse struct {
*ListAllowedNodeTypeModificationsOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// ListAllowedNodeTypeModifications request.
func (r *ListAllowedNodeTypeModificationsResponse) SDKResponseMetdata() *aws.Response {
return r.response
}