aws-sdk-finspacedata 1.13.0 → 1.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -353,6 +353,46 @@ module Aws::FinSpaceData
353
353
 
354
354
  # @!group API Operations
355
355
 
356
+ # Adds a user account to a permission group to grant permissions for
357
+ # actions a user can perform in FinSpace.
358
+ #
359
+ # @option params [required, String] :permission_group_id
360
+ # The unique identifier for the permission group.
361
+ #
362
+ # @option params [required, String] :user_id
363
+ # The unique identifier for the user.
364
+ #
365
+ # @option params [String] :client_token
366
+ # A token that ensures idempotency. This token expires in 10 minutes.
367
+ #
368
+ # **A suitable default value is auto-generated.** You should normally
369
+ # not need to pass this option.**
370
+ #
371
+ # @return [Types::AssociateUserToPermissionGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
372
+ #
373
+ # * {Types::AssociateUserToPermissionGroupResponse#status_code #status_code} => Integer
374
+ #
375
+ # @example Request syntax with placeholder values
376
+ #
377
+ # resp = client.associate_user_to_permission_group({
378
+ # permission_group_id: "PermissionGroupId", # required
379
+ # user_id: "UserId", # required
380
+ # client_token: "ClientToken",
381
+ # })
382
+ #
383
+ # @example Response structure
384
+ #
385
+ # resp.status_code #=> Integer
386
+ #
387
+ # @see http://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/AssociateUserToPermissionGroup AWS API Documentation
388
+ #
389
+ # @overload associate_user_to_permission_group(params = {})
390
+ # @param [Hash] params ({})
391
+ def associate_user_to_permission_group(params = {}, options = {})
392
+ req = build_request(:associate_user_to_permission_group, params)
393
+ req.send_request(options)
394
+ end
395
+
356
396
  # Creates a new Changeset in a FinSpace Dataset.
357
397
  #
358
398
  # @option params [String] :client_token
@@ -366,15 +406,15 @@ module Aws::FinSpaceData
366
406
  # will be created.
367
407
  #
368
408
  # @option params [required, String] :change_type
369
- # Option to indicate how a Changeset will be applied to a Dataset.
409
+ # The option to indicate how a Changeset will be applied to a Dataset.
370
410
  #
371
- # * `REPLACE` - Changeset will be considered as a replacement to all
411
+ # * `REPLACE` Changeset will be considered as a replacement to all
372
412
  # prior loaded Changesets.
373
413
  #
374
- # * `APPEND` - Changeset will be considered as an addition to the end of
414
+ # * `APPEND` Changeset will be considered as an addition to the end of
375
415
  # all prior loaded Changesets.
376
416
  #
377
- # * `MODIFY` - Changeset is considered as a replacement to a specific
417
+ # * `MODIFY` Changeset is considered as a replacement to a specific
378
418
  # prior ingested Changeset.
379
419
  #
380
420
  # @option params [required, Hash<String,String>] :source_params
@@ -392,7 +432,7 @@ module Aws::FinSpaceData
392
432
  # The S3 path that you specify must allow the FinSpace role access. To
393
433
  # do that, you first need to configure the IAM policy on S3 bucket. For
394
434
  # more information, see [Loading data from an Amazon S3 Bucket using the
395
- # FinSpace API][1]section.
435
+ # FinSpace API][1] section.
396
436
  #
397
437
  #
398
438
  #
@@ -406,13 +446,13 @@ module Aws::FinSpaceData
406
446
  # `formatType` is a required attribute and can have the following
407
447
  # values:
408
448
  #
409
- # * `PARQUET` - Parquet source file format.
449
+ # * `PARQUET` Parquet source file format.
410
450
  #
411
- # * `CSV` - CSV source file format.
451
+ # * `CSV` CSV source file format.
412
452
  #
413
- # * `JSON` - JSON source file format.
453
+ # * `JSON` JSON source file format.
414
454
  #
415
- # * `XML` - XML source file format.
455
+ # * `XML` XML source file format.
416
456
  #
417
457
  # Here is an example of how you could specify the `formatParams`\:
418
458
  #
@@ -486,7 +526,7 @@ module Aws::FinSpaceData
486
526
  #
487
527
  # @option params [Integer] :as_of_timestamp
488
528
  # Beginning time to use for the Dataview. The value is determined as
489
- # Epoch time in milliseconds. For example, the value for Monday,
529
+ # epoch time in milliseconds. For example, the value for Monday,
490
530
  # November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
491
531
  #
492
532
  # @option params [required, Types::DataViewDestinationTypeParams] :destination_type_params
@@ -543,9 +583,9 @@ module Aws::FinSpaceData
543
583
  # @option params [required, String] :kind
544
584
  # The format in which Dataset data is structured.
545
585
  #
546
- # * `TABULAR` - Data is structured in a tabular format.
586
+ # * `TABULAR` Data is structured in a tabular format.
547
587
  #
548
- # * `NON_TABULAR` - Data is structured in a non-tabular format.
588
+ # * `NON_TABULAR` Data is structured in a non-tabular format.
549
589
  #
550
590
  # @option params [String] :dataset_description
551
591
  # Description of a Dataset.
@@ -614,6 +654,142 @@ module Aws::FinSpaceData
614
654
  req.send_request(options)
615
655
  end
616
656
 
