/
api_op_CreateSnapshotSchedule.go
156 lines (131 loc) · 4.43 KB
/
api_op_CreateSnapshotSchedule.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
153
154
155
156
// Code generated by smithy-go-codegen DO NOT EDIT.
package redshift
import (
"context"
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/redshift/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
"time"
)
// Create a snapshot schedule that can be associated to a cluster and which
// overrides the default system backup schedule.
func (c *Client) CreateSnapshotSchedule(ctx context.Context, params *CreateSnapshotScheduleInput, optFns ...func(*Options)) (*CreateSnapshotScheduleOutput, error) {
if params == nil {
params = &CreateSnapshotScheduleInput{}
}
result, metadata, err := c.invokeOperation(ctx, "CreateSnapshotSchedule", params, optFns, c.addOperationCreateSnapshotScheduleMiddlewares)
if err != nil {
return nil, err
}
out := result.(*CreateSnapshotScheduleOutput)
out.ResultMetadata = metadata
return out, nil
}
type CreateSnapshotScheduleInput struct {
//
DryRun *bool
//
NextInvocations *int32
// The definition of the snapshot schedule. The definition is made up of schedule
// expressions, for example "cron(30 12 *)" or "rate(12 hours)".
ScheduleDefinitions []string
// The description of the snapshot schedule.
ScheduleDescription *string
// A unique identifier for a snapshot schedule. Only alphanumeric characters are
// allowed for the identifier.
ScheduleIdentifier *string
// An optional set of tags you can use to search for the schedule.
Tags []types.Tag
noSmithyDocumentSerde
}
// Describes a snapshot schedule. You can set a regular interval for creating
// snapshots of a cluster. You can also schedule snapshots for specific dates.
type CreateSnapshotScheduleOutput struct {
// The number of clusters associated with the schedule.
AssociatedClusterCount *int32
// A list of clusters associated with the schedule. A maximum of 100 clusters is
// returned.
AssociatedClusters []types.ClusterAssociatedToSchedule
//
NextInvocations []time.Time
// A list of ScheduleDefinitions.
ScheduleDefinitions []string
// The description of the schedule.
ScheduleDescription *string
// A unique identifier for the schedule.
ScheduleIdentifier *string
// An optional set of tags describing the schedule.
Tags []types.Tag
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationCreateSnapshotScheduleMiddlewares(stack *middleware.Stack, options Options) (err error) {
err = stack.Serialize.Add(&awsAwsquery_serializeOpCreateSnapshotSchedule{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsquery_deserializeOpCreateSnapshotSchedule{}, middleware.After)
if 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 = addHTTPSignerV4Middleware(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); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateSnapshotSchedule(options.Region), middleware.Before); 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
}
return nil
}
func newServiceMetadataMiddleware_opCreateSnapshotSchedule(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
SigningName: "redshift",
OperationName: "CreateSnapshotSchedule",
}
}