aws-sdk-athena 1.57.0 → 1.59.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.
@@ -506,6 +506,8 @@ module Aws::Athena
506
506
  # resp.query_executions[0].result_configuration.encryption_configuration.kms_key #=> String
507
507
  # resp.query_executions[0].result_configuration.expected_bucket_owner #=> String
508
508
  # resp.query_executions[0].result_configuration.acl_configuration.s3_acl_option #=> String, one of "BUCKET_OWNER_FULL_CONTROL"
509
+ # resp.query_executions[0].result_reuse_configuration.result_reuse_by_age_configuration.enabled #=> Boolean
510
+ # resp.query_executions[0].result_reuse_configuration.result_reuse_by_age_configuration.max_age_in_minutes #=> Integer
509
511
  # resp.query_executions[0].query_execution_context.database #=> String
510
512
  # resp.query_executions[0].query_execution_context.catalog #=> String
511
513
  # resp.query_executions[0].status.state #=> String, one of "QUEUED", "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED"
@@ -523,6 +525,7 @@ module Aws::Athena
523
525
  # resp.query_executions[0].statistics.query_queue_time_in_millis #=> Integer
524
526
  # resp.query_executions[0].statistics.query_planning_time_in_millis #=> Integer
525
527
  # resp.query_executions[0].statistics.service_processing_time_in_millis #=> Integer
528
+ # resp.query_executions[0].statistics.result_reuse_information.reused_previous_result #=> Boolean
526
529
  # resp.query_executions[0].work_group #=> String
527
530
  # resp.query_executions[0].engine_version.selected_engine_version #=> String
528
531
  # resp.query_executions[0].engine_version.effective_engine_version #=> String
@@ -706,6 +709,53 @@ module Aws::Athena
706
709
  req.send_request(options)
707
710
  end
708
711
 
712
+ # Creates an empty `ipynb` file in the specified Apache Spark enabled
713
+ # workgroup. Throws an error if a file in the workgroup with the same
714
+ # name already exists.
715
+ #
716
+ # @option params [required, String] :work_group
717
+ # The name of the Spark enabled workgroup in which the notebook will be
718
+ # created.
719
+ #
720
+ # @option params [required, String] :name
721
+ # The name of the `ipynb` file to be created in the Spark workgroup,
722
+ # without the `.ipynb` extension.
723
+ #
724
+ # @option params [String] :client_request_token
725
+ # A unique case-sensitive string used to ensure the request to create
726
+ # the notebook is idempotent (executes only once).
727
+ #
728
+ # This token is listed as not required because Amazon Web Services SDKs
729
+ # (for example the Amazon Web Services SDK for Java) auto-generate the
730
+ # token for you. If you are not using the Amazon Web Services SDK or the
731
+ # Amazon Web Services CLI, you must provide this token or the action
732
+ # will fail.
733
+ #
734
+ # @return [Types::CreateNotebookOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
735
+ #
736
+ # * {Types::CreateNotebookOutput#notebook_id #notebook_id} => String
737
+ #
738
+ # @example Request syntax with placeholder values
739
+ #
740
+ # resp = client.create_notebook({
741
+ # work_group: "WorkGroupName", # required
742
+ # name: "NotebookName", # required
743
+ # client_request_token: "ClientRequestToken",
744
+ # })
745
+ #
746
+ # @example Response structure
747
+ #
748
+ # resp.notebook_id #=> String
749
+ #
750
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateNotebook AWS API Documentation
751
+ #
752
+ # @overload create_notebook(params = {})
753
+ # @param [Hash] params ({})
754
+ def create_notebook(params = {}, options = {})
755
+ req = build_request(:create_notebook, params)
756
+ req.send_request(options)
757
+ end
758
+
709
759
  # Creates a prepared statement for use with SQL queries in Athena.
710
760
  #
711
761
  # @option params [required, String] :statement_name
@@ -740,20 +790,58 @@ module Aws::Athena
740
790
  req.send_request(options)
741
791
  end
742
792
 
743
- # Creates a workgroup with the specified name.
793
+ # Gets an authentication token and the URL at which the notebook can be
794
+ # accessed. During programmatic access, `CreatePresignedNotebookUrl`
795
+ # must be called every 10 minutes to refresh the authentication token.
796
+ #
797
+ # @option params [required, String] :session_id
798
+ # The session ID.
799
+ #
800
+ # @return [Types::CreatePresignedNotebookUrlResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
801
+ #
802
+ # * {Types::CreatePresignedNotebookUrlResponse#notebook_url #notebook_url} => String
803
+ # * {Types::CreatePresignedNotebookUrlResponse#auth_token #auth_token} => String
804
+ # * {Types::CreatePresignedNotebookUrlResponse#auth_token_expiration_time #auth_token_expiration_time} => Integer
805
+ #
806
+ # @example Request syntax with placeholder values
807
+ #
808
+ # resp = client.create_presigned_notebook_url({
809
+ # session_id: "SessionId", # required
810
+ # })
811
+ #
812
+ # @example Response structure
813
+ #
814
+ # resp.notebook_url #=> String
815
+ # resp.auth_token #=> String
816
+ # resp.auth_token_expiration_time #=> Integer
817
+ #
818
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreatePresignedNotebookUrl AWS API Documentation
819
+ #
820
+ # @overload create_presigned_notebook_url(params = {})
821
+ # @param [Hash] params ({})
822
+ def create_presigned_notebook_url(params = {}, options = {})
823
+ req = build_request(:create_presigned_notebook_url, params)
824
+ req.send_request(options)
825
+ end
826
+
827
+ # Creates a workgroup with the specified name. Only one of
828
+ # `Configurations` or `Configuration` can be specified; `Configurations`
829
+ # for a workgroup with multi engine support (for example, an Apache
830
+ # Spark enabled workgroup) or `Configuration` for an Athena SQL
831
+ # workgroup.
744
832
  #
745
833
  # @option params [required, String] :name
746
834
  # The workgroup name.
747
835
  #
748
836
  # @option params [Types::WorkGroupConfiguration] :configuration
749
- # The configuration for the workgroup, which includes the location in
750
- # Amazon S3 where query results are stored, the encryption
751
- # configuration, if any, used for encrypting query results, whether the
752
- # Amazon CloudWatch Metrics are enabled for the workgroup, the limit for
753
- # the amount of bytes scanned (cutoff) per query, if it is specified,
754
- # and whether workgroup's settings (specified with
755
- # `EnforceWorkGroupConfiguration`) in the `WorkGroupConfiguration`
756
- # override client-side settings. See
837
+ # Contains configuration information for creating an Athena SQL
838
+ # workgroup, which includes the location in Amazon S3 where query
839
+ # results are stored, the encryption configuration, if any, used for
840
+ # encrypting query results, whether the Amazon CloudWatch Metrics are
841
+ # enabled for the workgroup, the limit for the amount of bytes scanned
842
+ # (cutoff) per query, if it is specified, and whether workgroup's
843
+ # settings (specified with `EnforceWorkGroupConfiguration`) in the
844
+ # `WorkGroupConfiguration` override client-side settings. See
757
845
  # WorkGroupConfiguration$EnforceWorkGroupConfiguration.
758
846
  #
759
847
  # @option params [String] :description
@@ -789,6 +877,11 @@ module Aws::Athena
789
877
  # selected_engine_version: "NameString",
790
878
  # effective_engine_version: "NameString",
791
879
  # },
880
+ # additional_configuration: "NameString",
881
+ # execution_role: "RoleArn",
882
+ # customer_content_encryption_configuration: {
883
+ # kms_key: "KmsKey", # required
884
+ # },
792
885
  # },
793
886
  # description: "WorkGroupDescriptionString",
794
887
  # tags: [
@@ -863,6 +956,28 @@ module Aws::Athena
863
956
  req.send_request(options)
864
957
  end
865
958
 