657
+ # Creates a group of permissions for various actions that a user can
658
+ # perform in FinSpace.
659
+ #
660
+ # @option params [required, String] :name
661
+ # The name of the permission group.
662
+ #
663
+ # @option params [String] :description
664
+ # A brief description for the permission group.
665
+ #
666
+ # @option params [required, Array<String>] :application_permissions
667
+ # The option to indicate FinSpace application permissions that are
668
+ # granted to a specific group.
669
+ #
670
+ # * `CreateDataset` – Group members can create new datasets.
671
+ #
672
+ # * `ManageClusters` – Group members can manage Apache Spark clusters
673
+ # from FinSpace notebooks.
674
+ #
675
+ # * `ManageUsersAndGroups` – Group members can manage users and
676
+ # permission groups.
677
+ #
678
+ # * `ManageAttributeSets` – Group members can manage attribute sets.
679
+ #
680
+ # * `ViewAuditData` – Group members can view audit data.
681
+ #
682
+ # * `AccessNotebooks` – Group members will have access to FinSpace
683
+ # notebooks.
684
+ #
685
+ # * `GetTemporaryCredentials` – Group members can get temporary API
686
+ # credentials.
687
+ #
688
+ # @option params [String] :client_token
689
+ # A token that ensures idempotency. This token expires in 10 minutes.
690
+ #
691
+ # **A suitable default value is auto-generated.** You should normally
692
+ # not need to pass this option.**
693
+ #
694
+ # @return [Types::CreatePermissionGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
695
+ #
696
+ # * {Types::CreatePermissionGroupResponse#permission_group_id #permission_group_id} => String
697
+ #
698
+ # @example Request syntax with placeholder values
699
+ #
700
+ # resp = client.create_permission_group({
701
+ # name: "PermissionGroupName", # required
702
+ # description: "PermissionGroupDescription",
703
+ # application_permissions: ["CreateDataset"], # required, accepts CreateDataset, ManageClusters, ManageUsersAndGroups, ManageAttributeSets, ViewAuditData, AccessNotebooks, GetTemporaryCredentials
704
+ # client_token: "ClientToken",
705
+ # })
706
+ #
707
+ # @example Response structure
708
+ #
709
+ # resp.permission_group_id #=> String
710
+ #
711
+ # @see http://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/CreatePermissionGroup AWS API Documentation
712
+ #
713
+ # @overload create_permission_group(params = {})
714
+ # @param [Hash] params ({})
715
+ def create_permission_group(params = {}, options = {})
716
+ req = build_request(:create_permission_group, params)
717
+ req.send_request(options)
718
+ end
719
+
720
+ # Creates a new user in FinSpace.
721
+ #
722
+ # @option params [required, String] :email_address
723
+ # The email address of the user that you want to register. The email
724
+ # address serves as a uniquer identifier for each user and cannot be
725
+ # changed after it's created.
726
+ #
727
+ # @option params [required, String] :type
728
+ # The option to indicate the type of user. Use one of the following
729
+ # options to specify this parameter:
730
+ #
731
+ # * `SUPER_USER` – A user with permission to all the functionality and
732
+ # data in FinSpace.
733
+ #
734
+ # * `APP_USER` – A user with specific permissions in FinSpace. The users
735
+ # are assigned permissions by adding them to a permission group.
736
+ #
737
+ # @option params [String] :first_name
738
+ # The first name of the user that you want to register.
739
+ #
740
+ # @option params [String] :last_name
741
+ # The last name of the user that you want to register.
742
+ #
743
+ # @option params [String] :api_access
744
+ # The option to indicate whether the user can use the
745
+ # `GetProgrammaticAccessCredentials` API to obtain credentials that can
746
+ # then be used to access other FinSpace Data API operations.
747
+ #
748
+ # * `ENABLED` – The user has permissions to use the APIs.
749
+ #
750
+ # * `DISABLED` – The user does not have permissions to use any APIs.
751
+ #
752
+ # @option params [String] :api_access_principal_arn
753
+ # The ARN identifier of an AWS user or role that is allowed to call the
754
+ # `GetProgrammaticAccessCredentials` API to obtain a credentials token
755
+ # for a specific FinSpace user. This must be an IAM role within your
756
+ # FinSpace account.
757
+ #
758
+ # @option params [String] :client_token
759
+ # A token that ensures idempotency. This token expires in 10 minutes.
760
+ #
761
+ # **A suitable default value is auto-generated.** You should normally
762
+ # not need to pass this option.**
763
+ #
764
+ # @return [Types::CreateUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
765
+ #
766
+ # * {Types::CreateUserResponse#user_id #user_id} => String
767
+ #
768
+ # @example Request syntax with placeholder values
769
+ #
770
+ # resp = client.create_user({
771
+ # email_address: "Email", # required
772
+ # type: "SUPER_USER", # required, accepts SUPER_USER, APP_USER
773
+ # first_name: "FirstName",
774
+ # last_name: "LastName",
775
+ # api_access: "ENABLED", # accepts ENABLED, DISABLED
776
+ # api_access_principal_arn: "RoleArn",
777
+ # client_token: "ClientToken",
778
+ # })
779
+ #
780
+ # @example Response structure
781
+ #
782
+ # resp.user_id #=> String
783
+ #
784
+ # @see http://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/CreateUser AWS API Documentation
785
+ #
786
+ # @overload create_user(params = {})
787
+ # @param [Hash] params ({})
788
+ def create_user(params = {}, options = {})
789
+ req = build_request(:create_user, params)
790
+ req.send_request(options)
791
+ end
792
+
617
793
  # Deletes a FinSpace Dataset.
