File: api_op_ModifyServerlessCache.go

package info (click to toggle)
golang-github-aws-aws-sdk-go-v2 1.24.1-2~bpo12%2B1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-backports
  • size: 554,032 kB
  • sloc: java: 15,941; makefile: 419; sh: 175
file content (172 lines) | stat: -rw-r--r-- 5,669 bytes parent folder | download
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
// Code generated by smithy-go-codegen DO NOT EDIT.

package elasticache

import (
	"context"
	"fmt"
	awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
	"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
	"github.com/aws/aws-sdk-go-v2/service/elasticache/types"
	"github.com/aws/smithy-go/middleware"
	smithyhttp "github.com/aws/smithy-go/transport/http"
)

// This API modifies the attributes of a serverless cache.
func (c *Client) ModifyServerlessCache(ctx context.Context, params *ModifyServerlessCacheInput, optFns ...func(*Options)) (*ModifyServerlessCacheOutput, error) {
	if params == nil {
		params = &ModifyServerlessCacheInput{}
	}

	result, metadata, err := c.invokeOperation(ctx, "ModifyServerlessCache", params, optFns, c.addOperationModifyServerlessCacheMiddlewares)
	if err != nil {
		return nil, err
	}

	out := result.(*ModifyServerlessCacheOutput)
	out.ResultMetadata = metadata
	return out, nil
}

type ModifyServerlessCacheInput struct {

	// User-provided identifier for the serverless cache to be modified.
	//
	// This member is required.
	ServerlessCacheName *string

	// Modify the cache usage limit for the serverless cache.
	CacheUsageLimits *types.CacheUsageLimits

	// The daily time during which Elasticache begins taking a daily snapshot of the
	// serverless cache. Available for Redis only. The default is NULL, i.e. the
	// existing snapshot time configured for the cluster is not removed.
	DailySnapshotTime *string

	// User provided description for the serverless cache. Default = NULL, i.e. the
	// existing description is not removed/modified. The description has a maximum
	// length of 255 characters.
	Description *string

	// The identifier of the UserGroup to be removed from association with the Redis
	// serverless cache. Available for Redis only. Default is NULL.
	RemoveUserGroup *bool

	// The new list of VPC security groups to be associated with the serverless cache.
	// Populating this list means the current VPC security groups will be removed. This
	// security group is used to authorize traffic access for the VPC end-point
	// (private-link). Default = NULL - the existing list of VPC security groups is not
	// removed.
	SecurityGroupIds []string

	// The number of days for which Elasticache retains automatic snapshots before
	// deleting them. Available for Redis only. Default = NULL, i.e. the existing
	// snapshot-retention-limit will not be removed or modified. The maximum value
	// allowed is 35 days.
	SnapshotRetentionLimit *int32

	// The identifier of the UserGroup to be associated with the serverless cache.
	// Available for Redis only. Default is NULL - the existing UserGroup is not
	// removed.
	UserGroupId *string

	noSmithyDocumentSerde
}

type ModifyServerlessCacheOutput struct {

	// The response for the attempt to modify the serverless cache.
	ServerlessCache *types.ServerlessCache

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata

	noSmithyDocumentSerde
}

func (c *Client) addOperationModifyServerlessCacheMiddlewares(stack *middleware.Stack, options Options) (err error) {
	if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
		return err
	}
	err = stack.Serialize.Add(&awsAwsquery_serializeOpModifyServerlessCache{}, middleware.After)
	if err != nil {
		return err
	}
	err = stack.Deserialize.Add(&awsAwsquery_deserializeOpModifyServerlessCache{}, middleware.After)
	if err != nil {
		return err
	}
	if err := addProtocolFinalizerMiddlewares(stack, options, "ModifyServerlessCache"); err != nil {
		return fmt.Errorf("add protocol finalizers: %v", err)
	}

	if err = addlegacyEndpointContextSetter(stack, options); err != nil {
		return err
	}
	if err = addSetLoggerMiddleware(stack, options); err != nil {
		return err
	}
	if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
		return err
	}
	if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
		return err
	}
	if err = addResolveEndpointMiddleware(stack, options); err != nil {
		return err
	}
	if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
		return err
	}
	if err = addRetryMiddlewares(stack, options); err != nil {
		return err
	}
	if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
		return err
	}
	if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
		return err
	}
	if err = addClientUserAgent(stack, options); err != nil {
		return err
	}
	if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
		return err
	}
	if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
		return err
	}
	if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
		return err
	}
	if err = addOpModifyServerlessCacheValidationMiddleware(stack); err != nil {
		return err
	}
	if err = stack.Initialize.Add(newServiceMetadataMiddleware_opModifyServerlessCache(options.Region), middleware.Before); err != nil {
		return err
	}
	if err = awsmiddleware.AddRecursionDetection(stack); err != nil {
		return err
	}
	if err = addRequestIDRetrieverMiddleware(stack); err != nil {
		return err
	}
	if err = addResponseErrorMiddleware(stack); err != nil {
		return err
	}
	if err = addRequestResponseLogging(stack, options); err != nil {
		return err
	}
	if err = addDisableHTTPSMiddleware(stack, options); err != nil {
		return err
	}
	return nil
}

func newServiceMetadataMiddleware_opModifyServerlessCache(region string) *awsmiddleware.RegisterServiceMetadata {
	return &awsmiddleware.RegisterServiceMetadata{
		Region:        region,
		ServiceID:     ServiceID,
		OperationName: "ModifyServerlessCache",
	}
}