959
+ # Deletes the specified notebook.
960
+ #
961
+ # @option params [required, String] :notebook_id
962
+ # The ID of the notebook to delete.
963
+ #
964
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
965
+ #
966
+ # @example Request syntax with placeholder values
967
+ #
968
+ # resp = client.delete_notebook({
969
+ # notebook_id: "NotebookId", # required
970
+ # })
971
+ #
972
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteNotebook AWS API Documentation
973
+ #
974
+ # @overload delete_notebook(params = {})
975
+ # @param [Hash] params ({})
976
+ def delete_notebook(params = {}, options = {})
977
+ req = build_request(:delete_notebook, params)
978
+ req.send_request(options)
979
+ end
980
+
866
981
  # Deletes the prepared statement with the specified name from the
867
982
  # specified workgroup.
868
983
  #
@@ -918,6 +1033,151 @@ module Aws::Athena
918
1033
  req.send_request(options)
919
1034
  end
920
1035
 
1036
+ # Exports the specified notebook and its metadata.
1037
+ #
1038
+ # @option params [required, String] :notebook_id
1039
+ # The ID of the notebook to export.
1040
+ #
1041
+ # @return [Types::ExportNotebookOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1042
+ #
1043
+ # * {Types::ExportNotebookOutput#notebook_metadata #notebook_metadata} => Types::NotebookMetadata
1044
+ # * {Types::ExportNotebookOutput#payload #payload} => String
1045
+ #
1046
+ # @example Request syntax with placeholder values
1047
+ #
1048
+ # resp = client.export_notebook({
1049
+ # notebook_id: "NotebookId", # required
1050
+ # })
1051
+ #
1052
+ # @example Response structure
1053
+ #
1054
+ # resp.notebook_metadata.notebook_id #=> String
1055
+ # resp.notebook_metadata.name #=> String
1056
+ # resp.notebook_metadata.work_group #=> String
1057
+ # resp.notebook_metadata.creation_time #=> Time
1058
+ # resp.notebook_metadata.type #=> String, one of "IPYNB"
1059
+ # resp.notebook_metadata.last_modified_time #=> Time
1060
+ # resp.payload #=> String
1061
+ #
1062
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ExportNotebook AWS API Documentation
1063
+ #
1064
+ # @overload export_notebook(params = {})
1065
+ # @param [Hash] params ({})
1066
+ def export_notebook(params = {}, options = {})
1067
+ req = build_request(:export_notebook, params)
1068
+ req.send_request(options)
1069
+ end
1070
+
1071
+ # Describes a previously submitted calculation execution.
1072
+ #
1073
+ # @option params [required, String] :calculation_execution_id
1074
+ # The calculation execution UUID.
1075
+ #
1076
+ # @return [Types::GetCalculationExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1077
+ #
1078
+ # * {Types::GetCalculationExecutionResponse#calculation_execution_id #calculation_execution_id} => String
1079
+ # * {Types::GetCalculationExecutionResponse#session_id #session_id} => String
1080
+ # * {Types::GetCalculationExecutionResponse#description #description} => String
1081
+ # * {Types::GetCalculationExecutionResponse#working_directory #working_directory} => String
1082
+ # * {Types::GetCalculationExecutionResponse#status #status} => Types::CalculationStatus
1083
+ # * {Types::GetCalculationExecutionResponse#statistics #statistics} => Types::CalculationStatistics
1084
+ # * {Types::GetCalculationExecutionResponse#result #result} => Types::CalculationResult
1085
+ #
1086
+ # @example Request syntax with placeholder values
1087
+ #
1088
+ # resp = client.get_calculation_execution({
1089
+ # calculation_execution_id: "CalculationExecutionId", # required
1090
+ # })
1091
+ #
1092
+ # @example Response structure
1093
+ #
1094
+ # resp.calculation_execution_id #=> String
1095
+ # resp.session_id #=> String
1096
+ # resp.description #=> String
1097
+ # resp.working_directory #=> String
1098
+ # resp.status.submission_date_time #=> Time
1099
+ # resp.status.completion_date_time #=> Time
1100
+ # resp.status.state #=> String, one of "CREATING", "CREATED", "QUEUED", "RUNNING", "CANCELING", "CANCELED", "COMPLETED", "FAILED"
1101
+ # resp.status.state_change_reason #=> String
1102
+ # resp.statistics.dpu_execution_in_millis #=> Integer
1103
+ # resp.statistics.progress #=> String
1104
+ # resp.result.std_out_s3_uri #=> String
1105
+ # resp.result.std_error_s3_uri #=> String
1106
+ # resp.result.result_s3_uri #=> String
1107
+ # resp.result.result_type #=> String
1108
+ #
1109
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetCalculationExecution AWS API Documentation
1110
+ #
1111
+ # @overload get_calculation_execution(params = {})
1112
+ # @param [Hash] params ({})
1113
+ def get_calculation_execution(params = {}, options = {})
1114
+ req = build_request(:get_calculation_execution, params)
1115
+ req.send_request(options)
1116
+ end
1117
+
1118
+ # Retrieves a pre-signed URL to a copy of the code that was executed for
1119
+ # the calculation.
1120
+ #
1121
+ # @option params [required, String] :calculation_execution_id
1122
+ # The calculation execution UUID.
1123
+ #
1124
+ # @return [Types::GetCalculationExecutionCodeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1125
+ #
1126
+ # * {Types::GetCalculationExecutionCodeResponse#code_block #code_block} => String
1127
+ #
1128
+ # @example Request syntax with placeholder values
1129
+ #
1130
+ # resp = client.get_calculation_execution_code({
1131
+ # calculation_execution_id: "CalculationExecutionId", # required
1132
+ # })
1133
+ #
1134
+ # @example Response structure
1135
+ #
1136
+ # resp.code_block #=> String
1137
+ #
1138
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetCalculationExecutionCode AWS API Documentation
1139
+ #
1140
+ # @overload get_calculation_execution_code(params = {})
1141
+ # @param [Hash] params ({})
1142
+ def get_calculation_execution_code(params = {}, options = {})
1143
+ req = build_request(:get_calculation_execution_code, params)
1144
+ req.send_request(options)
1145
+ end
1146
+
1147
+ # Gets the status of a current calculation.
1148
+ #
1149
+ # @option params [required, String] :calculation_execution_id
1150
+ # The calculation execution UUID.
1151
+ #
1152
+ # @return [Types::GetCalculationExecutionStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1153
+ #
1154
+ # * {Types::GetCalculationExecutionStatusResponse#status #status} => Types::CalculationStatus
1155
+ # * {Types::GetCalculationExecutionStatusResponse#statistics #statistics} => Types::CalculationStatistics
1156
+ #
1157
+ # @example Request syntax with placeholder values
1158
+ #
1159
+ # resp = client.get_calculation_execution_status({
1160
+ # calculation_execution_id: "CalculationExecutionId", # required
1161
+ # })
1162
+ #
1163
+ # @example Response structure
1164
+ #
1165
+ # resp.status.submission_date_time #=> Time
1166
+ # resp.status.completion_date_time #=> Time
1167
+ # resp.status.state #=> String, one of "CREATING", "CREATED", "QUEUED", "RUNNING", "CANCELING", "CANCELED", "COMPLETED", "FAILED"
1168
+ # resp.status.state_change_reason #=> String
1169
+ # resp.statistics.dpu_execution_in_millis #=> Integer
1170
+ # resp.statistics.progress #=> String
1171
+ #
1172
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetCalculationExecutionStatus AWS API Documentation
1173
+ #
1174
+ # @overload get_calculation_execution_status(params = {})
1175
+ # @param [Hash] params ({})
1176
+ def get_calculation_execution_status(params = {}, options = {})
1177
+ req = build_request(:get_calculation_execution_status, params)
1178
+ req.send_request(options)
1179
+ end
1180
+
921
1181
  # Returns the specified data catalog.
922
1182
  #
923
1183
  # @option params [required, String] :name
@@ -1019,6 +1279,39 @@ module Aws::Athena
1019
1279
  req.send_request(options)
1020
1280
  end
1021
1281
 