618
794
  #
619
795
  # @option params [String] :client_token
@@ -649,6 +825,153 @@ module Aws::FinSpaceData
649
825
  req.send_request(options)
650
826
  end
651
827
 
828
+ # Deletes a permission group. This action is irreversible.
829
+ #
830
+ # @option params [required, String] :permission_group_id
831
+ # The unique identifier for the permission group that you want to
832
+ # delete.
833
+ #
834
+ # @option params [String] :client_token
835
+ # A token that ensures idempotency. This token expires in 10 minutes.
836
+ #
837
+ # **A suitable default value is auto-generated.** You should normally
838
+ # not need to pass this option.**
839
+ #
840
+ # @return [Types::DeletePermissionGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
841
+ #
842
+ # * {Types::DeletePermissionGroupResponse#permission_group_id #permission_group_id} => String
843
+ #
844
+ # @example Request syntax with placeholder values
845
+ #
846
+ # resp = client.delete_permission_group({
847
+ # permission_group_id: "PermissionGroupId", # required
848
+ # client_token: "ClientToken",
849
+ # })
850
+ #
851
+ # @example Response structure
852
+ #
853
+ # resp.permission_group_id #=> String
854
+ #
855
+ # @see http://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/DeletePermissionGroup AWS API Documentation
856
+ #
857
+ # @overload delete_permission_group(params = {})
858
+ # @param [Hash] params ({})
859
+ def delete_permission_group(params = {}, options = {})
860
+ req = build_request(:delete_permission_group, params)
861
+ req.send_request(options)
862
+ end
863
+
864
+ # Denies access to the FinSpace web application and API for the
865
+ # specified user.
866
+ #
867
+ # @option params [required, String] :user_id
868
+ # The unique identifier for the user account that you want to disable.
869
+ #
870
+ # @option params [String] :client_token
871
+ # A token that ensures idempotency. This token expires in 10 minutes.
872
+ #
873
+ # **A suitable default value is auto-generated.** You should normally
874
+ # not need to pass this option.**
875
+ #
876
+ # @return [Types::DisableUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
877
+ #
878
+ # * {Types::DisableUserResponse#user_id #user_id} => String
879
+ #
880
+ # @example Request syntax with placeholder values
881
+ #
882
+ # resp = client.disable_user({
883
+ # user_id: "UserId", # required
884
+ # client_token: "ClientToken",
885
+ # })
886
+ #
887
+ # @example Response structure
888
+ #
889
+ # resp.user_id #=> String
890
+ #
891
+ # @see http://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/DisableUser AWS API Documentation
892
+ #
893
+ # @overload disable_user(params = {})
894
+ # @param [Hash] params ({})
895
+ def disable_user(params = {}, options = {})
896
+ req = build_request(:disable_user, params)
897
+ req.send_request(options)
898
+ end
899
+
900
+ # Removes a user account from a permission group.
901
+ #
902
+ # @option params [required, String] :permission_group_id
903
+ # The unique identifier for the permission group.
904
+ #
905
+ # @option params [required, String] :user_id
906
+ # The unique identifier for the user.
907
+ #
908
+ # @option params [String] :client_token
909
+ # A token that ensures idempotency. This token expires in 10 minutes.
910
+ #
911
+ # **A suitable default value is auto-generated.** You should normally
912
+ # not need to pass this option.**
913
+ #
914
+ # @return [Types::DisassociateUserFromPermissionGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
915
+ #
916
+ # * {Types::DisassociateUserFromPermissionGroupResponse#status_code #status_code} => Integer
917
+ #
918
+ # @example Request syntax with placeholder values
919
+ #
920
+ # resp = client.disassociate_user_from_permission_group({
921
+ # permission_group_id: "PermissionGroupId", # required
922
+ # user_id: "UserId", # required
923
+ # client_token: "ClientToken",
924
+ # })
925
+ #
926
+ # @example Response structure
927
+ #
928
+ # resp.status_code #=> Integer
929
+ #
930
+ # @see http://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/DisassociateUserFromPermissionGroup AWS API Documentation
931
+ #
932
+ # @overload disassociate_user_from_permission_group(params = {})
933
+ # @param [Hash] params ({})
934
+ def disassociate_user_from_permission_group(params = {}, options = {})
935
+ req = build_request(:disassociate_user_from_permission_group, params)
936
+ req.send_request(options)
937
+ end
938
+
939
+ # Allows the specified user to access the FinSpace web application and
940
+ # API.
941
+ #
942
+ # @option params [required, String] :user_id
943
+ # The unique identifier for the user account that you want to enable.
944
+ #
945
+ # @option params [String] :client_token
946
+ # A token that ensures idempotency. This token expires in 10 minutes.
947
+ #
948
+ # **A suitable default value is auto-generated.** You should normally
949
+ # not need to pass this option.**
950
+ #
951
+ # @return [Types::EnableUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
952
+ #
953
+ # * {Types::EnableUserResponse#user_id #user_id} => String
954
+ #
955
+ # @example Request syntax with placeholder values
956
+ #
957
+ # resp = client.enable_user({
958
+ # user_id: "UserId", # required
959
+ # client_token: "ClientToken",
960
+ # })
961
+ #
962
+ # @example Response structure
963
+ #
964
+ # resp.user_id #=> String
965
+ #
966
+ # @see http://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/EnableUser AWS API Documentation
967
+ #
968
+ # @overload enable_user(params = {})
969
+ # @param [Hash] params ({})
970
+ def enable_user(params = {}, options = {})
971
+ req = build_request(:enable_user, params)
972
+ req.send_request(options)
973
+ end
974
+
652
975
  # Get information about a Changeset.
