-
Notifications
You must be signed in to change notification settings - Fork 602
/
api_op_DisassociateS3Resources.go
138 lines (114 loc) · 4.56 KB
/
api_op_DisassociateS3Resources.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
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package macie
import (
"context"
"fmt"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/macie-2017-12-19/DisassociateS3ResourcesRequest
type DisassociateS3ResourcesInput struct {
_ struct{} `type:"structure"`
// The S3 resources (buckets or prefixes) that you want to remove from being
// monitored and classified by Amazon Macie.
//
// AssociatedS3Resources is a required field
AssociatedS3Resources []S3Resource `locationName:"associatedS3Resources" type:"list" required:"true"`
// The ID of the Amazon Macie member account whose resources you want to remove
// from being monitored by Amazon Macie.
MemberAccountId *string `locationName:"memberAccountId" type:"string"`
}
// String returns the string representation
func (s DisassociateS3ResourcesInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DisassociateS3ResourcesInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "DisassociateS3ResourcesInput"}
if s.AssociatedS3Resources == nil {
invalidParams.Add(aws.NewErrParamRequired("AssociatedS3Resources"))
}
if s.AssociatedS3Resources != nil {
for i, v := range s.AssociatedS3Resources {
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssociatedS3Resources", i), err.(aws.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/macie-2017-12-19/DisassociateS3ResourcesResult
type DisassociateS3ResourcesOutput struct {
_ struct{} `type:"structure"`
// S3 resources that couldn't be removed from being monitored and classified
// by Amazon Macie. An error code and an error message are provided for each
// failed item.
FailedS3Resources []FailedS3Resource `locationName:"failedS3Resources" type:"list"`
}
// String returns the string representation
func (s DisassociateS3ResourcesOutput) String() string {
return awsutil.Prettify(s)
}
const opDisassociateS3Resources = "DisassociateS3Resources"
// DisassociateS3ResourcesRequest returns a request value for making API operation for
// Amazon Macie.
//
// Removes specified S3 resources from being monitored by Amazon Macie. If memberAccountId
// isn't specified, the action removes specified S3 resources from Macie for
// the current master account. If memberAccountId is specified, the action removes
// specified S3 resources from Macie for the specified member account.
//
// // Example sending a request using DisassociateS3ResourcesRequest.
// req := client.DisassociateS3ResourcesRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/macie-2017-12-19/DisassociateS3Resources
func (c *Client) DisassociateS3ResourcesRequest(input *DisassociateS3ResourcesInput) DisassociateS3ResourcesRequest {
op := &aws.Operation{
Name: opDisassociateS3Resources,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DisassociateS3ResourcesInput{}
}
req := c.newRequest(op, input, &DisassociateS3ResourcesOutput{})
return DisassociateS3ResourcesRequest{Request: req, Input: input, Copy: c.DisassociateS3ResourcesRequest}
}
// DisassociateS3ResourcesRequest is the request type for the
// DisassociateS3Resources API operation.
type DisassociateS3ResourcesRequest struct {
*aws.Request
Input *DisassociateS3ResourcesInput
Copy func(*DisassociateS3ResourcesInput) DisassociateS3ResourcesRequest
}
// Send marshals and sends the DisassociateS3Resources API request.
func (r DisassociateS3ResourcesRequest) Send(ctx context.Context) (*DisassociateS3ResourcesResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &DisassociateS3ResourcesResponse{
DisassociateS3ResourcesOutput: r.Request.Data.(*DisassociateS3ResourcesOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// DisassociateS3ResourcesResponse is the response type for the
// DisassociateS3Resources API operation.
type DisassociateS3ResourcesResponse struct {
*DisassociateS3ResourcesOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// DisassociateS3Resources request.
func (r *DisassociateS3ResourcesResponse) SDKResponseMetdata() *aws.Response {
return r.response
}