1282
+ # Retrieves notebook metadata for the specified notebook ID.
1283
+ #
1284
+ # @option params [required, String] :notebook_id
1285
+ # The ID of the notebook whose metadata is to be retrieved.
1286
+ #
1287
+ # @return [Types::GetNotebookMetadataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1288
+ #
1289
+ # * {Types::GetNotebookMetadataOutput#notebook_metadata #notebook_metadata} => Types::NotebookMetadata
1290
+ #
1291
+ # @example Request syntax with placeholder values
1292
+ #
1293
+ # resp = client.get_notebook_metadata({
1294
+ # notebook_id: "NotebookId", # required
1295
+ # })
1296
+ #
1297
+ # @example Response structure
1298
+ #
1299
+ # resp.notebook_metadata.notebook_id #=> String
1300
+ # resp.notebook_metadata.name #=> String
1301
+ # resp.notebook_metadata.work_group #=> String
1302
+ # resp.notebook_metadata.creation_time #=> Time
1303
+ # resp.notebook_metadata.type #=> String, one of "IPYNB"
1304
+ # resp.notebook_metadata.last_modified_time #=> Time
1305
+ #
1306
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetNotebookMetadata AWS API Documentation
1307
+ #
1308
+ # @overload get_notebook_metadata(params = {})
1309
+ # @param [Hash] params ({})
1310
+ def get_notebook_metadata(params = {}, options = {})
1311
+ req = build_request(:get_notebook_metadata, params)
1312
+ req.send_request(options)
1313
+ end
1314
+
1022
1315
  # Retrieves the prepared statement with the specified name from the
1023
1316
  # specified workgroup.
1024
1317
  #
@@ -1084,6 +1377,8 @@ module Aws::Athena
1084
1377
  # resp.query_execution.result_configuration.encryption_configuration.kms_key #=> String
1085
1378
  # resp.query_execution.result_configuration.expected_bucket_owner #=> String
1086
1379
  # resp.query_execution.result_configuration.acl_configuration.s3_acl_option #=> String, one of "BUCKET_OWNER_FULL_CONTROL"
1380
+ # resp.query_execution.result_reuse_configuration.result_reuse_by_age_configuration.enabled #=> Boolean
1381
+ # resp.query_execution.result_reuse_configuration.result_reuse_by_age_configuration.max_age_in_minutes #=> Integer
1087
1382
  # resp.query_execution.query_execution_context.database #=> String
1088
1383
  # resp.query_execution.query_execution_context.catalog #=> String
1089
1384
  # resp.query_execution.status.state #=> String, one of "QUEUED", "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED"
@@ -1101,6 +1396,7 @@ module Aws::Athena
1101
1396
  # resp.query_execution.statistics.query_queue_time_in_millis #=> Integer
1102
1397
  # resp.query_execution.statistics.query_planning_time_in_millis #=> Integer
1103
1398
  # resp.query_execution.statistics.service_processing_time_in_millis #=> Integer
1399
+ # resp.query_execution.statistics.result_reuse_information.reused_previous_result #=> Boolean
1104
1400
  # resp.query_execution.work_group #=> String
1105
1401
  # resp.query_execution.engine_version.selected_engine_version #=> String
1106
1402
  # resp.query_execution.engine_version.effective_engine_version #=> String
@@ -1246,6 +1542,99 @@ module Aws::Athena
1246
1542
  req.send_request(options)
1247
1543
  end
1248
1544
 
1545
+ # Gets the full details of a previously created session, including the
1546
+ # session status and configuration.
1547
+ #
1548
+ # @option params [required, String] :session_id
1549
+ # The session ID.
1550
+ #
1551
+ # @return [Types::GetSessionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1552
+ #
1553
+ # * {Types::GetSessionResponse#session_id #session_id} => String
1554
+ # * {Types::GetSessionResponse#description #description} => String
1555
+ # * {Types::GetSessionResponse#work_group #work_group} => String
1556
+ # * {Types::GetSessionResponse#engine_version #engine_version} => String
1557
+ # * {Types::GetSessionResponse#engine_configuration #engine_configuration} => Types::EngineConfiguration
1558
+ # * {Types::GetSessionResponse#notebook_version #notebook_version} => String
1559
+ # * {Types::GetSessionResponse#session_configuration #session_configuration} => Types::SessionConfiguration
1560
+ # * {Types::GetSessionResponse#status #status} => Types::SessionStatus
1561
+ # * {Types::GetSessionResponse#statistics #statistics} => Types::SessionStatistics
1562
+ #
1563
+ # @example Request syntax with placeholder values
1564
+ #
1565
+ # resp = client.get_session({
1566
+ # session_id: "SessionId", # required
1567
+ # })
1568
+ #
1569
+ # @example Response structure
1570
+ #
1571
+ # resp.session_id #=> String
1572
+ # resp.description #=> String
1573
+ # resp.work_group #=> String
1574
+ # resp.engine_version #=> String
1575
+ # resp.engine_configuration.coordinator_dpu_size #=> Integer
1576
+ # resp.engine_configuration.max_concurrent_dpus #=> Integer
1577
+ # resp.engine_configuration.default_executor_dpu_size #=> Integer
1578
+ # resp.engine_configuration.additional_configs #=> Hash
1579
+ # resp.engine_configuration.additional_configs["KeyString"] #=> String
1580
+ # resp.notebook_version #=> String
1581
+ # resp.session_configuration.execution_role #=> String
1582
+ # resp.session_configuration.working_directory #=> String
1583
+ # resp.session_configuration.idle_timeout_seconds #=> Integer
1584
+ # resp.session_configuration.encryption_configuration.encryption_option #=> String, one of "SSE_S3", "SSE_KMS", "CSE_KMS"
1585
+ # resp.session_configuration.encryption_configuration.kms_key #=> String
1586
+ # resp.status.start_date_time #=> Time
1587
+ # resp.status.last_modified_date_time #=> Time
1588
+ # resp.status.end_date_time #=> Time
1589
+ # resp.status.idle_since_date_time #=> Time
1590
+ # resp.status.state #=> String, one of "CREATING", "CREATED", "IDLE", "BUSY", "TERMINATING", "TERMINATED", "DEGRADED", "FAILED"
1591
+ # resp.status.state_change_reason #=> String
1592
+ # resp.statistics.dpu_execution_in_millis #=> Integer
1593
+ #
1594
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetSession AWS API Documentation
1595
+ #
1596
+ # @overload get_session(params = {})
1597
+ # @param [Hash] params ({})
1598
+ def get_session(params = {}, options = {})
1599
+ req = build_request(:get_session, params)
1600
+ req.send_request(options)
1601
+ end
1602
+
1603
+ # Gets the current status of a session.
1604
+ #
1605
+ # @option params [required, String] :session_id
1606
+ # The session ID.
1607
+ #
1608
+ # @return [Types::GetSessionStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1609
+ #
1610
+ # * {Types::GetSessionStatusResponse#session_id #session_id} => String
1611
+ # * {Types::GetSessionStatusResponse#status #status} => Types::SessionStatus
1612
+ #
1613
+ # @example Request syntax with placeholder values
1614
+ #
1615
+ # resp = client.get_session_status({
1616
+ # session_id: "SessionId", # required
1617
+ # })
1618
+ #
1619
+ # @example Response structure
1620
+ #
1621
+ # resp.session_id #=> String
1622
+ # resp.status.start_date_time #=> Time
1623
+ # resp.status.last_modified_date_time #=> Time
1624
+ # resp.status.end_date_time #=> Time
1625
+ # resp.status.idle_since_date_time #=> Time
1626
+ # resp.status.state #=> String, one of "CREATING", "CREATED", "IDLE", "BUSY", "TERMINATING", "TERMINATED", "DEGRADED", "FAILED"
1627
+ # resp.status.state_change_reason #=> String
1628
+ #
1629
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetSessionStatus AWS API Documentation
1630
+ #
1631
+ # @overload get_session_status(params = {})
1632
+ # @param [Hash] params ({})
1633
+ def get_session_status(params = {}, options = {})
1634
+ req = build_request(:get_session_status, params)
1635
+ req.send_request(options)
1636
+ end
1637
+
1249
1638
  # Returns table metadata for the specified catalog, database, and table.