653
976
  #
654
977
  # @option params [required, String] :dataset_id
@@ -820,6 +1143,41 @@ module Aws::FinSpaceData
820
1143
  req.send_request(options)
821
1144
  end
822
1145
 
1146
+ # Retrieves the details of a specific permission group.
1147
+ #
1148
+ # @option params [required, String] :permission_group_id
1149
+ # The unique identifier for the permission group.
1150
+ #
1151
+ # @return [Types::GetPermissionGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1152
+ #
1153
+ # * {Types::GetPermissionGroupResponse#permission_group #permission_group} => Types::PermissionGroup
1154
+ #
1155
+ # @example Request syntax with placeholder values
1156
+ #
1157
+ # resp = client.get_permission_group({
1158
+ # permission_group_id: "PermissionGroupId", # required
1159
+ # })
1160
+ #
1161
+ # @example Response structure
1162
+ #
1163
+ # resp.permission_group.permission_group_id #=> String
1164
+ # resp.permission_group.name #=> String
1165
+ # resp.permission_group.description #=> String
1166
+ # resp.permission_group.application_permissions #=> Array
1167
+ # resp.permission_group.application_permissions[0] #=> String, one of "CreateDataset", "ManageClusters", "ManageUsersAndGroups", "ManageAttributeSets", "ViewAuditData", "AccessNotebooks", "GetTemporaryCredentials"
1168
+ # resp.permission_group.create_time #=> Integer
1169
+ # resp.permission_group.last_modified_time #=> Integer
1170
+ # resp.permission_group.membership_status #=> String, one of "ADDITION_IN_PROGRESS", "ADDITION_SUCCESS", "REMOVAL_IN_PROGRESS"
1171
+ #
1172
+ # @see http://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/GetPermissionGroup AWS API Documentation
1173
+ #
1174
+ # @overload get_permission_group(params = {})
1175
+ # @param [Hash] params ({})
1176
+ def get_permission_group(params = {}, options = {})
1177
+ req = build_request(:get_permission_group, params)
1178
+ req.send_request(options)
1179
+ end
1180
+
823
1181
  # Request programmatic credentials to use with FinSpace SDK.
824
1182
  #
825
1183
  # @option params [Integer] :duration_in_minutes
@@ -856,6 +1214,58 @@ module Aws::FinSpaceData
856
1214
  req.send_request(options)
857
1215
  end
858
1216
 
1217
+ # Retrieves details for a specific user.
1218
+ #
1219
+ # @option params [required, String] :user_id
1220
+ # The unique identifier of the user to get data for.
1221
+ #
1222
+ # @return [Types::GetUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1223
+ #
1224
+ # * {Types::GetUserResponse#user_id #user_id} => String
1225
+ # * {Types::GetUserResponse#status #status} => String
1226
+ # * {Types::GetUserResponse#first_name #first_name} => String
1227
+ # * {Types::GetUserResponse#last_name #last_name} => String
1228
+ # * {Types::GetUserResponse#email_address #email_address} => String
1229
+ # * {Types::GetUserResponse#type #type} => String
1230
+ # * {Types::GetUserResponse#api_access #api_access} => String
1231
+ # * {Types::GetUserResponse#api_access_principal_arn #api_access_principal_arn} => String
1232
+ # * {Types::GetUserResponse#create_time #create_time} => Integer
1233
+ # * {Types::GetUserResponse#last_enabled_time #last_enabled_time} => Integer
1234
+ # * {Types::GetUserResponse#last_disabled_time #last_disabled_time} => Integer
1235
+ # * {Types::GetUserResponse#last_modified_time #last_modified_time} => Integer
1236
+ # * {Types::GetUserResponse#last_login_time #last_login_time} => Integer
1237
+ #
1238
+ # @example Request syntax with placeholder values
1239
+ #
1240
+ # resp = client.get_user({
1241
+ # user_id: "UserId", # required
1242
+ # })
1243
+ #
1244
+ # @example Response structure
1245
+ #
1246
+ # resp.user_id #=> String
1247
+ # resp.status #=> String, one of "CREATING", "ENABLED", "DISABLED"
1248
+ # resp.first_name #=> String
1249
+ # resp.last_name #=> String
1250
+ # resp.email_address #=> String
1251
+ # resp.type #=> String, one of "SUPER_USER", "APP_USER"
1252
+ # resp.api_access #=> String, one of "ENABLED", "DISABLED"
1253
+ # resp.api_access_principal_arn #=> String
1254
+ # resp.create_time #=> Integer
1255
+ # resp.last_enabled_time #=> Integer
1256
+ # resp.last_disabled_time #=> Integer
1257
+ # resp.last_modified_time #=> Integer
1258
+ # resp.last_login_time #=> Integer
1259
+ #
1260
+ # @see http://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/GetUser AWS API Documentation
1261
+ #
1262
+ # @overload get_user(params = {})
1263
+ # @param [Hash] params ({})
1264
+ def get_user(params = {}, options = {})
1265
+ req = build_request(:get_user, params)
1266
+ req.send_request(options)
1267
+ end
1268
+
859
1269
  # A temporary Amazon S3 location, where you can copy your files from a
