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",
}
}
|