1250
1639
  #
1251
1640
  # @option params [required, String] :catalog_name
@@ -1326,6 +1715,9 @@ module Aws::Athena
1326
1715
  # resp.work_group.configuration.requester_pays_enabled #=> Boolean
1327
1716
  # resp.work_group.configuration.engine_version.selected_engine_version #=> String
1328
1717
  # resp.work_group.configuration.engine_version.effective_engine_version #=> String
1718
+ # resp.work_group.configuration.additional_configuration #=> String
1719
+ # resp.work_group.configuration.execution_role #=> String
1720
+ # resp.work_group.configuration.customer_content_encryption_configuration.kms_key #=> String
1329
1721
  # resp.work_group.description #=> String
1330
1722
  # resp.work_group.creation_time #=> Time
1331
1723
  #
@@ -1338,6 +1730,175 @@ module Aws::Athena
1338
1730
  req.send_request(options)
1339
1731
  end
1340
1732
 
1733
+ # Imports a single `ipynb` file to a Spark enabled workgroup. The
1734
+ # maximum file size that can be imported is 10 megabytes. If an `ipynb`
1735
+ # file with the same name already exists in the workgroup, throws an
1736
+ # error.
1737
+ #
1738
+ # @option params [required, String] :work_group
1739
+ # The name of the Spark enabled workgroup to import the notebook to.
1740
+ #
1741
+ # @option params [required, String] :name
1742
+ # The name of the notebook to import.
1743
+ #
1744
+ # @option params [required, String] :payload
1745
+ # The notebook content to be imported.
1746
+ #
1747
+ # @option params [required, String] :type
1748
+ # The notebook content type. Currently, the only valid type is `IPYNB`.
1749
+ #
1750
+ # @option params [String] :client_request_token
1751
+ # A unique case-sensitive string used to ensure the request to import
1752
+ # the notebook is idempotent (executes only once).
1753
+ #
1754
+ # This token is listed as not required because Amazon Web Services SDKs
1755
+ # (for example the Amazon Web Services SDK for Java) auto-generate the
1756
+ # token for you. If you are not using the Amazon Web Services SDK or the
1757
+ # Amazon Web Services CLI, you must provide this token or the action
1758
+ # will fail.
1759
+ #
1760
+ # @return [Types::ImportNotebookOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1761
+ #
1762
+ # * {Types::ImportNotebookOutput#notebook_id #notebook_id} => String
1763
+ #
1764
+ # @example Request syntax with placeholder values
1765
+ #
1766
+ # resp = client.import_notebook({
1767
+ # work_group: "WorkGroupName", # required
1768
+ # name: "NotebookName", # required
1769
+ # payload: "Payload", # required
1770
+ # type: "IPYNB", # required, accepts IPYNB
1771
+ # client_request_token: "ClientRequestToken",
1772
+ # })
1773
+ #
1774
+ # @example Response structure
1775
+ #
1776
+ # resp.notebook_id #=> String
1777
+ #
1778
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ImportNotebook AWS API Documentation
1779
+ #
1780
+ # @overload import_notebook(params = {})
1781
+ # @param [Hash] params ({})
1782
+ def import_notebook(params = {}, options = {})
1783
+ req = build_request(:import_notebook, params)
1784
+ req.send_request(options)
1785
+ end
1786
+
1787
+ # Returns the supported DPU sizes for the supported application runtimes
1788
+ # (for example, `Jupyter 1.0`).
1789
+ #
1790
+ # @option params [Integer] :max_results
1791
+ # Specifies the maximum number of results to return.
1792
+ #
1793
+ # @option params [String] :next_token
1794
+ # A token generated by the Athena service that specifies where to
1795
+ # continue pagination if a previous request was truncated.
1796
+ #
1797
+ # @return [Types::ListApplicationDPUSizesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1798
+ #
1799
+ # * {Types::ListApplicationDPUSizesOutput#application_dpu_sizes #application_dpu_sizes} => Array<Types::ApplicationDPUSizes>
1800
+ # * {Types::ListApplicationDPUSizesOutput#next_token #next_token} => String
1801
+ #
1802
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1803
+ #
1804
+ # @example Request syntax with placeholder values
1805
+ #
1806
+ # resp = client.list_application_dpu_sizes({
1807
+ # max_results: 1,
1808
+ # next_token: "Token",
1809
+ # })
1810
+ #
1811
+ # @example Response structure
1812
+ #
1813
+ # resp.application_dpu_sizes #=> Array
1814
+ # resp.application_dpu_sizes[0].application_runtime_id #=> String
1815
+ # resp.application_dpu_sizes[0].supported_dpu_sizes #=> Array
1816
+ # resp.application_dpu_sizes[0].supported_dpu_sizes[0] #=> Integer
1817
+ # resp.next_token #=> String
1818
+ #
1819
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListApplicationDPUSizes AWS API Documentation
1820
+ #
1821
+ # @overload list_application_dpu_sizes(params = {})
1822
+ # @param [Hash] params ({})
1823
+ def list_application_dpu_sizes(params = {}, options = {})
1824
+ req = build_request(:list_application_dpu_sizes, params)
1825
+ req.send_request(options)
1826
+ end
1827
+
1828
+ # Lists the calculations that have been submitted to a session in
1829
+ # descending order. Newer calculations are listed first; older
1830
+ # calculations are listed later.
1831
+ #
1832
+ # @option params [required, String] :session_id
1833
+ # The session ID.
1834
+ #
1835
+ # @option params [String] :state_filter
1836
+ # A filter for a specific calculation execution state. A description of
1837
+ # each state follows.
1838
+ #
1839
+ # `CREATING` - The calculation is in the process of being created.
1840
+ #
1841
+ # `CREATED` - The calculation has been created and is ready to run.
1842
+ #
1843
+ # `QUEUED` - The calculation has been queued for processing.
1844
+ #
1845
+ # `RUNNING` - The calculation is running.
1846
+ #
1847
+ # `CANCELING` - A request to cancel the calculation has been received
1848
+ # and the system is working to stop it.
1849
+ #
1850
+ # `CANCELED` - The calculation is no longer running as the result of a
1851
+ # cancel request.
1852
+ #
1853
+ # `COMPLETED` - The calculation has completed without error.
1854
+ #
1855
+ # `FAILED` - The calculation failed and is no longer running.
1856
+ #
1857
+ # @option params [Integer] :max_results
1858
+ # The maximum number of calculation executions to return.
1859
+ #
1860
+ # @option params [String] :next_token
1861
+ # A token generated by the Athena service that specifies where to
1862
+ # continue pagination if a previous request was truncated. To obtain the
1863
+ # next set of pages, pass in the `NextToken` from the response object of
1864
+ # the previous page call.
1865
+ #
1866
+ # @return [Types::ListCalculationExecutionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1867
+ #
1868
+ # * {Types::ListCalculationExecutionsResponse#next_token #next_token} => String
1869
+ # * {Types::ListCalculationExecutionsResponse#calculations #calculations} => Array<Types::CalculationSummary>
1870
+ #
1871
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1872
+ #
1873
+ # @example Request syntax with placeholder values
1874
+ #
1875
+ # resp = client.list_calculation_executions({
1876
+ # session_id: "SessionId", # required
1877
+ # state_filter: "CREATING", # accepts CREATING, CREATED, QUEUED, RUNNING, CANCELING, CANCELED, COMPLETED, FAILED
1878
+ # max_results: 1,
1879
+ # next_token: "SessionManagerToken",
1880
+ # })
1881
+ #
1882
+ # @example Response structure
1883
+ #
1884
+ # resp.next_token #=> String
1885
+ # resp.calculations #=> Array
1886
+ # resp.calculations[0].calculation_execution_id #=> String
1887
+ # resp.calculations[0].description #=> String
1888
+ # resp.calculations[0].status.submission_date_time #=> Time
1889
+ # resp.calculations[0].status.completion_date_time #=> Time
1890
+ # resp.calculations[0].status.state #=> String, one of "CREATING", "CREATED", "QUEUED", "RUNNING", "CANCELING", "CANCELED", "COMPLETED", "FAILED"
1891
+ # resp.calculations[0].status.state_change_reason #=> String
1892
+ #
1893
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListCalculationExecutions AWS API Documentation
1894
+ #
1895
+ # @overload list_calculation_executions(params = {})
1896
+ # @param [Hash] params ({})
1897
+ def list_calculation_executions(params = {}, options = {})
1898
+ req = build_request(:list_calculation_executions, params)
1899
+ req.send_request(options)
1900
+ end
1901
+
1341
1902
  # Lists the data catalogs in the current Amazon Web Services account.
