Skip to content

Commit

Permalink
feat(client-lakeformation): This release adds Lake Formation managed …
Browse files Browse the repository at this point in the history
…RAM support for the 4 APIs - "DescribeLakeFormationIdentityCenterConfiguration", "CreateLakeFormationIdentityCenterConfiguration", "DescribeLakeFormationIdentityCenterConfiguration", and "DeleteLakeFormationIdentityCenterConfiguration"
  • Loading branch information
awstools committed Apr 16, 2024
1 parent a126088 commit 93b9ea7
Show file tree
Hide file tree
Showing 6 changed files with 84 additions and 4 deletions.
Expand Up @@ -52,6 +52,11 @@ export interface CreateLakeFormationIdentityCenterConfigurationCommandOutput
* "STRING_VALUE",
* ],
* },
* ShareRecipients: [ // DataLakePrincipalList
* { // DataLakePrincipal
* DataLakePrincipalIdentifier: "STRING_VALUE",
* },
* ],
* };
* const command = new CreateLakeFormationIdentityCenterConfigurationCommand(input);
* const response = await client.send(command);
Expand Down
Expand Up @@ -58,6 +58,12 @@ export interface DescribeLakeFormationIdentityCenterConfigurationCommandOutput
* // "STRING_VALUE",
* // ],
* // },
* // ShareRecipients: [ // DataLakePrincipalList
* // { // DataLakePrincipal
* // DataLakePrincipalIdentifier: "STRING_VALUE",
* // },
* // ],
* // ResourceShare: "STRING_VALUE",
* // };
*
* ```
Expand Down
Expand Up @@ -45,6 +45,11 @@ export interface UpdateLakeFormationIdentityCenterConfigurationCommandOutput
* const client = new LakeFormationClient(config);
* const input = { // UpdateLakeFormationIdentityCenterConfigurationRequest
* CatalogId: "STRING_VALUE",
* ShareRecipients: [ // DataLakePrincipalList
* { // DataLakePrincipal
* DataLakePrincipalIdentifier: "STRING_VALUE",
* },
* ],
* ApplicationStatus: "ENABLED" || "DISABLED",
* ExternalFiltering: { // ExternalFilteringConfiguration
* Status: "ENABLED" || "DISABLED", // required
Expand Down
40 changes: 38 additions & 2 deletions clients/client-lakeformation/src/models/models_0.ts
Expand Up @@ -1153,14 +1153,23 @@ export interface CreateLakeFormationIdentityCenterConfigurationRequest {
* @public
*/
ExternalFiltering?: ExternalFilteringConfiguration;

/**
* <p>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. </p>
* <p>If the <code>ShareRecipients</code> list includes valid values, a resource share is created with the principals you want to have access to the resources.</p>
* <p>If the <code>ShareRecipients</code> value is null or the list is empty, no resource share is created.</p>
* @public
*/
ShareRecipients?: DataLakePrincipal[];
}

/**
* @public
*/
export interface CreateLakeFormationIdentityCenterConfigurationResponse {
/**
* <p>The Amazon Resource Name (ARN) of the integrated application.</p>
* <p>The Amazon Resource Name (ARN) of the Lake Formation application integrated with IAM Identity Center.</p>
* @public
*/
ApplicationArn?: string;
Expand Down Expand Up @@ -1443,7 +1452,7 @@ export interface DescribeLakeFormationIdentityCenterConfigurationResponse {
InstanceArn?: string;

/**
* <p>The Amazon Resource Name (ARN) of the integrated application.</p>
* <p>The Amazon Resource Name (ARN) of the Lake Formation application integrated with IAM Identity Center.</p>
* @public
*/
ApplicationArn?: string;
Expand All @@ -1453,6 +1462,21 @@ export interface DescribeLakeFormationIdentityCenterConfigurationResponse {
* @public
*/
ExternalFiltering?: ExternalFilteringConfiguration;

/**
* <p>A list of Amazon Web Services account IDs or Amazon Web Services organization/organizational unit ARNs that
* are allowed to access data managed by Lake Formation. </p>
* <p>If the <code>ShareRecipients</code> list includes valid values, a resource share is created with the principals you want to have access to the resources as the <code>ShareRecipients</code>.</p>
* <p>If the <code>ShareRecipients</code> value is null or the list is empty, no resource share is created.</p>
* @public
*/
ShareRecipients?: DataLakePrincipal[];

/**
* <p>The Amazon Resource Name (ARN) of the RAM share.</p>
* @public
*/
ResourceShare?: string;
}

/**
Expand Down Expand Up @@ -3692,6 +3716,18 @@ export interface UpdateLakeFormationIdentityCenterConfigurationRequest {
*/
CatalogId?: string;

/**
* <p>A list of Amazon Web Services account IDs or Amazon Web Services organization/organizational unit ARNs that
* are allowed to access to access data managed by Lake Formation. </p>
* <p>If the <code>ShareRecipients</code> list includes valid values, then the resource share is updated with the principals you want to have access to the resources.</p>
* <p>If the <code>ShareRecipients</code> value is null, both the list of share recipients and
* the resource share remain unchanged.</p>
* <p>If the <code>ShareRecipients</code> value is an empty list, then the existing share
* recipients list will be cleared, and the resource share will be deleted.</p>
* @public
*/
ShareRecipients?: DataLakePrincipal[];

/**
* <p>Allows to enable or disable the IAM Identity Center connection.</p>
* @public
Expand Down
4 changes: 4 additions & 0 deletions clients/client-lakeformation/src/protocols/Aws_restJson1.ts
Expand Up @@ -401,6 +401,7 @@ export const se_CreateLakeFormationIdentityCenterConfigurationCommand = async (
CatalogId: [],
ExternalFiltering: (_) => _json(_),
InstanceArn: [],
ShareRecipients: (_) => _json(_),
})
);
b.m("POST").h(headers).b(body);
Expand Down Expand Up @@ -1456,6 +1457,7 @@ export const se_UpdateLakeFormationIdentityCenterConfigurationCommand = async (
ApplicationStatus: [],
CatalogId: [],
ExternalFiltering: (_) => _json(_),
ShareRecipients: (_) => _json(_),
})
);
b.m("POST").h(headers).b(body);
Expand Down Expand Up @@ -1881,6 +1883,8 @@ export const de_DescribeLakeFormationIdentityCenterConfigurationCommand = async
CatalogId: __expectString,
ExternalFiltering: _json,
InstanceArn: __expectString,
ResourceShare: __expectString,
ShareRecipients: _json,
});
Object.assign(contents, doc);
return contents;
Expand Down
28 changes: 26 additions & 2 deletions codegen/sdk-codegen/aws-models/lakeformation.json
Expand Up @@ -2174,6 +2174,12 @@
"traits": {
"smithy.api#documentation": "<p>A list of the account IDs of Amazon Web Services accounts of third-party applications\n that are allowed to access data managed by Lake Formation.</p>"
}
},
"ShareRecipients": {
"target": "com.amazonaws.lakeformation#DataLakePrincipalList",
"traits": {
"smithy.api#documentation": "<p>A list of Amazon Web Services account IDs and/or Amazon Web Services organization/organizational unit ARNs\n that are allowed to access data managed by Lake Formation. </p>\n <p>If the <code>ShareRecipients</code> list includes valid values, a resource share is created with the principals you want to have access to the resources.</p>\n <p>If the <code>ShareRecipients</code> value is null or the list is empty, no resource share is created.</p>"
}
}
},
"traits": {
Expand All @@ -2186,7 +2192,7 @@
"ApplicationArn": {
"target": "com.amazonaws.lakeformation#ApplicationArn",
"traits": {
"smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the integrated application.</p>"
"smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the Lake Formation application integrated with IAM Identity Center.</p>"
}
}
},
Expand Down Expand Up @@ -3070,14 +3076,26 @@
"ApplicationArn": {
"target": "com.amazonaws.lakeformation#ApplicationArn",
"traits": {
"smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the integrated application.</p>"
"smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the Lake Formation application integrated with IAM Identity Center.</p>"
}
},
"ExternalFiltering": {
"target": "com.amazonaws.lakeformation#ExternalFilteringConfiguration",
"traits": {
"smithy.api#documentation": "<p>Indicates if external filtering is enabled.</p>"
}
},
"ShareRecipients": {
"target": "com.amazonaws.lakeformation#DataLakePrincipalList",
"traits": {
"smithy.api#documentation": "<p>A list of Amazon Web Services account IDs or Amazon Web Services organization/organizational unit ARNs that\n are allowed to access data managed by Lake Formation. </p>\n <p>If the <code>ShareRecipients</code> list includes valid values, a resource share is created with the principals you want to have access to the resources as the <code>ShareRecipients</code>.</p>\n <p>If the <code>ShareRecipients</code> value is null or the list is empty, no resource share is created.</p>"
}
},
"ResourceShare": {
"target": "com.amazonaws.lakeformation#RAMResourceShareArn",
"traits": {
"smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the RAM share.</p>"
}
}
},
"traits": {
Expand Down Expand Up @@ -7778,6 +7796,12 @@
"smithy.api#documentation": "<p>The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the\n persistent metadata store. It contains database definitions, table definitions, view\n definitions, and other control information to manage your Lake Formation\n environment.</p>"
}
},
"ShareRecipients": {
"target": "com.amazonaws.lakeformation#DataLakePrincipalList",
"traits": {
"smithy.api#documentation": "<p>A list of Amazon Web Services account IDs or Amazon Web Services organization/organizational unit ARNs that\n are allowed to access to access data managed by Lake Formation. </p>\n <p>If the <code>ShareRecipients</code> list includes valid values, then the resource share is updated with the principals you want to have access to the resources.</p>\n <p>If the <code>ShareRecipients</code> value is null, both the list of share recipients and\n the resource share remain unchanged.</p>\n <p>If the <code>ShareRecipients</code> value is an empty list, then the existing share\n recipients list will be cleared, and the resource share will be deleted.</p>"
}
},
"ApplicationStatus": {
"target": "com.amazonaws.lakeformation#ApplicationStatus",
"traits": {
Expand Down

0 comments on commit 93b9ea7

Please sign in to comment.