/
api_op_DeleteInstance.go
134 lines (109 loc) · 3.86 KB
/
api_op_DeleteInstance.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
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package opsworks
import (
"context"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
"github.com/aws/aws-sdk-go-v2/private/protocol"
"github.com/aws/aws-sdk-go-v2/private/protocol/jsonrpc"
)
type DeleteInstanceInput struct {
_ struct{} `type:"structure"`
// Whether to delete the instance Elastic IP address.
DeleteElasticIp *bool `type:"boolean"`
// Whether to delete the instance's Amazon EBS volumes.
DeleteVolumes *bool `type:"boolean"`
// The instance ID.
//
// InstanceId is a required field
InstanceId *string `type:"string" required:"true"`
}
// String returns the string representation
func (s DeleteInstanceInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteInstanceInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "DeleteInstanceInput"}
if s.InstanceId == nil {
invalidParams.Add(aws.NewErrParamRequired("InstanceId"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
type DeleteInstanceOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation
func (s DeleteInstanceOutput) String() string {
return awsutil.Prettify(s)
}
const opDeleteInstance = "DeleteInstance"
// DeleteInstanceRequest returns a request value for making API operation for
// AWS OpsWorks.
//
// Deletes a specified instance, which terminates the associated Amazon EC2
// instance. You must stop an instance before you can delete it.
//
// For more information, see Deleting Instances (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-delete.html).
//
// Required Permissions: To use this action, an IAM user must have a Manage
// permissions level for the stack, or an attached policy that explicitly grants
// permissions. For more information on user permissions, see Managing User
// Permissions (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html).
//
// // Example sending a request using DeleteInstanceRequest.
// req := client.DeleteInstanceRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeleteInstance
func (c *Client) DeleteInstanceRequest(input *DeleteInstanceInput) DeleteInstanceRequest {
op := &aws.Operation{
Name: opDeleteInstance,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DeleteInstanceInput{}
}
req := c.newRequest(op, input, &DeleteInstanceOutput{})
req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
return DeleteInstanceRequest{Request: req, Input: input, Copy: c.DeleteInstanceRequest}
}
// DeleteInstanceRequest is the request type for the
// DeleteInstance API operation.
type DeleteInstanceRequest struct {
*aws.Request
Input *DeleteInstanceInput
Copy func(*DeleteInstanceInput) DeleteInstanceRequest
}
// Send marshals and sends the DeleteInstance API request.
func (r DeleteInstanceRequest) Send(ctx context.Context) (*DeleteInstanceResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &DeleteInstanceResponse{
DeleteInstanceOutput: r.Request.Data.(*DeleteInstanceOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// DeleteInstanceResponse is the response type for the
// DeleteInstance API operation.
type DeleteInstanceResponse struct {
*DeleteInstanceOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// DeleteInstance request.
func (r *DeleteInstanceResponse) SDKResponseMetdata() *aws.Response {
return r.response
}