-
Notifications
You must be signed in to change notification settings - Fork 598
/
api_op_CreateCacheSecurityGroup.go
148 lines (123 loc) · 4.71 KB
/
api_op_CreateCacheSecurityGroup.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
// 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"
)
// Represents the input of a CreateCacheSecurityGroup operation.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheSecurityGroupMessage
type CreateCacheSecurityGroupInput struct {
_ struct{} `type:"structure"`
// A name for the cache security group. This value is stored as a lowercase
// string.
//
// Constraints: Must contain no more than 255 alphanumeric characters. Cannot
// be the word "Default".
//
// Example: mysecuritygroup
//
// CacheSecurityGroupName is a required field
CacheSecurityGroupName *string `type:"string" required:"true"`
// A description for the cache security group.
//
// Description is a required field
Description *string `type:"string" required:"true"`
}
// String returns the string representation
func (s CreateCacheSecurityGroupInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateCacheSecurityGroupInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "CreateCacheSecurityGroupInput"}
if s.CacheSecurityGroupName == nil {
invalidParams.Add(aws.NewErrParamRequired("CacheSecurityGroupName"))
}
if s.Description == nil {
invalidParams.Add(aws.NewErrParamRequired("Description"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheSecurityGroupResult
type CreateCacheSecurityGroupOutput struct {
_ struct{} `type:"structure"`
// Represents the output of one of the following operations:
//
// * AuthorizeCacheSecurityGroupIngress
//
// * CreateCacheSecurityGroup
//
// * RevokeCacheSecurityGroupIngress
CacheSecurityGroup *CacheSecurityGroup `type:"structure"`
}
// String returns the string representation
func (s CreateCacheSecurityGroupOutput) String() string {
return awsutil.Prettify(s)
}
const opCreateCacheSecurityGroup = "CreateCacheSecurityGroup"
// CreateCacheSecurityGroupRequest returns a request value for making API operation for
// Amazon ElastiCache.
//
// Creates a new cache security group. Use a cache security group to control
// access to one or more clusters.
//
// Cache security groups are only used when you are creating a cluster outside
// of an Amazon Virtual Private Cloud (Amazon VPC). If you are creating a cluster
// inside of a VPC, use a cache subnet group instead. For more information,
// see CreateCacheSubnetGroup (https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheSubnetGroup.html).
//
// // Example sending a request using CreateCacheSecurityGroupRequest.
// req := client.CreateCacheSecurityGroupRequest(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/CreateCacheSecurityGroup
func (c *Client) CreateCacheSecurityGroupRequest(input *CreateCacheSecurityGroupInput) CreateCacheSecurityGroupRequest {
op := &aws.Operation{
Name: opCreateCacheSecurityGroup,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &CreateCacheSecurityGroupInput{}
}
req := c.newRequest(op, input, &CreateCacheSecurityGroupOutput{})
return CreateCacheSecurityGroupRequest{Request: req, Input: input, Copy: c.CreateCacheSecurityGroupRequest}
}
// CreateCacheSecurityGroupRequest is the request type for the
// CreateCacheSecurityGroup API operation.
type CreateCacheSecurityGroupRequest struct {
*aws.Request
Input *CreateCacheSecurityGroupInput
Copy func(*CreateCacheSecurityGroupInput) CreateCacheSecurityGroupRequest
}
// Send marshals and sends the CreateCacheSecurityGroup API request.
func (r CreateCacheSecurityGroupRequest) Send(ctx context.Context) (*CreateCacheSecurityGroupResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &CreateCacheSecurityGroupResponse{
CreateCacheSecurityGroupOutput: r.Request.Data.(*CreateCacheSecurityGroupOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// CreateCacheSecurityGroupResponse is the response type for the
// CreateCacheSecurityGroup API operation.
type CreateCacheSecurityGroupResponse struct {
*CreateCacheSecurityGroupOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// CreateCacheSecurityGroup request.
func (r *CreateCacheSecurityGroupResponse) SDKResponseMetdata() *aws.Response {
return r.response
}