860
1270
  # source location to stage or use as a scratch space in FinSpace
861
1271
  # notebook.
@@ -863,11 +1273,11 @@ module Aws::FinSpaceData
863
1273
  # @option params [String] :location_type
864
1274
  # Specify the type of the working location.
865
1275
  #
866
- # * `SAGEMAKER` - Use the Amazon S3 location as a temporary location to
1276
+ # * `SAGEMAKER` Use the Amazon S3 location as a temporary location to
867
1277
  # store data content when working with FinSpace Notebooks that run on
868
1278
  # SageMaker studio.
869
1279
  #
870
- # * `INGESTION` - Use the Amazon S3 location as a staging location to
1280
+ # * `INGESTION` Use the Amazon S3 location as a staging location to
871
1281
  # copy your data content and then use the location with the Changeset
872
1282
  # creation operation.
873
1283
  #
@@ -908,7 +1318,7 @@ module Aws::FinSpaceData
908
1318
  # The maximum number of results per page.
909
1319
  #
910
1320
  # @option params [String] :next_token
911
- # A token indicating where a results page should begin.
1321
+ # A token that indicates where a results page should begin.
912
1322
  #
913
1323
  # @return [Types::ListChangesetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
914
1324
  #
@@ -961,7 +1371,7 @@ module Aws::FinSpaceData
961
1371
  # The unique identifier of the Dataset for which to retrieve Dataviews.
962
1372
  #
963
1373
  # @option params [String] :next_token
964
- # A token indicating where a results page should begin.
1374
+ # A token that indicates where a results page should begin.
965
1375
  #
966
1376
  # @option params [Integer] :max_results
967
1377
  # The maximum number of results per page.
@@ -1016,7 +1426,7 @@ module Aws::FinSpaceData
1016
1426
  # Lists all of the active Datasets that a user has access to.
1017
1427
  #
1018
1428
  # @option params [String] :next_token
1019
- # A token indicating where a results page should begin.
1429
+ # A token that indicates where a results page should begin.
1020
1430
  #
1021
1431
  # @option params [Integer] :max_results
1022
1432
  # The maximum number of results per page.
@@ -1066,6 +1476,229 @@ module Aws::FinSpaceData
1066
1476
  req.send_request(options)
1067
1477
  end
1068
1478
 
