-
Notifications
You must be signed in to change notification settings - Fork 623
/
api_op_DeleteAutoSnapshot.go
133 lines (108 loc) · 3.89 KB
/
api_op_DeleteAutoSnapshot.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
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package lightsail
import (
"context"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
type DeleteAutoSnapshotInput struct {
_ struct{} `type:"structure"`
// The date of the automatic snapshot to delete in YYYY-MM-DD format. Use the
// get auto snapshots operation to get the available automatic snapshots for
// a resource.
//
// Date is a required field
Date *string `locationName:"date" type:"string" required:"true"`
// The name of the source instance or disk from which to delete the automatic
// snapshot.
//
// ResourceName is a required field
ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
}
// String returns the string representation
func (s DeleteAutoSnapshotInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteAutoSnapshotInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "DeleteAutoSnapshotInput"}
if s.Date == nil {
invalidParams.Add(aws.NewErrParamRequired("Date"))
}
if s.ResourceName == nil {
invalidParams.Add(aws.NewErrParamRequired("ResourceName"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
type DeleteAutoSnapshotOutput struct {
_ struct{} `type:"structure"`
// An array of objects that describe the result of the action, such as the status
// of the request, the time stamp of the request, and the resources affected
// by the request.
Operations []Operation `locationName:"operations" type:"list"`
}
// String returns the string representation
func (s DeleteAutoSnapshotOutput) String() string {
return awsutil.Prettify(s)
}
const opDeleteAutoSnapshot = "DeleteAutoSnapshot"
// DeleteAutoSnapshotRequest returns a request value for making API operation for
// Amazon Lightsail.
//
// Deletes an automatic snapshot of an instance or disk. For more information,
// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
//
// // Example sending a request using DeleteAutoSnapshotRequest.
// req := client.DeleteAutoSnapshotRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteAutoSnapshot
func (c *Client) DeleteAutoSnapshotRequest(input *DeleteAutoSnapshotInput) DeleteAutoSnapshotRequest {
op := &aws.Operation{
Name: opDeleteAutoSnapshot,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DeleteAutoSnapshotInput{}
}
req := c.newRequest(op, input, &DeleteAutoSnapshotOutput{})
return DeleteAutoSnapshotRequest{Request: req, Input: input, Copy: c.DeleteAutoSnapshotRequest}
}
// DeleteAutoSnapshotRequest is the request type for the
// DeleteAutoSnapshot API operation.
type DeleteAutoSnapshotRequest struct {
*aws.Request
Input *DeleteAutoSnapshotInput
Copy func(*DeleteAutoSnapshotInput) DeleteAutoSnapshotRequest
}
// Send marshals and sends the DeleteAutoSnapshot API request.
func (r DeleteAutoSnapshotRequest) Send(ctx context.Context) (*DeleteAutoSnapshotResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &DeleteAutoSnapshotResponse{
DeleteAutoSnapshotOutput: r.Request.Data.(*DeleteAutoSnapshotOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// DeleteAutoSnapshotResponse is the response type for the
// DeleteAutoSnapshot API operation.
type DeleteAutoSnapshotResponse struct {
*DeleteAutoSnapshotOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// DeleteAutoSnapshot request.
func (r *DeleteAutoSnapshotResponse) SDKResponseMetdata() *aws.Response {
return r.response
}