From af6b52c6eb2e03187a4765d2ef731db258980472 Mon Sep 17 00:00:00 2001
From: awstools Returns the credentials to access the external Dataview from an S3 location. To call this API: You must retrieve the programmatic credentials. You must be a member of a FinSpace user group, where the dataset that you want to access has Retrieves the details of a specific permission group. Returns the credentials to access the external Dataview from an S3 location. To call this API: You must retrieve the programmatic credentials. You must be a member of a FinSpace user group, where the dataset that you want to access has The credentials required to access the external Dataview from the S3 location. The unique identifier for the security credentials. The secret access key that can be used to sign requests. The token that users must pass to use the credentials. The Epoch time when the current credentials expire. The option to indicate FinSpace application permissions that are granted to a specific group. When assigning application permissions, be aware that the permission
@@ -831,7 +870,7 @@ export interface CreatePermissionGroupRequest {
*
- *
+ *
+ */
+ public getExternalDataViewAccessDetails(
+ args: GetExternalDataViewAccessDetailsCommandInput,
+ options?: __HttpHandlerOptions
+ ): PromiseRead Dataset Data
permissions.
+ *
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { FinspaceDataClient, GetExternalDataViewAccessDetailsCommand } from "@aws-sdk/client-finspace-data"; // ES Modules import
+ * // const { FinspaceDataClient, GetExternalDataViewAccessDetailsCommand } = require("@aws-sdk/client-finspace-data"); // CommonJS import
+ * const client = new FinspaceDataClient(config);
+ * const command = new GetExternalDataViewAccessDetailsCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link GetExternalDataViewAccessDetailsCommandInput} for command's `input` shape.
+ * @see {@link GetExternalDataViewAccessDetailsCommandOutput} for command's `response` shape.
+ * @see {@link FinspaceDataClientResolvedConfig | config} for FinspaceDataClient's `config` shape.
+ *
+ */
+export class GetExternalDataViewAccessDetailsCommand extends $Command<
+ GetExternalDataViewAccessDetailsCommandInput,
+ GetExternalDataViewAccessDetailsCommandOutput,
+ FinspaceDataClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: GetExternalDataViewAccessDetailsCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStackRead Dataset Data
permissions.ManageUsersAndGroups
allows users to grant themselves or others access to any functionality in their FinSpace environment's application. It should only be granted to trusted users.
*
ManageUsersAndGroups
– Group members can manage users and permission groups.ManageUsersAndGroups
– Group members can manage users and permission groups. This is a privileged permission that allows users to grant themselves or others access to any functionality in the application. It should only be granted to trusted users.
@@ -1695,6 +1734,73 @@ export namespace GetDataViewResponse { }); } +export interface GetExternalDataViewAccessDetailsRequest { + /** + *
The unique identifier for the Dataview that you want to access.
+ */ + dataViewId: string | undefined; + + /** + *The unique identifier for the Dataset.
+ */ + datasetId: string | undefined; +} + +export namespace GetExternalDataViewAccessDetailsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetExternalDataViewAccessDetailsRequest): any => ({ + ...obj, + }); +} + +/** + *The location of an external Dataview in an S3 bucket.
+ */ +export interface S3Location { + /** + *The name of the S3 bucket.
+ */ + bucket: string | undefined; + + /** + *The path of the folder, within the S3 bucket that contains the Dataset.
+ */ + key: string | undefined; +} + +export namespace S3Location { + /** + * @internal + */ + export const filterSensitiveLog = (obj: S3Location): any => ({ + ...obj, + }); +} + +export interface GetExternalDataViewAccessDetailsResponse { + /** + *The credentials required to access the external Dataview from the S3 location.
+ */ + credentials?: AwsCredentials; + + /** + *The location where the external Dataview is stored.
+ */ + s3Location?: S3Location; +} + +export namespace GetExternalDataViewAccessDetailsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetExternalDataViewAccessDetailsResponse): any => ({ + ...obj, + ...(obj.credentials && { credentials: AwsCredentials.filterSensitiveLog(obj.credentials) }), + }); +} + export interface GetPermissionGroupRequest { /** *The unique identifier for the permission group.
@@ -1738,6 +1844,9 @@ export interface PermissionGroup { /** *Indicates the permissions that are granted to a specific group for accessing the FinSpace application.
+ *When assigning application permissions, be aware that the permission ManageUsersAndGroups
allows users to grant themselves or others access to any functionality in their FinSpace environment's application. It should only be granted to trusted users.
@@ -1749,7 +1858,7 @@ export interface PermissionGroup { *
- * ManageUsersAndGroups
– Group members can manage users and permission groups.
ManageUsersAndGroups
– Group members can manage users and permission groups. This is a privileged permission that allows users to grant themselves or others access to any functionality in the application. It should only be granted to trusted users.
* @@ -3275,6 +3384,9 @@ export interface UpdatePermissionGroupRequest { /** *
The permissions that are granted to a specific group for accessing the FinSpace application.
+ *When assigning application permissions, be aware that the permission ManageUsersAndGroups
allows users to grant themselves or others access to any functionality in their FinSpace environment's application. It should only be granted to trusted users.
@@ -3286,7 +3398,7 @@ export interface UpdatePermissionGroupRequest { *
- * ManageUsersAndGroups
– Group members can manage users and permission groups.
ManageUsersAndGroups
– Group members can manage users and permission groups. This is a privileged permission that allows users to grant themselves or others access to any functionality in the application. It should only be granted to trusted users.
*
diff --git a/clients/client-finspace-data/src/protocols/Aws_restJson1.ts b/clients/client-finspace-data/src/protocols/Aws_restJson1.ts
index 51b8a6b06955..4fb3d413bd5a 100644
--- a/clients/client-finspace-data/src/protocols/Aws_restJson1.ts
+++ b/clients/client-finspace-data/src/protocols/Aws_restJson1.ts
@@ -42,6 +42,10 @@ import { EnableUserCommandInput, EnableUserCommandOutput } from "../commands/Ena
import { GetChangesetCommandInput, GetChangesetCommandOutput } from "../commands/GetChangesetCommand";
import { GetDatasetCommandInput, GetDatasetCommandOutput } from "../commands/GetDatasetCommand";
import { GetDataViewCommandInput, GetDataViewCommandOutput } from "../commands/GetDataViewCommand";
+import {
+ GetExternalDataViewAccessDetailsCommandInput,
+ GetExternalDataViewAccessDetailsCommandOutput,
+} from "../commands/GetExternalDataViewAccessDetailsCommand";
import { GetPermissionGroupCommandInput, GetPermissionGroupCommandOutput } from "../commands/GetPermissionGroupCommand";
import {
GetProgrammaticAccessCredentialsCommandInput,
@@ -77,6 +81,7 @@ import { FinspaceDataServiceException as __BaseException } from "../models/Finsp
import {
AccessDeniedException,
ApplicationPermission,
+ AwsCredentials,
ChangesetErrorInfo,
ChangesetSummary,
ColumnDefinition,
@@ -94,6 +99,7 @@ import {
PermissionGroupParams,
ResourceNotFoundException,
ResourcePermission,
+ S3Location,
SchemaDefinition,
SchemaUnion,
ThrottlingException,
@@ -614,6 +620,45 @@ export const serializeAws_restJson1GetDataViewCommand = async (
});
};
+export const serializeAws_restJson1GetExternalDataViewAccessDetailsCommand = async (
+ input: GetExternalDataViewAccessDetailsCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
+ const headers: any = {};
+ let resolvedPath =
+ `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
+ "/datasets/{datasetId}/dataviewsv2/{dataViewId}/external-access-details";
+ if (input.dataViewId !== undefined) {
+ const labelValue: string = input.dataViewId;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: dataViewId.");
+ }
+ resolvedPath = resolvedPath.replace("{dataViewId}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: dataViewId.");
+ }
+ if (input.datasetId !== undefined) {
+ const labelValue: string = input.datasetId;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: datasetId.");
+ }
+ resolvedPath = resolvedPath.replace("{datasetId}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: datasetId.");
+ }
+ let body: any;
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "POST",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
export const serializeAws_restJson1GetPermissionGroupCommand = async (
input: GetPermissionGroupCommandInput,
context: __SerdeContext
@@ -2108,6 +2153,66 @@ const deserializeAws_restJson1GetDataViewCommandError = async (
}
};
+export const deserializeAws_restJson1GetExternalDataViewAccessDetailsCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise The unique identifier for the security credentials. The secret access key that can be used to sign requests. The token that users must pass to use the credentials. The Epoch time when the current credentials expire. The credentials required to access the external Dataview from the S3 location. The option to indicate FinSpace application permissions that are granted to a specific group. \n \n \n \n \n \n \n The option to indicate FinSpace application permissions that are granted to a specific group. When assigning application permissions, be aware that the permission \n \n \n \n \n \n \n Returns the credentials to access the external Dataview from an S3 location. To call this API: You must retrieve the programmatic credentials. You must be a member of a FinSpace user group, where the dataset that you want to access has The unique identifier for the Dataview that you want to access. The unique identifier for the Dataset. The credentials required to access the external Dataview from the S3 location. The location where the external Dataview is stored. Indicates the permissions that are granted to a specific group for accessing the FinSpace application. \n \n \n \n \n \n \n Indicates the permissions that are granted to a specific group for accessing the FinSpace application. When assigning application permissions, be aware that the permission \n \n \n \n \n \n \n The name of the S3 bucket. The path of the folder, within the S3 bucket that contains the Dataset. The location of an external Dataview in an S3 bucket. A union of schema types. The permissions that are granted to a specific group for accessing the FinSpace application. \n \n \n \n \n \n \n The permissions that are granted to a specific group for accessing the FinSpace application. When assigning application permissions, be aware that the permission \n \n \n \n \n \n \n \n
",
+ "smithy.api#documentation": "CreateDataset
– Group members can create new datasets.ManageClusters
– Group members can manage Apache Spark clusters from FinSpace notebooks.ManageUsersAndGroups
– Group members can manage users and permission groups.ManageAttributeSets
– Group members can manage attribute sets.ViewAuditData
– Group members can view audit data.AccessNotebooks
– Group members will have access to FinSpace notebooks.GetTemporaryCredentials
– Group members can get temporary API credentials.ManageUsersAndGroups
allows users to grant themselves or others access to any functionality in their FinSpace environment's application. It should only be granted to trusted users.\n
",
"smithy.api#required": {}
}
},
@@ -2397,6 +2442,78 @@
"smithy.api#documentation": "Response for the GetDataset operation"
}
},
+ "com.amazonaws.finspacedata#GetExternalDataViewAccessDetails": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.finspacedata#GetExternalDataViewAccessDetailsRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.finspacedata#GetExternalDataViewAccessDetailsResponse"
+ },
+ "errors": [
+ {
+ "target": "com.amazonaws.finspacedata#AccessDeniedException"
+ },
+ {
+ "target": "com.amazonaws.finspacedata#InternalServerException"
+ },
+ {
+ "target": "com.amazonaws.finspacedata#ResourceNotFoundException"
+ },
+ {
+ "target": "com.amazonaws.finspacedata#ThrottlingException"
+ },
+ {
+ "target": "com.amazonaws.finspacedata#ValidationException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": "CreateDataset
– Group members can create new datasets.ManageClusters
– Group members can manage Apache Spark clusters from FinSpace notebooks.ManageUsersAndGroups
– Group members can manage users and permission groups. This is a privileged permission that allows users to grant themselves or others access to any functionality in the application. It should only be granted to trusted users.ManageAttributeSets
– Group members can manage attribute sets.ViewAuditData
– Group members can view audit data.AccessNotebooks
– Group members will have access to FinSpace notebooks.GetTemporaryCredentials
– Group members can get temporary API credentials.\n
",
+ "smithy.api#http": {
+ "method": "POST",
+ "uri": "/datasets/{datasetId}/dataviewsv2/{dataViewId}/external-access-details",
+ "code": 200
+ }
+ }
+ },
+ "com.amazonaws.finspacedata#GetExternalDataViewAccessDetailsRequest": {
+ "type": "structure",
+ "members": {
+ "dataViewId": {
+ "target": "com.amazonaws.finspacedata#DataViewId",
+ "traits": {
+ "smithy.api#documentation": "Read Dataset Data
permissions.\n
"
+ "smithy.api#documentation": "CreateDataset
– Group members can create new datasets.ManageClusters
– Group members can manage Apache Spark clusters from FinSpace notebooks.ManageUsersAndGroups
– Group members can manage users and permission groups.ManageAttributeSets
– Group members can manage attribute sets.ViewAuditData
– Group members can view audit data.AccessNotebooks
– Group members will have access to FinSpace notebooks.GetTemporaryCredentials
– Group members can get temporary API credentials.ManageUsersAndGroups
allows users to grant themselves or others access to any functionality in their FinSpace environment's application. It should only be granted to trusted users.\n
"
}
},
"createTime": {
@@ -3702,6 +3819,16 @@
"smithy.api#pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$"
}
},
+ "com.amazonaws.finspacedata#S3BucketName": {
+ "type": "string",
+ "traits": {
+ "smithy.api#length": {
+ "min": 1,
+ "max": 63
+ },
+ "smithy.api#pattern": "^.*\\S.*$"
+ }
+ },
"com.amazonaws.finspacedata#S3DestinationFormatOptions": {
"type": "map",
"key": {
@@ -3711,6 +3838,38 @@
"target": "com.amazonaws.finspacedata#StringMapValue"
}
},
+ "com.amazonaws.finspacedata#S3Key": {
+ "type": "string",
+ "traits": {
+ "smithy.api#length": {
+ "min": 1,
+ "max": 1024
+ },
+ "smithy.api#pattern": "^.*\\S.*$"
+ }
+ },
+ "com.amazonaws.finspacedata#S3Location": {
+ "type": "structure",
+ "members": {
+ "bucket": {
+ "target": "com.amazonaws.finspacedata#S3BucketName",
+ "traits": {
+ "smithy.api#documentation": "CreateDataset
– Group members can create new datasets.ManageClusters
– Group members can manage Apache Spark clusters from FinSpace notebooks.ManageUsersAndGroups
– Group members can manage users and permission groups. This is a privileged permission that allows users to grant themselves or others access to any functionality in the application. It should only be granted to trusted users.ManageAttributeSets
– Group members can manage attribute sets.ViewAuditData
– Group members can view audit data.AccessNotebooks
– Group members will have access to FinSpace notebooks.GetTemporaryCredentials
– Group members can get temporary API credentials.\n
"
+ "smithy.api#documentation": "CreateDataset
– Group members can create new datasets.ManageClusters
– Group members can manage Apache Spark clusters from FinSpace notebooks.ManageUsersAndGroups
– Group members can manage users and permission groups.ManageAttributeSets
– Group members can manage attribute sets.ViewAuditData
– Group members can view audit data.AccessNotebooks
– Group members will have access to FinSpace notebooks.GetTemporaryCredentials
– Group members can get temporary API credentials.ManageUsersAndGroups
allows users to grant themselves or others access to any functionality in their FinSpace environment's application. It should only be granted to trusted users.\n
"
}
},
"clientToken": {
CreateDataset
– Group members can create new datasets.ManageClusters
– Group members can manage Apache Spark clusters from FinSpace notebooks.ManageUsersAndGroups
– Group members can manage users and permission groups. This is a privileged permission that allows users to grant themselves or others access to any functionality in the application. It should only be granted to trusted users.ManageAttributeSets
– Group members can manage attribute sets.ViewAuditData
– Group members can view audit data.AccessNotebooks
– Group members will have access to FinSpace notebooks.GetTemporaryCredentials
– Group members can get temporary API credentials.