1342
1903
  #
1343
1904
  # @option params [String] :next_token
@@ -1438,33 +1999,104 @@ module Aws::Athena
1438
1999
  # @option params [Integer] :max_results
1439
2000
  # The maximum number of engine versions to return in this request.
1440
2001
  #
1441
- # @return [Types::ListEngineVersionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2002
+ # @return [Types::ListEngineVersionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2003
+ #
2004
+ # * {Types::ListEngineVersionsOutput#engine_versions #engine_versions} => Array<Types::EngineVersion>
2005
+ # * {Types::ListEngineVersionsOutput#next_token #next_token} => String
2006
+ #
2007
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2008
+ #
2009
+ # @example Request syntax with placeholder values
2010
+ #
2011
+ # resp = client.list_engine_versions({
2012
+ # next_token: "Token",
2013
+ # max_results: 1,
2014
+ # })
2015
+ #
2016
+ # @example Response structure
2017
+ #
2018
+ # resp.engine_versions #=> Array
2019
+ # resp.engine_versions[0].selected_engine_version #=> String
2020
+ # resp.engine_versions[0].effective_engine_version #=> String
2021
+ # resp.next_token #=> String
2022
+ #
2023
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListEngineVersions AWS API Documentation
2024
+ #
2025
+ # @overload list_engine_versions(params = {})
2026
+ # @param [Hash] params ({})
2027
+ def list_engine_versions(params = {}, options = {})
2028
+ req = build_request(:list_engine_versions, params)
2029
+ req.send_request(options)
2030
+ end
2031
+
2032
+ # Lists, in descending order, the executors that have been submitted to
2033
+ # a session. Newer executors are listed first; older executors are
2034
+ # listed later. The result can be optionally filtered by state.
2035
+ #
2036
+ # @option params [required, String] :session_id
2037
+ # The session ID.
2038
+ #
2039
+ # @option params [String] :executor_state_filter
2040
+ # A filter for a specific executor state. A description of each state
2041
+ # follows.
2042
+ #
2043
+ # `CREATING` - The executor is being started, including acquiring
2044
+ # resources.
2045
+ #
2046
+ # `CREATED` - The executor has been started.
2047
+ #
2048
+ # `REGISTERED` - The executor has been registered.
2049
+ #
2050
+ # `TERMINATING` - The executor is in the process of shutting down.
2051
+ #
2052
+ # `TERMINATED` - The executor is no longer running.
2053
+ #
2054
+ # `FAILED` - Due to a failure, the executor is no longer running.
2055
+ #
2056
+ # @option params [Integer] :max_results
2057
+ # The maximum number of executors to return.
2058
+ #
2059
+ # @option params [String] :next_token
2060
+ # A token generated by the Athena service that specifies where to
2061
+ # continue pagination if a previous request was truncated. To obtain the
2062
+ # next set of pages, pass in the `NextToken` from the response object of
2063
+ # the previous page call.
2064
+ #
2065
+ # @return [Types::ListExecutorsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1442
2066
  #
1443
- # * {Types::ListEngineVersionsOutput#engine_versions #engine_versions} => Array<Types::EngineVersion>
1444
- # * {Types::ListEngineVersionsOutput#next_token #next_token} => String
2067
+ # * {Types::ListExecutorsResponse#session_id #session_id} => String
2068
+ # * {Types::ListExecutorsResponse#next_token #next_token} => String
2069
+ # * {Types::ListExecutorsResponse#executors_summary #executors_summary} => Array<Types::ExecutorsSummary>
1445
2070
  #
1446
2071
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1447
2072
  #
1448
2073
  # @example Request syntax with placeholder values
1449
2074
  #
1450
- # resp = client.list_engine_versions({
1451
- # next_token: "Token",
2075
+ # resp = client.list_executors({
2076
+ # session_id: "SessionId", # required
2077
+ # executor_state_filter: "CREATING", # accepts CREATING, CREATED, REGISTERED, TERMINATING, TERMINATED, FAILED
1452
2078
  # max_results: 1,
2079
+ # next_token: "SessionManagerToken",
1453
2080
  # })
1454
2081
  #
1455
2082
  # @example Response structure
1456
2083
  #
1457
- # resp.engine_versions #=> Array
1458
- # resp.engine_versions[0].selected_engine_version #=> String
1459
- # resp.engine_versions[0].effective_engine_version #=> String
2084
+ # resp.session_id #=> String
1460
2085
  # resp.next_token #=> String
2086
+ # resp.executors_summary #=> Array
2087
+ # resp.executors_summary[0].executor_id #=> String
2088
+ # resp.executors_summary[0].executor_type #=> String, one of "COORDINATOR", "GATEWAY", "WORKER"
2089
+ # resp.executors_summary[0].start_date_time #=> Integer
2090
+ # resp.executors_summary[0].termination_date_time #=> Integer
2091
+ # resp.executors_summary[0].executor_state #=> String, one of "CREATING", "CREATED", "REGISTERED", "TERMINATING", "TERMINATED", "FAILED"
2092
+ # resp.executors_summary[0].executor_size #=> Integer
1461
2093
  #
1462
- # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListEngineVersions AWS API Documentation
2094
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListExecutors AWS API Documentation
1463
2095
  #
1464
- # @overload list_engine_versions(params = {})
2096
+ # @overload list_executors(params = {})
1465
2097
  # @param [Hash] params ({})
1466
- def list_engine_versions(params = {}, options = {})
1467
- req = build_request(:list_engine_versions, params)
2098
+ def list_executors(params = {}, options = {})
2099
+ req = build_request(:list_executors, params)
1468
2100
  req.send_request(options)
1469
2101
  end
1470
2102
 
@@ -1524,6 +2156,105 @@ module Aws::Athena
1524
2156
  req.send_request(options)
1525
2157
  end
1526
2158
 