1479
+ # Lists all available permission groups in FinSpace.
1480
+ #
1481
+ # @option params [String] :next_token
1482
+ # A token that indicates where a results page should begin.
1483
+ #
1484
+ # @option params [required, Integer] :max_results
1485
+ # The maximum number of results per page.
1486
+ #
1487
+ # @return [Types::ListPermissionGroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1488
+ #
1489
+ # * {Types::ListPermissionGroupsResponse#permission_groups #permission_groups} => Array&lt;Types::PermissionGroup&gt;
1490
+ # * {Types::ListPermissionGroupsResponse#next_token #next_token} => String
1491
+ #
1492
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1493
+ #
1494
+ # @example Request syntax with placeholder values
1495
+ #
1496
+ # resp = client.list_permission_groups({
1497
+ # next_token: "PaginationToken",
1498
+ # max_results: 1, # required
1499
+ # })
1500
+ #
1501
+ # @example Response structure
1502
+ #
1503
+ # resp.permission_groups #=> Array
1504
+ # resp.permission_groups[0].permission_group_id #=> String
1505
+ # resp.permission_groups[0].name #=> String
1506
+ # resp.permission_groups[0].description #=> String
1507
+ # resp.permission_groups[0].application_permissions #=> Array
1508
+ # resp.permission_groups[0].application_permissions[0] #=> String, one of "CreateDataset", "ManageClusters", "ManageUsersAndGroups", "ManageAttributeSets", "ViewAuditData", "AccessNotebooks", "GetTemporaryCredentials"
1509
+ # resp.permission_groups[0].create_time #=> Integer
1510
+ # resp.permission_groups[0].last_modified_time #=> Integer
1511
+ # resp.permission_groups[0].membership_status #=> String, one of "ADDITION_IN_PROGRESS", "ADDITION_SUCCESS", "REMOVAL_IN_PROGRESS"
1512
+ # resp.next_token #=> String
1513
+ #
1514
+ # @see http://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/ListPermissionGroups AWS API Documentation
1515
+ #
1516
+ # @overload list_permission_groups(params = {})
1517
+ # @param [Hash] params ({})
1518
+ def list_permission_groups(params = {}, options = {})
1519
+ req = build_request(:list_permission_groups, params)
1520
+ req.send_request(options)
1521
+ end
1522
+
1523
+ # Lists all the permission groups that are associated with a specific
1524
+ # user account.
1525
+ #
1526
+ # @option params [required, String] :user_id
1527
+ # The unique identifier for the user.
1528
+ #
1529
+ # @option params [String] :next_token
1530
+ # A token that indicates where a results page should begin.
1531
+ #
1532
+ # @option params [required, Integer] :max_results
1533
+ # The maximum number of results per page.
1534
+ #
1535
+ # @return [Types::ListPermissionGroupsByUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1536
+ #
1537
+ # * {Types::ListPermissionGroupsByUserResponse#permission_groups #permission_groups} => Array&lt;Types::PermissionGroupByUser&gt;
1538
+ # * {Types::ListPermissionGroupsByUserResponse#next_token #next_token} => String
1539
+ #
1540
+ # @example Request syntax with placeholder values
1541
+ #
1542
+ # resp = client.list_permission_groups_by_user({
1543
+ # user_id: "UserId", # required
1544
+ # next_token: "PaginationToken",
1545
+ # max_results: 1, # required
1546
+ # })
1547
+ #
1548
+ # @example Response structure
1549
+ #
1550
+ # resp.permission_groups #=> Array
1551
+ # resp.permission_groups[0].permission_group_id #=> String
1552
+ # resp.permission_groups[0].name #=> String
1553
+ # resp.permission_groups[0].membership_status #=> String, one of "ADDITION_IN_PROGRESS", "ADDITION_SUCCESS", "REMOVAL_IN_PROGRESS"
1554
+ # resp.next_token #=> String
1555
+ #
1556
+ # @see http://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/ListPermissionGroupsByUser AWS API Documentation
1557
+ #
1558
+ # @overload list_permission_groups_by_user(params = {})
1559
+ # @param [Hash] params ({})
1560
+ def list_permission_groups_by_user(params = {}, options = {})
1561
+ req = build_request(:list_permission_groups_by_user, params)
1562
+ req.send_request(options)
1563
+ end
1564
+
1565
+ # Lists all available user accounts in FinSpace.
1566
+ #
1567
+ # @option params [String] :next_token
1568
+ # A token that indicates where a results page should begin.
1569
+ #
1570
+ # @option params [required, Integer] :max_results
1571
+ # The maximum number of results per page.
1572
+ #
1573
+ # @return [Types::ListUsersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1574
+ #
1575
+ # * {Types::ListUsersResponse#users #users} => Array&lt;Types::User&gt;
1576
+ # * {Types::ListUsersResponse#next_token #next_token} => String
1577
+ #
1578
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1579
+ #
1580
+ # @example Request syntax with placeholder values
1581
+ #
1582
+ # resp = client.list_users({
1583
+ # next_token: "PaginationToken",
1584
+ # max_results: 1, # required
1585
+ # })
1586
+ #
1587
+ # @example Response structure
1588
+ #
1589
+ # resp.users #=> Array
1590
+ # resp.users[0].user_id #=> String
1591
+ # resp.users[0].status #=> String, one of "CREATING", "ENABLED", "DISABLED"
1592
+ # resp.users[0].first_name #=> String
1593
+ # resp.users[0].last_name #=> String
1594
+ # resp.users[0].email_address #=> String
1595
+ # resp.users[0].type #=> String, one of "SUPER_USER", "APP_USER"
1596
+ # resp.users[0].api_access #=> String, one of "ENABLED", "DISABLED"
1597
+ # resp.users[0].api_access_principal_arn #=> String
1598
+ # resp.users[0].create_time #=> Integer
1599
+ # resp.users[0].last_enabled_time #=> Integer
1600
+ # resp.users[0].last_disabled_time #=> Integer
1601
+ # resp.users[0].last_modified_time #=> Integer
1602
+ # resp.users[0].last_login_time #=> Integer
1603
+ # resp.next_token #=> String
1604
+ #
1605
+ # @see http://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/ListUsers AWS API Documentation
1606
+ #
1607
+ # @overload list_users(params = {})
1608
+ # @param [Hash] params ({})
1609
+ def list_users(params = {}, options = {})
1610
+ req = build_request(:list_users, params)
1611
+ req.send_request(options)
1612
+ end
1613
+
1614
+ # Lists details of all the users in a specific permission group.
1615
+ #
1616
+ # @option params [required, String] :permission_group_id
1617
+ # The unique identifier for the permission group.
1618
+ #
1619
+ # @option params [String] :next_token
1620
+ # A token that indicates where a results page should begin.
1621
+ #
1622
+ # @option params [required, Integer] :max_results
1623
+ # The maximum number of results per page.
1624
+ #
1625
+ # @return [Types::ListUsersByPermissionGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1626
+ #
1627
+ # * {Types::ListUsersByPermissionGroupResponse#users #users} => Array&lt;Types::UserByPermissionGroup&gt;
1628
+ # * {Types::ListUsersByPermissionGroupResponse#next_token #next_token} => String
1629
+ #
1630
+ # @example Request syntax with placeholder values
1631
+ #
1632
+ # resp = client.list_users_by_permission_group({
1633
+ # permission_group_id: "PermissionGroupId", # required
1634
+ # next_token: "PaginationToken",
1635
+ # max_results: 1, # required
1636
+ # })
1637
+ #
1638
+ # @example Response structure
1639
+ #
1640
+ # resp.users #=> Array
1641
+ # resp.users[0].user_id #=> String
1642
+ # resp.users[0].status #=> String, one of "CREATING", "ENABLED", "DISABLED"
1643
+ # resp.users[0].first_name #=> String
1644
+ # resp.users[0].last_name #=> String
1645
+ # resp.users[0].email_address #=> String
1646
+ # resp.users[0].type #=> String, one of "SUPER_USER", "APP_USER"
1647
+ # resp.users[0].api_access #=> String, one of "ENABLED", "DISABLED"
1648
+ # resp.users[0].api_access_principal_arn #=> String
1649
+ # resp.users[0].membership_status #=> String, one of "ADDITION_IN_PROGRESS", "ADDITION_SUCCESS", "REMOVAL_IN_PROGRESS"
1650
+ # resp.next_token #=> String
1651
+ #
1652
+ # @see http://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/ListUsersByPermissionGroup AWS API Documentation
1653
+ #
1654
+ # @overload list_users_by_permission_group(params = {})
1655
+ # @param [Hash] params ({})
1656
+ def list_users_by_permission_group(params = {}, options = {})
1657
+ req = build_request(:list_users_by_permission_group, params)
1658
+ req.send_request(options)
1659
+ end
1660
+
1661
+ # Resets the password for a specified user ID and generates a temporary
1662
+ # one. Only a superuser can reset password for other users. Resetting
1663
+ # the password immediately invalidates the previous password associated
1664
+ # with the user.
1665
+ #
1666
+ # @option params [required, String] :user_id
1667
+ # The unique identifier of the user that a temporary password is
1668
+ # requested for.
1669
+ #
1670
+ # @option params [String] :client_token
1671
+ # A token that ensures idempotency. This token expires in 10 minutes.
1672
+ #
1673
+ # **A suitable default value is auto-generated.** You should normally
1674
+ # not need to pass this option.**
1675
+ #
1676
+ # @return [Types::ResetUserPasswordResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1677
+ #
1678
+ # * {Types::ResetUserPasswordResponse#user_id #user_id} => String
1679
+ # * {Types::ResetUserPasswordResponse#temporary_password #temporary_password} => String
1680
+ #
1681
+ # @example Request syntax with placeholder values
1682
+ #
1683
+ # resp = client.reset_user_password({
1684
+ # user_id: "UserId", # required
1685
+ # client_token: "ClientToken",
1686
+ # })
1687
+ #
1688
+ # @example Response structure
1689
+ #
1690
+ # resp.user_id #=> String
1691
+ # resp.temporary_password #=> String
1692
+ #
1693
+ # @see http://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/ResetUserPassword AWS API Documentation
1694
+ #
1695
+ # @overload reset_user_password(params = {})
1696
+ # @param [Hash] params ({})
1697
+ def reset_user_password(params = {}, options = {})
1698
+ req = build_request(:reset_user_password, params)
1699
+ req.send_request(options)
1700
+ end
1701
+
1069
1702
  # Updates a FinSpace Changeset.
