-
Notifications
You must be signed in to change notification settings - Fork 623
/
api_op_DeleteGateway.go
140 lines (117 loc) · 4.4 KB
/
api_op_DeleteGateway.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
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package storagegateway
import (
"context"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
// A JSON object containing the ID of the gateway to delete.
type DeleteGatewayInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
// to return a list of gateways for your account and AWS Region.
//
// GatewayARN is a required field
GatewayARN *string `min:"50" type:"string" required:"true"`
}
// String returns the string representation
func (s DeleteGatewayInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteGatewayInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "DeleteGatewayInput"}
if s.GatewayARN == nil {
invalidParams.Add(aws.NewErrParamRequired("GatewayARN"))
}
if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
invalidParams.Add(aws.NewErrParamMinLen("GatewayARN", 50))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// A JSON object containing the ID of the deleted gateway.
type DeleteGatewayOutput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
// to return a list of gateways for your account and AWS Region.
GatewayARN *string `min:"50" type:"string"`
}
// String returns the string representation
func (s DeleteGatewayOutput) String() string {
return awsutil.Prettify(s)
}
const opDeleteGateway = "DeleteGateway"
// DeleteGatewayRequest returns a request value for making API operation for
// AWS Storage Gateway.
//
// Deletes a gateway. To specify which gateway to delete, use the Amazon Resource
// Name (ARN) of the gateway in your request. The operation deletes the gateway;
// however, it does not delete the gateway virtual machine (VM) from your host
// computer.
//
// After you delete a gateway, you cannot reactivate it. Completed snapshots
// of the gateway volumes are not deleted upon deleting the gateway, however,
// pending snapshots will not complete. After you delete a gateway, your next
// step is to remove it from your environment.
//
// You no longer pay software charges after the gateway is deleted; however,
// your existing Amazon EBS snapshots persist and you will continue to be billed
// for these snapshots. You can choose to remove all remaining Amazon EBS snapshots
// by canceling your Amazon EC2 subscription. If you prefer not to cancel your
// Amazon EC2 subscription, you can delete your snapshots using the Amazon EC2
// console. For more information, see the AWS Storage Gateway Detail Page (http://aws.amazon.com/storagegateway).
//
// // Example sending a request using DeleteGatewayRequest.
// req := client.DeleteGatewayRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteGateway
func (c *Client) DeleteGatewayRequest(input *DeleteGatewayInput) DeleteGatewayRequest {
op := &aws.Operation{
Name: opDeleteGateway,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DeleteGatewayInput{}
}
req := c.newRequest(op, input, &DeleteGatewayOutput{})
return DeleteGatewayRequest{Request: req, Input: input, Copy: c.DeleteGatewayRequest}
}
// DeleteGatewayRequest is the request type for the
// DeleteGateway API operation.
type DeleteGatewayRequest struct {
*aws.Request
Input *DeleteGatewayInput
Copy func(*DeleteGatewayInput) DeleteGatewayRequest
}
// Send marshals and sends the DeleteGateway API request.
func (r DeleteGatewayRequest) Send(ctx context.Context) (*DeleteGatewayResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &DeleteGatewayResponse{
DeleteGatewayOutput: r.Request.Data.(*DeleteGatewayOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// DeleteGatewayResponse is the response type for the
// DeleteGateway API operation.
type DeleteGatewayResponse struct {
*DeleteGatewayOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// DeleteGateway request.
func (r *DeleteGatewayResponse) SDKResponseMetdata() *aws.Response {
return r.response
}