2159
+ # Displays the notebook files for the specified workgroup in paginated
2160
+ # format.
2161
+ #
2162
+ # @option params [Types::FilterDefinition] :filters
2163
+ # Search filter string.
2164
+ #
2165
+ # @option params [String] :next_token
2166
+ # A token generated by the Athena service that specifies where to
2167
+ # continue pagination if a previous request was truncated.
2168
+ #
2169
+ # @option params [Integer] :max_results
2170
+ # Specifies the maximum number of results to return.
2171
+ #
2172
+ # @option params [required, String] :work_group
2173
+ # The name of the Spark enabled workgroup to retrieve notebook metadata
2174
+ # for.
2175
+ #
2176
+ # @return [Types::ListNotebookMetadataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2177
+ #
2178
+ # * {Types::ListNotebookMetadataOutput#next_token #next_token} => String
2179
+ # * {Types::ListNotebookMetadataOutput#notebook_metadata_list #notebook_metadata_list} => Array<Types::NotebookMetadata>
2180
+ #
2181
+ # @example Request syntax with placeholder values
2182
+ #
2183
+ # resp = client.list_notebook_metadata({
2184
+ # filters: {
2185
+ # name: "NotebookName",
2186
+ # },
2187
+ # next_token: "Token",
2188
+ # max_results: 1,
2189
+ # work_group: "WorkGroupName", # required
2190
+ # })
2191
+ #
2192
+ # @example Response structure
2193
+ #
2194
+ # resp.next_token #=> String
2195
+ # resp.notebook_metadata_list #=> Array
2196
+ # resp.notebook_metadata_list[0].notebook_id #=> String
2197
+ # resp.notebook_metadata_list[0].name #=> String
2198
+ # resp.notebook_metadata_list[0].work_group #=> String
2199
+ # resp.notebook_metadata_list[0].creation_time #=> Time
2200
+ # resp.notebook_metadata_list[0].type #=> String, one of "IPYNB"
2201
+ # resp.notebook_metadata_list[0].last_modified_time #=> Time
2202
+ #
2203
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListNotebookMetadata AWS API Documentation
2204
+ #
2205
+ # @overload list_notebook_metadata(params = {})
2206
+ # @param [Hash] params ({})
2207
+ def list_notebook_metadata(params = {}, options = {})
2208
+ req = build_request(:list_notebook_metadata, params)
2209
+ req.send_request(options)
2210
+ end
2211
+
2212
+ # Lists, in descending order, the sessions that have been created in a
2213
+ # notebook that are in an active state like `CREATING`, `CREATED`,
2214
+ # `IDLE` or `BUSY`. Newer sessions are listed first; older sessions are
2215
+ # listed later.
2216
+ #
2217
+ # @option params [required, String] :notebook_id
2218
+ # The ID of the notebook to list sessions for.
2219
+ #
2220
+ # @option params [Integer] :max_results
2221
+ # The maximum number of notebook sessions to return.
2222
+ #
2223
+ # @option params [String] :next_token
2224
+ # A token generated by the Athena service that specifies where to
2225
+ # continue pagination if a previous request was truncated. To obtain the
2226
+ # next set of pages, pass in the `NextToken` from the response object of
2227
+ # the previous page call.
2228
+ #
2229
+ # @return [Types::ListNotebookSessionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2230
+ #
2231
+ # * {Types::ListNotebookSessionsResponse#notebook_sessions_list #notebook_sessions_list} => Array<Types::NotebookSessionSummary>
2232
+ # * {Types::ListNotebookSessionsResponse#next_token #next_token} => String
2233
+ #
2234
+ # @example Request syntax with placeholder values
2235
+ #
2236
+ # resp = client.list_notebook_sessions({
2237
+ # notebook_id: "NotebookId", # required
2238
+ # max_results: 1,
2239
+ # next_token: "Token",
2240
+ # })
2241
+ #
2242
+ # @example Response structure
2243
+ #
2244
+ # resp.notebook_sessions_list #=> Array
2245
+ # resp.notebook_sessions_list[0].session_id #=> String
2246
+ # resp.notebook_sessions_list[0].creation_time #=> Time
2247
+ # resp.next_token #=> String
2248
+ #
2249
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListNotebookSessions AWS API Documentation
2250
+ #
2251
+ # @overload list_notebook_sessions(params = {})
2252
+ # @param [Hash] params ({})
2253
+ def list_notebook_sessions(params = {}, options = {})
2254
+ req = build_request(:list_notebook_sessions, params)
2255
+ req.send_request(options)
2256
+ end
2257
+
1527
2258
  # Lists the prepared statements in the specified workgroup.
1528
2259
  #
1529
2260
  # @option params [required, String] :work_group
@@ -1625,6 +2356,86 @@ module Aws::Athena
1625
2356
  req.send_request(options)
1626
2357
  end
1627
2358
 
2359
+ # Lists the sessions in a workgroup that are in an active state like
2360
+ # `CREATING`, `CREATED`, `IDLE`, or `BUSY`. Newer sessions are listed
2361
+ # first; older sessions are listed later.
2362
+ #
2363
+ # @option params [required, String] :work_group
2364
+ # The workgroup to which the session belongs.
2365
+ #
2366
+ # @option params [String] :state_filter
2367
+ # A filter for a specific session state. A description of each state
2368
+ # follows.
2369
+ #
2370
+ # `CREATING` - The session is being started, including acquiring
2371
+ # resources.
2372
+ #
2373
+ # `CREATED` - The session has been started.
2374
+ #
2375
+ # `IDLE` - The session is able to accept a calculation.
2376
+ #
2377
+ # `BUSY` - The session is processing another task and is unable to
2378
+ # accept a calculation.
2379
+ #
2380
+ # `TERMINATING` - The session is in the process of shutting down.
2381
+ #
2382
+ # `TERMINATED` - The session and its resources are no longer running.
2383
+ #
2384
+ # `DEGRADED` - The session has no healthy coordinators.
2385
+ #
2386
+ # `FAILED` - Due to a failure, the session and its resources are no
2387
+ # longer running.
2388
+ #
2389
+ # @option params [Integer] :max_results
2390
+ # The maximum number of sessions to return.
2391
+ #
2392
+ # @option params [String] :next_token
2393
+ # A token generated by the Athena service that specifies where to
2394
+ # continue pagination if a previous request was truncated. To obtain the
2395
+ # next set of pages, pass in the `NextToken` from the response object of
2396
+ # the previous page call.
2397
+ #
2398
+ # @return [Types::ListSessionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2399
+ #
2400
+ # * {Types::ListSessionsResponse#next_token #next_token} => String
2401
+ # * {Types::ListSessionsResponse#sessions #sessions} => Array<Types::SessionSummary>
2402
+ #
2403
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2404
+ #
2405
+ # @example Request syntax with placeholder values
2406
+ #
2407
+ # resp = client.list_sessions({
2408
+ # work_group: "WorkGroupName", # required
2409
+ # state_filter: "CREATING", # accepts CREATING, CREATED, IDLE, BUSY, TERMINATING, TERMINATED, DEGRADED, FAILED
2410
+ # max_results: 1,
2411
+ # next_token: "SessionManagerToken",
2412
+ # })
2413
+ #
2414
+ # @example Response structure
2415
+ #
2416
+ # resp.next_token #=> String
2417
+ # resp.sessions #=> Array
2418
+ # resp.sessions[0].session_id #=> String
2419
+ # resp.sessions[0].description #=> String
2420
+ # resp.sessions[0].engine_version.selected_engine_version #=> String
2421
+ # resp.sessions[0].engine_version.effective_engine_version #=> String
2422
+ # resp.sessions[0].notebook_version #=> String
2423
+ # resp.sessions[0].status.start_date_time #=> Time
2424
+ # resp.sessions[0].status.last_modified_date_time #=> Time
2425
+ # resp.sessions[0].status.end_date_time #=> Time
2426
+ # resp.sessions[0].status.idle_since_date_time #=> Time
2427
+ # resp.sessions[0].status.state #=> String, one of "CREATING", "CREATED", "IDLE", "BUSY", "TERMINATING", "TERMINATED", "DEGRADED", "FAILED"
2428
+ # resp.sessions[0].status.state_change_reason #=> String
2429
+ #
2430
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListSessions AWS API Documentation
2431
+ #
2432
+ # @overload list_sessions(params = {})
2433
+ # @param [Hash] params ({})
2434
+ def list_sessions(params = {}, options = {})
2435
+ req = build_request(:list_sessions, params)
2436
+ req.send_request(options)
2437
+ end
2438
+
1628
2439
  # Lists the metadata for the tables in the specified data catalog
1629
2440
  # database.
1630
2441
  #
@@ -1784,6 +2595,66 @@ module Aws::Athena
1784
2595
  req.send_request(options)
1785
2596
  end
1786
2597
 
