File: api_op_GetSensitiveDataOccurrencesAvailability.go

package info (click to toggle)
golang-github-aws-aws-sdk-go-v2 1.24.1-2~bpo12%2B1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-backports
  • size: 554,032 kB
  • sloc: java: 15,941; makefile: 419; sh: 175
file content (185 lines) | stat: -rw-r--r-- 7,719 bytes parent folder | download
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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
// Code generated by smithy-go-codegen DO NOT EDIT.

package macie2

import (
	"context"
	"fmt"
	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/macie2/types"
	"github.com/aws/smithy-go/middleware"
	smithyhttp "github.com/aws/smithy-go/transport/http"
)

// Checks whether occurrences of sensitive data can be retrieved for a finding.
func (c *Client) GetSensitiveDataOccurrencesAvailability(ctx context.Context, params *GetSensitiveDataOccurrencesAvailabilityInput, optFns ...func(*Options)) (*GetSensitiveDataOccurrencesAvailabilityOutput, error) {
	if params == nil {
		params = &GetSensitiveDataOccurrencesAvailabilityInput{}
	}

	result, metadata, err := c.invokeOperation(ctx, "GetSensitiveDataOccurrencesAvailability", params, optFns, c.addOperationGetSensitiveDataOccurrencesAvailabilityMiddlewares)
	if err != nil {
		return nil, err
	}

	out := result.(*GetSensitiveDataOccurrencesAvailabilityOutput)
	out.ResultMetadata = metadata
	return out, nil
}

type GetSensitiveDataOccurrencesAvailabilityInput struct {

	// The unique identifier for the finding.
	//
	// This member is required.
	FindingId *string

	noSmithyDocumentSerde
}

type GetSensitiveDataOccurrencesAvailabilityOutput struct {

	// Specifies whether occurrences of sensitive data can be retrieved for the
	// finding. Possible values are: AVAILABLE, the sensitive data can be retrieved;
	// and, UNAVAILABLE, the sensitive data can't be retrieved. If this value is
	// UNAVAILABLE, the reasons array indicates why the data can't be retrieved.
	Code types.AvailabilityCode

	// Specifies why occurrences of sensitive data can't be retrieved for the finding.
	// Possible values are:
	//   - ACCOUNT_NOT_IN_ORGANIZATION - The affected account isn't currently part of
	//   your organization. Or the account is part of your organization but Macie isn't
	//   currently enabled for the account. You're not allowed to access the affected S3
	//   object by using Macie.
	//   - INVALID_CLASSIFICATION_RESULT - There isn't a corresponding sensitive data
	//   discovery result for the finding. Or the corresponding sensitive data discovery
	//   result isn't available, is malformed or corrupted, or uses an unsupported
	//   storage format. Macie can't verify the location of the sensitive data to
	//   retrieve.
	//   - INVALID_RESULT_SIGNATURE - The corresponding sensitive data discovery
	//   result is stored in an S3 object that wasn't signed by Macie. Macie can't verify
	//   the integrity and authenticity of the sensitive data discovery result.
	//   Therefore, Macie can't verify the location of the sensitive data to retrieve.
	//   - MEMBER_ROLE_TOO_PERMISSIVE - The affected member account is configured to
	//   retrieve occurrences of sensitive data by using an IAM role whose trust or
	//   permissions policy doesn't meet Macie requirements for restricting access to the
	//   role. Or the role's trust policy doesn't specify the correct external ID. Macie
	//   can't assume the role to retrieve the sensitive data.
	//   - MISSING_GET_MEMBER_PERMISSION - You're not allowed to retrieve information
	//   about the association between your account and the affected account. Macie can't
	//   determine whether you’re allowed to access the affected S3 object as the
	//   delegated Macie administrator for the affected account.
	//   - OBJECT_EXCEEDS_SIZE_QUOTA - The storage size of the affected S3 object
	//   exceeds the size quota for retrieving occurrences of sensitive data from this
	//   type of file.
	//   - OBJECT_UNAVAILABLE - The affected S3 object isn't available. The object was
	//   renamed, moved, or deleted. Or the object was changed after Macie created the
	//   finding.
	//   - RESULT_NOT_SIGNED - The corresponding sensitive data discovery result is
	//   stored in an S3 object that hasn't been signed. Macie can't verify the integrity
	//   and authenticity of the sensitive data discovery result. Therefore, Macie can't
	//   verify the location of the sensitive data to retrieve.
	//   - ROLE_TOO_PERMISSIVE - Your account is configured to retrieve occurrences of
	//   sensitive data by using an IAM role whose trust or permissions policy doesn't
	//   meet Macie requirements for restricting access to the role. Macie can’t assume
	//   the role to retrieve the sensitive data.
	//   - UNSUPPORTED_FINDING_TYPE - The specified finding isn't a sensitive data
	//   finding.
	//   - UNSUPPORTED_OBJECT_TYPE - The affected S3 object uses a file or storage
	//   format that Macie doesn't support for retrieving occurrences of sensitive data.
	// This value is null if sensitive data can be retrieved for the finding.
	Reasons []types.UnavailabilityReasonCode

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata

	noSmithyDocumentSerde
}

func (c *Client) addOperationGetSensitiveDataOccurrencesAvailabilityMiddlewares(stack *middleware.Stack, options Options) (err error) {
	if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
		return err
	}
	err = stack.Serialize.Add(&awsRestjson1_serializeOpGetSensitiveDataOccurrencesAvailability{}, middleware.After)
	if err != nil {
		return err
	}
	err = stack.Deserialize.Add(&awsRestjson1_deserializeOpGetSensitiveDataOccurrencesAvailability{}, middleware.After)
	if err != nil {
		return err
	}
	if err := addProtocolFinalizerMiddlewares(stack, options, "GetSensitiveDataOccurrencesAvailability"); err != nil {
		return fmt.Errorf("add protocol finalizers: %v", err)
	}

	if err = addlegacyEndpointContextSetter(stack, options); 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 = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
		return err
	}
	if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
		return err
	}
	if err = addClientUserAgent(stack, options); err != nil {
		return err
	}
	if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
		return err
	}
	if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
		return err
	}
	if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
		return err
	}
	if err = addOpGetSensitiveDataOccurrencesAvailabilityValidationMiddleware(stack); err != nil {
		return err
	}
	if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetSensitiveDataOccurrencesAvailability(options.Region), middleware.Before); err != nil {
		return err
	}
	if err = awsmiddleware.AddRecursionDetection(stack); 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
	}
	if err = addDisableHTTPSMiddleware(stack, options); err != nil {
		return err
	}
	return nil
}

func newServiceMetadataMiddleware_opGetSensitiveDataOccurrencesAvailability(region string) *awsmiddleware.RegisterServiceMetadata {
	return &awsmiddleware.RegisterServiceMetadata{
		Region:        region,
		ServiceID:     ServiceID,
		OperationName: "GetSensitiveDataOccurrencesAvailability",
	}
}