/
api_op_CreateLakeFormationIdentityCenterConfiguration.go
157 lines (139 loc) · 5.44 KB
/
api_op_CreateLakeFormationIdentityCenterConfiguration.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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
// Code generated by smithy-go-codegen DO NOT EDIT.
package lakeformation
import (
"context"
"fmt"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/service/lakeformation/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Creates an IAM Identity Center connection with Lake Formation to allow IAM
// Identity Center users and groups to access Data Catalog resources.
func (c *Client) CreateLakeFormationIdentityCenterConfiguration(ctx context.Context, params *CreateLakeFormationIdentityCenterConfigurationInput, optFns ...func(*Options)) (*CreateLakeFormationIdentityCenterConfigurationOutput, error) {
if params == nil {
params = &CreateLakeFormationIdentityCenterConfigurationInput{}
}
result, metadata, err := c.invokeOperation(ctx, "CreateLakeFormationIdentityCenterConfiguration", params, optFns, c.addOperationCreateLakeFormationIdentityCenterConfigurationMiddlewares)
if err != nil {
return nil, err
}
out := result.(*CreateLakeFormationIdentityCenterConfigurationOutput)
out.ResultMetadata = metadata
return out, nil
}
type CreateLakeFormationIdentityCenterConfigurationInput struct {
// The identifier for the Data Catalog. By default, the account ID. The Data
// Catalog is the persistent metadata store. It contains database definitions,
// table definitions, view definitions, and other control information to manage
// your Lake Formation environment.
CatalogId *string
// A list of the account IDs of Amazon Web Services accounts of third-party
// applications that are allowed to access data managed by Lake Formation.
ExternalFiltering *types.ExternalFilteringConfiguration
// The ARN of the IAM Identity Center instance for which the operation will be
// executed. For more information about ARNs, see Amazon Resource Names (ARNs) and
// Amazon Web Services Service Namespaces in the Amazon Web Services General
// Reference.
InstanceArn *string
// A list of Amazon Web Services account IDs and/or Amazon Web Services
// organization/organizational unit ARNs that are allowed to access data managed by
// Lake Formation. If the ShareRecipients list includes valid values, a resource
// share is created with the principals you want to have access to the resources.
// If the ShareRecipients value is null or the list is empty, no resource share is
// created.
ShareRecipients []types.DataLakePrincipal
noSmithyDocumentSerde
}
type CreateLakeFormationIdentityCenterConfigurationOutput struct {
// The Amazon Resource Name (ARN) of the Lake Formation application integrated
// with IAM Identity Center.
ApplicationArn *string
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationCreateLakeFormationIdentityCenterConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsRestjson1_serializeOpCreateLakeFormationIdentityCenterConfiguration{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsRestjson1_deserializeOpCreateLakeFormationIdentityCenterConfiguration{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "CreateLakeFormationIdentityCenterConfiguration"); 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 = addClientRequestID(stack); err != nil {
return err
}
if err = addComputeContentLength(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = addComputePayloadSHA256(stack); err != nil {
return err
}
if err = addRetry(stack, options); err != nil {
return err
}
if err = addRawResponseToMetadata(stack); err != nil {
return err
}
if err = 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 = addOpCreateLakeFormationIdentityCenterConfigurationValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateLakeFormationIdentityCenterConfiguration(options.Region), middleware.Before); err != nil {
return err
}
if err = 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_opCreateLakeFormationIdentityCenterConfiguration(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "CreateLakeFormationIdentityCenterConfiguration",
}
}