2598
+ # Submits calculations for execution within a session. You can supply
2599
+ # the code to run as an inline code block within the request or as an
2600
+ # Amazon S3 URL.
2601
+ #
2602
+ # @option params [required, String] :session_id
2603
+ # The session ID.
2604
+ #
2605
+ # @option params [String] :description
2606
+ # A description of the calculation.
2607
+ #
2608
+ # @option params [Types::CalculationConfiguration] :calculation_configuration
2609
+ # Contains configuration information for the calculation.
2610
+ #
2611
+ # @option params [String] :code_block
2612
+ # A string that contains the code of the calculation.
2613
+ #
2614
+ # @option params [String] :client_request_token
2615
+ # A unique case-sensitive string used to ensure the request to create
2616
+ # the calculation is idempotent (executes only once). If another
2617
+ # `StartCalculationExecutionRequest` is received, the same response is
2618
+ # returned and another calculation is not created. If a parameter has
2619
+ # changed, an error is returned.
2620
+ #
2621
+ # This token is listed as not required because Amazon Web Services SDKs
2622
+ # (for example the Amazon Web Services SDK for Java) auto-generate the
2623
+ # token for users. If you are not using the Amazon Web Services SDK or
2624
+ # the Amazon Web Services CLI, you must provide this token or the action
2625
+ # will fail.
2626
+ #
2627
+ # @return [Types::StartCalculationExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2628
+ #
2629
+ # * {Types::StartCalculationExecutionResponse#calculation_execution_id #calculation_execution_id} => String
2630
+ # * {Types::StartCalculationExecutionResponse#state #state} => String
2631
+ #
2632
+ # @example Request syntax with placeholder values
2633
+ #
2634
+ # resp = client.start_calculation_execution({
2635
+ # session_id: "SessionId", # required
2636
+ # description: "DescriptionString",
2637
+ # calculation_configuration: {
2638
+ # code_block: "CodeBlock",
2639
+ # },
2640
+ # code_block: "CodeBlock",
2641
+ # client_request_token: "IdempotencyToken",
2642
+ # })
2643
+ #
2644
+ # @example Response structure
2645
+ #
2646
+ # resp.calculation_execution_id #=> String
2647
+ # resp.state #=> String, one of "CREATING", "CREATED", "QUEUED", "RUNNING", "CANCELING", "CANCELED", "COMPLETED", "FAILED"
2648
+ #
2649
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StartCalculationExecution AWS API Documentation
2650
+ #
2651
+ # @overload start_calculation_execution(params = {})
2652
+ # @param [Hash] params ({})
2653
+ def start_calculation_execution(params = {}, options = {})
2654
+ req = build_request(:start_calculation_execution, params)
2655
+ req.send_request(options)
2656
+ end
2657
+
1787
2658
  # Runs the SQL query statements contained in the `Query`. Requires you
1788
2659
  # to have access to the workgroup in which the query ran. Running
1789
2660
  # queries against an external catalog requires GetDataCatalog permission
@@ -1834,6 +2705,9 @@ module Aws::Athena
1834
2705
  # sequentially to the parameters in the query in the order in which the
1835
2706
  # parameters occur.
1836
2707
  #
2708
+ # @option params [Types::ResultReuseConfiguration] :result_reuse_configuration
2709
+ # Specifies the query result reuse behavior for the query.
2710
+ #
1837
2711
  # @return [Types::StartQueryExecutionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1838
2712
  #
1839
2713
  # * {Types::StartQueryExecutionOutput#query_execution_id #query_execution_id} => String
@@ -1860,6 +2734,12 @@ module Aws::Athena
1860
2734
  # },
1861
2735
  # work_group: "WorkGroupName",
1862
2736
  # execution_parameters: ["ExecutionParameter"],
2737
+ # result_reuse_configuration: {
2738
+ # result_reuse_by_age_configuration: {
2739
+ # enabled: false, # required
2740
+ # max_age_in_minutes: 1,
2741
+ # },
2742
+ # },
1863
2743
  # })
1864
2744
  #
1865
2745
  # @example Response structure
@@ -1875,6 +2755,116 @@ module Aws::Athena
1875
2755
  req.send_request(options)
1876
2756
  end
1877
2757
 
2758
+ # Creates a session for running calculations within a workgroup. The
2759
+ # session is ready when it reaches an `IDLE` state.
2760
+ #
2761
+ # @option params [String] :description
2762
+ # The session description.
2763
+ #
2764
+ # @option params [required, String] :work_group
2765
+ # The workgroup to which the session belongs.
2766
+ #
2767
+ # @option params [required, Types::EngineConfiguration] :engine_configuration
2768
+ # Contains engine data processing unit (DPU) configuration settings and
2769
+ # parameter mappings.
2770
+ #
2771
+ # @option params [String] :notebook_version
2772
+ # The notebook version. This value is required only when requesting that
2773
+ # a notebook server be started for the session. The only valid notebook
2774
+ # version is `Jupyter1.0`.
2775
+ #
2776
+ # @option params [Integer] :session_idle_timeout_in_minutes
2777
+ # The idle timeout in minutes for the session.
2778
+ #
2779
+ # @option params [String] :client_request_token
2780
+ # A unique case-sensitive string used to ensure the request to create
2781
+ # the session is idempotent (executes only once). If another
2782
+ # `StartSessionRequest` is received, the same response is returned and
2783
+ # another session is not created. If a parameter has changed, an error
2784
+ # is returned.
2785
+ #
2786
+ # This token is listed as not required because Amazon Web Services SDKs
2787
+ # (for example the Amazon Web Services SDK for Java) auto-generate the
2788
+ # token for users. If you are not using the Amazon Web Services SDK or
2789
+ # the Amazon Web Services CLI, you must provide this token or the action
2790
+ # will fail.
2791
+ #
2792
+ # @return [Types::StartSessionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2793
+ #
2794
+ # * {Types::StartSessionResponse#session_id #session_id} => String
2795
+ # * {Types::StartSessionResponse#state #state} => String
2796
+ #
2797
+ # @example Request syntax with placeholder values
2798
+ #
2799
+ # resp = client.start_session({
2800
+ # description: "DescriptionString",
2801
+ # work_group: "WorkGroupName", # required
2802
+ # engine_configuration: { # required
2803
+ # coordinator_dpu_size: 1,
2804
+ # max_concurrent_dpus: 1, # required
2805
+ # default_executor_dpu_size: 1,
2806
+ # additional_configs: {
2807
+ # "KeyString" => "ParametersMapValue",
2808
+ # },
2809
+ # },
2810
+ # notebook_version: "NameString",
2811
+ # session_idle_timeout_in_minutes: 1,
2812
+ # client_request_token: "IdempotencyToken",
2813
+ # })
2814
+ #
2815
+ # @example Response structure
2816
+ #
2817
+ # resp.session_id #=> String
2818
+ # resp.state #=> String, one of "CREATING", "CREATED", "IDLE", "BUSY", "TERMINATING", "TERMINATED", "DEGRADED", "FAILED"
2819
+ #
2820
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StartSession AWS API Documentation
2821
+ #
2822
+ # @overload start_session(params = {})
2823
+ # @param [Hash] params ({})
2824
+ def start_session(params = {}, options = {})
2825
+ req = build_request(:start_session, params)
2826
+ req.send_request(options)
2827
+ end
2828
+
2829
+ # Requests the cancellation of a calculation. A
2830
+ # `StopCalculationExecution` call on a calculation that is already in a
2831
+ # terminal state (for example, `STOPPED`, `FAILED`, or `COMPLETED`)
2832
+ # succeeds but has no effect.
2833
+ #
2834
+ # <note markdown="1"> Cancelling a calculation is done on a best effort basis. If a
2835
+ # calculation cannot be cancelled, you can be charged for its
2836
+ # completion. If you are concerned about being charged for a calculation
2837
+ # that cannot be cancelled, consider terminating the session in which
2838
+ # the calculation is running.
2839
+ #
2840
+ # </note>
2841
+ #
2842
+ # @option params [required, String] :calculation_execution_id
2843
+ # The calculation execution UUID.
2844
+ #
2845
+ # @return [Types::StopCalculationExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2846
+ #
2847
+ # * {Types::StopCalculationExecutionResponse#state #state} => String
2848
+ #
2849
+ # @example Request syntax with placeholder values
2850
+ #
2851
+ # resp = client.stop_calculation_execution({
2852
+ # calculation_execution_id: "CalculationExecutionId", # required
2853
+ # })
2854
+ #
2855
+ # @example Response structure
2856
+ #
2857
+ # resp.state #=> String, one of "CREATING", "CREATED", "QUEUED", "RUNNING", "CANCELING", "CANCELED", "COMPLETED", "FAILED"
2858
+ #
2859
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StopCalculationExecution AWS API Documentation
2860
+ #
2861
+ # @overload stop_calculation_execution(params = {})
2862
+ # @param [Hash] params ({})
2863
+ def stop_calculation_execution(params = {}, options = {})
2864
+ req = build_request(:stop_calculation_execution, params)
2865
+ req.send_request(options)
2866
+ end
2867
+
1878
2868
  # Stops a query execution. Requires you to have access to the workgroup