1070
1703
  #
1071
1704
  # @option params [String] :client_token
@@ -1110,13 +1743,13 @@ module Aws::FinSpaceData
1110
1743
  # `formatType` is a required attribute and can have the following
1111
1744
  # values:
1112
1745
  #
1113
- # * `PARQUET` - Parquet source file format.
1746
+ # * `PARQUET` Parquet source file format.
1114
1747
  #
1115
- # * `CSV` - CSV source file format.
1748
+ # * `CSV` CSV source file format.
1116
1749
  #
1117
- # * `JSON` - JSON source file format.
1750
+ # * `JSON` JSON source file format.
1118
1751
  #
1119
- # * `XML` - XML source file format.
1752
+ # * `XML` XML source file format.
1120
1753
  #
1121
1754
  # Here is an example of how you could specify the `formatParams`\:
1122
1755
  #
@@ -1185,9 +1818,9 @@ module Aws::FinSpaceData
1185
1818
  # @option params [required, String] :kind
1186
1819
  # The format in which the Dataset data is structured.
1187
1820
  #
1188
- # * `TABULAR` - Data is structured in a tabular format.
1821
+ # * `TABULAR` Data is structured in a tabular format.
1189
1822
  #
1190
- # * `NON_TABULAR` - Data is structured in a non-tabular format.
1823
+ # * `NON_TABULAR` Data is structured in a non-tabular format.
1191
1824
  #
1192
1825
  # @option params [String] :dataset_description
1193
1826
  # A description for the Dataset.
@@ -1238,6 +1871,144 @@ module Aws::FinSpaceData
1238
1871
  req.send_request(options)
1239
1872
  end
1240
1873
 
1874
+ # Modifies the details of a permission group. You cannot modify a
1875
+ # `permissionGroupID`.
1876
+ #
1877
+ # @option params [required, String] :permission_group_id
1878
+ # The unique identifier for the permission group to update.
1879
+ #
1880
+ # @option params [String] :name
1881
+ # The name of the permission group.
1882
+ #
1883
+ # @option params [String] :description
1884
+ # A brief description for the permission group.
1885
+ #
1886
+ # @option params [Array<String>] :application_permissions
1887
+ # The permissions that are granted to a specific group for accessing the
1888
+ # FinSpace application.
1889
+ #
1890
+ # * `CreateDataset` – Group members can create new datasets.
1891
+ #
1892
+ # * `ManageClusters` – Group members can manage Apache Spark clusters
1893
+ # from FinSpace notebooks.
1894
+ #
1895
+ # * `ManageUsersAndGroups` – Group members can manage users and
1896
+ # permission groups.
1897
+ #
1898
+ # * `ManageAttributeSets` – Group members can manage attribute sets.
1899
+ #
1900
+ # * `ViewAuditData` – Group members can view audit data.
1901
+ #
1902
+ # * `AccessNotebooks` – Group members will have access to FinSpace
1903
+ # notebooks.
1904
+ #
1905
+ # * `GetTemporaryCredentials` – Group members can get temporary API
1906
+ # credentials.
1907
+ #
1908
+ # @option params [String] :client_token
1909
+ # A token that ensures idempotency. This token expires in 10 minutes.
1910
+ #
1911
+ # **A suitable default value is auto-generated.** You should normally
1912
+ # not need to pass this option.**
1913
+ #
1914
+ # @return [Types::UpdatePermissionGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1915
+ #
1916
+ # * {Types::UpdatePermissionGroupResponse#permission_group_id #permission_group_id} => String
1917
+ #
1918
+ # @example Request syntax with placeholder values
1919
+ #
1920
+ # resp = client.update_permission_group({
1921
+ # permission_group_id: "PermissionGroupId", # required
1922
+ # name: "PermissionGroupName",
1923
+ # description: "PermissionGroupDescription",
1924
+ # application_permissions: ["CreateDataset"], # accepts CreateDataset, ManageClusters, ManageUsersAndGroups, ManageAttributeSets, ViewAuditData, AccessNotebooks, GetTemporaryCredentials
1925
+ # client_token: "ClientToken",
1926
+ # })
1927
+ #
1928
+ # @example Response structure
1929
+ #
1930
+ # resp.permission_group_id #=> String
1931
+ #
1932
+ # @see http://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/UpdatePermissionGroup AWS API Documentation
1933
+ #
1934
+ # @overload update_permission_group(params = {})
1935
+ # @param [Hash] params ({})
1936
+ def update_permission_group(params = {}, options = {})
1937
+ req = build_request(:update_permission_group, params)
1938
+ req.send_request(options)
1939
+ end
1940
+
1941
+ # Modifies the details of the specified user account. You cannot update
1942
+ # the `userId` for a user.
1943
+ #
1944
+ # @option params [required, String] :user_id
1945
+ # The unique identifier for the user account to update.
1946
+ #
1947
+ # @option params [String] :type
1948
+ # The option to indicate the type of user.
1949
+ #
1950
+ # * `SUPER_USER`– A user with permission to all the functionality and
1951
+ # data in FinSpace.
1952
+ #
1953
+ # * `APP_USER` – A user with specific permissions in FinSpace. The users
1954
+ # are assigned permissions by adding them to a permission group.
1955
+ #
1956
+ # @option params [String] :first_name
1957
+ # The first name of the user.
1958
+ #
1959
+ # @option params [String] :last_name
1960
+ # The last name of the user.
1961
+ #
1962
+ # @option params [String] :api_access
1963
+ # The option to indicate whether the user can use the
1964
+ # `GetProgrammaticAccessCredentials` API to obtain credentials that can
1965
+ # then be used to access other FinSpace Data API operations.
1966
+ #
1967
+ # * `ENABLED` – The user has permissions to use the APIs.
1968
+ #
1969
+ # * `DISABLED` – The user does not have permissions to use any APIs.
1970
+ #
1971
+ # @option params [String] :api_access_principal_arn
1972
+ # The ARN identifier of an AWS user or role that is allowed to call the
1973
+ # `GetProgrammaticAccessCredentials` API to obtain a credentials token
1974
+ # for a specific FinSpace user. This must be an IAM role within your
1975
+ # FinSpace account.
1976
+ #
1977
+ # @option params [String] :client_token
1978
+ # A token that ensures idempotency. This token expires in 10 minutes.
1979
+ #
1980
+ # **A suitable default value is auto-generated.** You should normally
1981
+ # not need to pass this option.**
1982
+ #
1983
+ # @return [Types::UpdateUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1984
+ #
1985
+ # * {Types::UpdateUserResponse#user_id #user_id} => String
1986
+ #
1987
+ # @example Request syntax with placeholder values
1988
+ #
1989
+ # resp = client.update_user({
1990
+ # user_id: "UserId", # required
1991
+ # type: "SUPER_USER", # accepts SUPER_USER, APP_USER
1992
+ # first_name: "FirstName",
1993
+ # last_name: "LastName",
1994
+ # api_access: "ENABLED", # accepts ENABLED, DISABLED
1995
+ # api_access_principal_arn: "RoleArn",
1996
+ # client_token: "ClientToken",
1997
+ # })
1998
+ #
1999
+ # @example Response structure
2000
+ #
2001
+ # resp.user_id #=> String
2002
+ #
2003
+ # @see http://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/UpdateUser AWS API Documentation
2004
+ #
2005
+ # @overload update_user(params = {})
2006
+ # @param [Hash] params ({})
2007
+ def update_user(params = {}, options = {})
2008
+ req = build_request(:update_user, params)
2009
+ req.send_request(options)
2010
+ end
2011
+
1241
2012
  # @!endgroup
1242
2013
 
1243
2014
  # @param params ({})
@@ -1251,7 +2022,7 @@ module Aws::FinSpaceData
1251
2022
  params: params,
1252
2023
  config: config)
1253
2024
  context[:gem_name] = 'aws-sdk-finspacedata'
1254
- context[:gem_version] = '1.13.0'
2025
+ context[:gem_version] = '1.16.0'
1255
2026
  Seahorse::Client::Request.new(handlers, context)
1256
2027
  end
1257
2028