1879
2869
  # in which the query ran.
1880
2870
  #
@@ -1957,6 +2947,38 @@ module Aws::Athena
1957
2947
  req.send_request(options)
1958
2948
  end
1959
2949
 
2950
+ # Terminates an active session. A `TerminateSession` call on a session
2951
+ # that is already inactive (for example, in a `FAILED`, `TERMINATED` or
2952
+ # `TERMINATING` state) succeeds but has no effect. Calculations running
2953
+ # in the session when `TerminateSession` is called are forcefully
2954
+ # stopped, but may display as `FAILED` instead of `STOPPED`.
2955
+ #
2956
+ # @option params [required, String] :session_id
2957
+ # The session ID.
2958
+ #
2959
+ # @return [Types::TerminateSessionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2960
+ #
2961
+ # * {Types::TerminateSessionResponse#state #state} => String
2962
+ #
2963
+ # @example Request syntax with placeholder values
2964
+ #
2965
+ # resp = client.terminate_session({
2966
+ # session_id: "SessionId", # required
2967
+ # })
2968
+ #
2969
+ # @example Response structure
2970
+ #
2971
+ # resp.state #=> String, one of "CREATING", "CREATED", "IDLE", "BUSY", "TERMINATING", "TERMINATED", "DEGRADED", "FAILED"
2972
+ #
2973
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/TerminateSession AWS API Documentation
2974
+ #
2975
+ # @overload terminate_session(params = {})
2976
+ # @param [Hash] params ({})
2977
+ def terminate_session(params = {}, options = {})
2978
+ req = build_request(:terminate_session, params)
2979
+ req.send_request(options)
2980
+ end
2981
+
1960
2982
  # Removes one or more tags from a data catalog or workgroup resource.
1961
2983
  #
1962
2984
  # @option params [required, String] :resource_arn
@@ -2085,6 +3107,88 @@ module Aws::Athena
2085
3107
  req.send_request(options)
2086
3108
  end
2087
3109
 
3110
+ # Updates the contents of a Spark notebook.
3111
+ #
3112
+ # @option params [required, String] :notebook_id
3113
+ # The ID of the notebook to update.
3114
+ #
3115
+ # @option params [String] :payload
3116
+ # The updated content for the notebook.
3117
+ #
3118
+ # @option params [String] :type
3119
+ # The notebook content type. Currently, the only valid type is `IPYNB`.
3120
+ #
3121
+ # @option params [String] :session_id
3122
+ # The ID of the session in which the notebook will be updated.
3123
+ #
3124
+ # @option params [String] :client_request_token
3125
+ # A unique case-sensitive string used to ensure the request to create
3126
+ # the notebook is idempotent (executes only once).
3127
+ #
3128
+ # This token is listed as not required because Amazon Web Services SDKs
3129
+ # (for example the Amazon Web Services SDK for Java) auto-generate the
3130
+ # token for you. If you are not using the Amazon Web Services SDK or the
3131
+ # Amazon Web Services CLI, you must provide this token or the action
3132
+ # will fail.
3133
+ #
3134
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3135
+ #
3136
+ # @example Request syntax with placeholder values
3137
+ #
3138
+ # resp = client.update_notebook({
3139
+ # notebook_id: "NotebookId", # required
3140
+ # payload: "Payload",
3141
+ # type: "IPYNB", # accepts IPYNB
3142
+ # session_id: "SessionId",
3143
+ # client_request_token: "ClientRequestToken",
3144
+ # })
3145
+ #
3146
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateNotebook AWS API Documentation
3147
+ #
3148
+ # @overload update_notebook(params = {})
3149
+ # @param [Hash] params ({})
3150
+ def update_notebook(params = {}, options = {})
3151
+ req = build_request(:update_notebook, params)
3152
+ req.send_request(options)
3153
+ end
3154
+
3155
+ # Updates the metadata for a notebook.
3156
+ #
3157
+ # @option params [required, String] :notebook_id
3158
+ # The ID of the notebook to update the metadata for.
3159
+ #
3160
+ # @option params [String] :client_request_token
3161
+ # A unique case-sensitive string used to ensure the request to create
3162
+ # the notebook is idempotent (executes only once).
3163
+ #
3164
+ # This token is listed as not required because Amazon Web Services SDKs
3165
+ # (for example the Amazon Web Services SDK for Java) auto-generate the
3166
+ # token for you. If you are not using the Amazon Web Services SDK or the
3167
+ # Amazon Web Services CLI, you must provide this token or the action
3168
+ # will fail.
3169
+ #
3170
+ # @option params [required, String] :name
3171
+ # The name to update the notebook to.
3172
+ #
3173
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3174
+ #
3175
+ # @example Request syntax with placeholder values
3176
+ #
3177
+ # resp = client.update_notebook_metadata({
3178
+ # notebook_id: "NotebookId", # required
3179
+ # client_request_token: "ClientRequestToken",
3180
+ # name: "NotebookName", # required
3181
+ # })
3182
+ #
3183
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateNotebookMetadata AWS API Documentation
3184
+ #
3185
+ # @overload update_notebook_metadata(params = {})
3186
+ # @param [Hash] params ({})
3187
+ def update_notebook_metadata(params = {}, options = {})
3188
+ req = build_request(:update_notebook_metadata, params)
3189
+ req.send_request(options)
3190
+ end
3191
+
2088
3192
  # Updates a prepared statement.
2089
3193
  #
2090
3194
  # @option params [required, String] :statement_name
@@ -2120,7 +3224,11 @@ module Aws::Athena
2120
3224
  end
2121
3225
 
2122
3226
  # Updates the workgroup with the specified name. The workgroup's name
2123
- # cannot be changed.
3227
+ # cannot be changed. Only one of `ConfigurationsUpdates` or
3228
+ # `ConfigurationUpdates` can be specified; `ConfigurationsUpdates` for a
3229
+ # workgroup with multi engine support (for example, an Apache Spark
3230
+ # enabled workgroup) or `ConfigurationUpdates` for an Athena SQL
3231
+ # workgroup.
2124
3232
  #
2125
3233
  # @option params [required, String] :work_group
2126
3234
  # The specified workgroup that will be updated.
@@ -2129,8 +3237,7 @@ module Aws::Athena
2129
3237
  # The workgroup description.
2130
3238
  #
2131
3239
  # @option params [Types::WorkGroupConfigurationUpdates] :configuration_updates
2132
- # The workgroup configuration that will be updated for the given
2133
- # workgroup.
3240
+ # Contains configuration updates for an Athena SQL workgroup.
2134
3241
  #
2135
3242
  # @option params [String] :state
2136
3243
  # The workgroup state that will be updated for the given workgroup.
@@ -2167,6 +3274,12 @@ module Aws::Athena
2167
3274
  # selected_engine_version: "NameString",
2168
3275
  # effective_engine_version: "NameString",
2169
3276
  # },
3277
+ # remove_customer_content_encryption_configuration: false,
3278
+ # additional_configuration: "NameString",
3279
+ # execution_role: "RoleArn",
3280
+ # customer_content_encryption_configuration: {
3281
+ # kms_key: "KmsKey", # required
3282
+ # },
2170
3283
  # },
2171
3284
  # state: "ENABLED", # accepts ENABLED, DISABLED
2172
3285
  # })
@@ -2193,7 +3306,7 @@ module Aws::Athena
2193
3306
  params: params,
2194
3307
  config: config)
2195
3308
  context[:gem_name] = 'aws-sdk-athena'
2196
- context[:gem_version] = '1.57.0'
3309
+ context[:gem_version] = '1.59.0'
2197
3310
  Seahorse::Client::Request.new(handlers, context)
2198
3311
  end
2199
3312