aws-sdk-athena 1.58.0 → 1.60.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -709,6 +709,53 @@ module Aws::Athena
709
709
  req.send_request(options)
710
710
  end
711
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
+
712
759
  # Creates a prepared statement for use with SQL queries in Athena.
713
760
  #
714
761
  # @option params [required, String] :statement_name
@@ -743,20 +790,58 @@ module Aws::Athena
743
790
  req.send_request(options)
744
791
  end
745
792
 
746
- # 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.
747
832
  #
748
833
  # @option params [required, String] :name
749
834
  # The workgroup name.
750
835
  #
751
836
  # @option params [Types::WorkGroupConfiguration] :configuration
752
- # The configuration for the workgroup, which includes the location in
753
- # Amazon S3 where query results are stored, the encryption
754
- # configuration, if any, used for encrypting query results, whether the
755
- # Amazon CloudWatch Metrics are enabled for the workgroup, the limit for
756
- # the amount of bytes scanned (cutoff) per query, if it is specified,
757
- # and whether workgroup's settings (specified with
758
- # `EnforceWorkGroupConfiguration`) in the `WorkGroupConfiguration`
759
- # 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
760
845
  # WorkGroupConfiguration$EnforceWorkGroupConfiguration.
761
846
  #
762
847
  # @option params [String] :description
@@ -792,6 +877,11 @@ module Aws::Athena
792
877
  # selected_engine_version: "NameString",
793
878
  # effective_engine_version: "NameString",
794
879
  # },
880
+ # additional_configuration: "NameString",
881
+ # execution_role: "RoleArn",
882
+ # customer_content_encryption_configuration: {
883
+ # kms_key: "KmsKey", # required
884
+ # },
795
885
  # },
796
886
  # description: "WorkGroupDescriptionString",
797
887
  # tags: [
@@ -866,6 +956,28 @@ module Aws::Athena
866
956
  req.send_request(options)
867
957
  end
868
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
+
869
981
  # Deletes the prepared statement with the specified name from the
870
982
  # specified workgroup.
871
983
  #
@@ -921,6 +1033,151 @@ module Aws::Athena
921
1033
  req.send_request(options)
922
1034
  end
923
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
+
924
1181
  # Returns the specified data catalog.
925
1182
  #
926
1183
  # @option params [required, String] :name
@@ -1022,6 +1279,39 @@ module Aws::Athena
1022
1279
  req.send_request(options)
1023
1280
  end
1024
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
+
1025
1315
  # Retrieves the prepared statement with the specified name from the
1026
1316
  # specified workgroup.
1027
1317
  #
@@ -1200,8 +1490,11 @@ module Aws::Athena
1200
1490
 
1201
1491
  # Returns query execution runtime statistics related to a single
1202
1492
  # execution of a query if you have access to the workgroup in which the
1203
- # query ran. The query execution runtime statistics is returned only
1204
- # when QueryExecutionStatus$State is in a SUCCEEDED or FAILED state.
1493
+ # query ran. Query execution runtime statistics are returned only when
1494
+ # QueryExecutionStatus$State is in a SUCCEEDED or FAILED state.
1495
+ # Stage-level input and output row count and data size statistics are
1496
+ # not shown when a query has row-level filters defined in Lake
1497
+ # Formation.
1205
1498
  #
1206
1499
  # @option params [required, String] :query_execution_id
1207
1500
  # The unique ID of the query execution.
@@ -1252,6 +1545,99 @@ module Aws::Athena
1252
1545
  req.send_request(options)
1253
1546
  end
1254
1547
 
1548
+ # Gets the full details of a previously created session, including the
1549
+ # session status and configuration.
1550
+ #
1551
+ # @option params [required, String] :session_id
1552
+ # The session ID.
1553
+ #
1554
+ # @return [Types::GetSessionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1555
+ #
1556
+ # * {Types::GetSessionResponse#session_id #session_id} => String
1557
+ # * {Types::GetSessionResponse#description #description} => String
1558
+ # * {Types::GetSessionResponse#work_group #work_group} => String
1559
+ # * {Types::GetSessionResponse#engine_version #engine_version} => String
1560
+ # * {Types::GetSessionResponse#engine_configuration #engine_configuration} => Types::EngineConfiguration
1561
+ # * {Types::GetSessionResponse#notebook_version #notebook_version} => String
1562
+ # * {Types::GetSessionResponse#session_configuration #session_configuration} => Types::SessionConfiguration
1563
+ # * {Types::GetSessionResponse#status #status} => Types::SessionStatus
1564
+ # * {Types::GetSessionResponse#statistics #statistics} => Types::SessionStatistics
1565
+ #
1566
+ # @example Request syntax with placeholder values
1567
+ #
1568
+ # resp = client.get_session({
1569
+ # session_id: "SessionId", # required
1570
+ # })
1571
+ #
1572
+ # @example Response structure
1573
+ #
1574
+ # resp.session_id #=> String
1575
+ # resp.description #=> String
1576
+ # resp.work_group #=> String
1577
+ # resp.engine_version #=> String
1578
+ # resp.engine_configuration.coordinator_dpu_size #=> Integer
1579
+ # resp.engine_configuration.max_concurrent_dpus #=> Integer
1580
+ # resp.engine_configuration.default_executor_dpu_size #=> Integer
1581
+ # resp.engine_configuration.additional_configs #=> Hash
1582
+ # resp.engine_configuration.additional_configs["KeyString"] #=> String
1583
+ # resp.notebook_version #=> String
1584
+ # resp.session_configuration.execution_role #=> String
1585
+ # resp.session_configuration.working_directory #=> String
1586
+ # resp.session_configuration.idle_timeout_seconds #=> Integer
1587
+ # resp.session_configuration.encryption_configuration.encryption_option #=> String, one of "SSE_S3", "SSE_KMS", "CSE_KMS"
1588
+ # resp.session_configuration.encryption_configuration.kms_key #=> String
1589
+ # resp.status.start_date_time #=> Time
1590
+ # resp.status.last_modified_date_time #=> Time
1591
+ # resp.status.end_date_time #=> Time
1592
+ # resp.status.idle_since_date_time #=> Time
1593
+ # resp.status.state #=> String, one of "CREATING", "CREATED", "IDLE", "BUSY", "TERMINATING", "TERMINATED", "DEGRADED", "FAILED"
1594
+ # resp.status.state_change_reason #=> String
1595
+ # resp.statistics.dpu_execution_in_millis #=> Integer
1596
+ #
1597
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetSession AWS API Documentation
1598
+ #
1599
+ # @overload get_session(params = {})
1600
+ # @param [Hash] params ({})
1601
+ def get_session(params = {}, options = {})
1602
+ req = build_request(:get_session, params)
1603
+ req.send_request(options)
1604
+ end
1605
+
1606
+ # Gets the current status of a session.
1607
+ #
1608
+ # @option params [required, String] :session_id
1609
+ # The session ID.
1610
+ #
1611
+ # @return [Types::GetSessionStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1612
+ #
1613
+ # * {Types::GetSessionStatusResponse#session_id #session_id} => String
1614
+ # * {Types::GetSessionStatusResponse#status #status} => Types::SessionStatus
1615
+ #
1616
+ # @example Request syntax with placeholder values
1617
+ #
1618
+ # resp = client.get_session_status({
1619
+ # session_id: "SessionId", # required
1620
+ # })
1621
+ #
1622
+ # @example Response structure
1623
+ #
1624
+ # resp.session_id #=> String
1625
+ # resp.status.start_date_time #=> Time
1626
+ # resp.status.last_modified_date_time #=> Time
1627
+ # resp.status.end_date_time #=> Time
1628
+ # resp.status.idle_since_date_time #=> Time
1629
+ # resp.status.state #=> String, one of "CREATING", "CREATED", "IDLE", "BUSY", "TERMINATING", "TERMINATED", "DEGRADED", "FAILED"
1630
+ # resp.status.state_change_reason #=> String
1631
+ #
1632
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetSessionStatus AWS API Documentation
1633
+ #
1634
+ # @overload get_session_status(params = {})
1635
+ # @param [Hash] params ({})
1636
+ def get_session_status(params = {}, options = {})
1637
+ req = build_request(:get_session_status, params)
1638
+ req.send_request(options)
1639
+ end
1640
+
1255
1641
  # Returns table metadata for the specified catalog, database, and table.
1256
1642
  #
1257
1643
  # @option params [required, String] :catalog_name
@@ -1332,6 +1718,9 @@ module Aws::Athena
1332
1718
  # resp.work_group.configuration.requester_pays_enabled #=> Boolean
1333
1719
  # resp.work_group.configuration.engine_version.selected_engine_version #=> String
1334
1720
  # resp.work_group.configuration.engine_version.effective_engine_version #=> String
1721
+ # resp.work_group.configuration.additional_configuration #=> String
1722
+ # resp.work_group.configuration.execution_role #=> String
1723
+ # resp.work_group.configuration.customer_content_encryption_configuration.kms_key #=> String
1335
1724
  # resp.work_group.description #=> String
1336
1725
  # resp.work_group.creation_time #=> Time
1337
1726
  #
@@ -1344,6 +1733,175 @@ module Aws::Athena
1344
1733
  req.send_request(options)
1345
1734
  end
1346
1735
 
1736
+ # Imports a single `ipynb` file to a Spark enabled workgroup. The
1737
+ # maximum file size that can be imported is 10 megabytes. If an `ipynb`
1738
+ # file with the same name already exists in the workgroup, throws an
1739
+ # error.
1740
+ #
1741
+ # @option params [required, String] :work_group
1742
+ # The name of the Spark enabled workgroup to import the notebook to.
1743
+ #
1744
+ # @option params [required, String] :name
1745
+ # The name of the notebook to import.
1746
+ #
1747
+ # @option params [required, String] :payload
1748
+ # The notebook content to be imported.
1749
+ #
1750
+ # @option params [required, String] :type
1751
+ # The notebook content type. Currently, the only valid type is `IPYNB`.
1752
+ #
1753
+ # @option params [String] :client_request_token
1754
+ # A unique case-sensitive string used to ensure the request to import
1755
+ # the notebook is idempotent (executes only once).
1756
+ #
1757
+ # This token is listed as not required because Amazon Web Services SDKs
1758
+ # (for example the Amazon Web Services SDK for Java) auto-generate the
1759
+ # token for you. If you are not using the Amazon Web Services SDK or the
1760
+ # Amazon Web Services CLI, you must provide this token or the action
1761
+ # will fail.
1762
+ #
1763
+ # @return [Types::ImportNotebookOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1764
+ #
1765
+ # * {Types::ImportNotebookOutput#notebook_id #notebook_id} => String
1766
+ #
1767
+ # @example Request syntax with placeholder values
1768
+ #
1769
+ # resp = client.import_notebook({
1770
+ # work_group: "WorkGroupName", # required
1771
+ # name: "NotebookName", # required
1772
+ # payload: "Payload", # required
1773
+ # type: "IPYNB", # required, accepts IPYNB
1774
+ # client_request_token: "ClientRequestToken",
1775
+ # })
1776
+ #
1777
+ # @example Response structure
1778
+ #
1779
+ # resp.notebook_id #=> String
1780
+ #
1781
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ImportNotebook AWS API Documentation
1782
+ #
1783
+ # @overload import_notebook(params = {})
1784
+ # @param [Hash] params ({})
1785
+ def import_notebook(params = {}, options = {})
1786
+ req = build_request(:import_notebook, params)
1787
+ req.send_request(options)
1788
+ end
1789
+
1790
+ # Returns the supported DPU sizes for the supported application runtimes
1791
+ # (for example, `Jupyter 1.0`).
1792
+ #
1793
+ # @option params [Integer] :max_results
1794
+ # Specifies the maximum number of results to return.
1795
+ #
1796
+ # @option params [String] :next_token
1797
+ # A token generated by the Athena service that specifies where to
1798
+ # continue pagination if a previous request was truncated.
1799
+ #
1800
+ # @return [Types::ListApplicationDPUSizesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1801
+ #
1802
+ # * {Types::ListApplicationDPUSizesOutput#application_dpu_sizes #application_dpu_sizes} => Array<Types::ApplicationDPUSizes>
1803
+ # * {Types::ListApplicationDPUSizesOutput#next_token #next_token} => String
1804
+ #
1805
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1806
+ #
1807
+ # @example Request syntax with placeholder values
1808
+ #
1809
+ # resp = client.list_application_dpu_sizes({
1810
+ # max_results: 1,
1811
+ # next_token: "Token",
1812
+ # })
1813
+ #
1814
+ # @example Response structure
1815
+ #
1816
+ # resp.application_dpu_sizes #=> Array
1817
+ # resp.application_dpu_sizes[0].application_runtime_id #=> String
1818
+ # resp.application_dpu_sizes[0].supported_dpu_sizes #=> Array
1819
+ # resp.application_dpu_sizes[0].supported_dpu_sizes[0] #=> Integer
1820
+ # resp.next_token #=> String
1821
+ #
1822
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListApplicationDPUSizes AWS API Documentation
1823
+ #
1824
+ # @overload list_application_dpu_sizes(params = {})
1825
+ # @param [Hash] params ({})
1826
+ def list_application_dpu_sizes(params = {}, options = {})
1827
+ req = build_request(:list_application_dpu_sizes, params)
1828
+ req.send_request(options)
1829
+ end
1830
+
1831
+ # Lists the calculations that have been submitted to a session in
1832
+ # descending order. Newer calculations are listed first; older
1833
+ # calculations are listed later.
1834
+ #
1835
+ # @option params [required, String] :session_id
1836
+ # The session ID.
1837
+ #
1838
+ # @option params [String] :state_filter
1839
+ # A filter for a specific calculation execution state. A description of
1840
+ # each state follows.
1841
+ #
1842
+ # `CREATING` - The calculation is in the process of being created.
1843
+ #
1844
+ # `CREATED` - The calculation has been created and is ready to run.
1845
+ #
1846
+ # `QUEUED` - The calculation has been queued for processing.
1847
+ #
1848
+ # `RUNNING` - The calculation is running.
1849
+ #
1850
+ # `CANCELING` - A request to cancel the calculation has been received
1851
+ # and the system is working to stop it.
1852
+ #
1853
+ # `CANCELED` - The calculation is no longer running as the result of a
1854
+ # cancel request.
1855
+ #
1856
+ # `COMPLETED` - The calculation has completed without error.
1857
+ #
1858
+ # `FAILED` - The calculation failed and is no longer running.
1859
+ #
1860
+ # @option params [Integer] :max_results
1861
+ # The maximum number of calculation executions to return.
1862
+ #
1863
+ # @option params [String] :next_token
1864
+ # A token generated by the Athena service that specifies where to
1865
+ # continue pagination if a previous request was truncated. To obtain the
1866
+ # next set of pages, pass in the `NextToken` from the response object of
1867
+ # the previous page call.
1868
+ #
1869
+ # @return [Types::ListCalculationExecutionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1870
+ #
1871
+ # * {Types::ListCalculationExecutionsResponse#next_token #next_token} => String
1872
+ # * {Types::ListCalculationExecutionsResponse#calculations #calculations} => Array<Types::CalculationSummary>
1873
+ #
1874
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1875
+ #
1876
+ # @example Request syntax with placeholder values
1877
+ #
1878
+ # resp = client.list_calculation_executions({
1879
+ # session_id: "SessionId", # required
1880
+ # state_filter: "CREATING", # accepts CREATING, CREATED, QUEUED, RUNNING, CANCELING, CANCELED, COMPLETED, FAILED
1881
+ # max_results: 1,
1882
+ # next_token: "SessionManagerToken",
1883
+ # })
1884
+ #
1885
+ # @example Response structure
1886
+ #
1887
+ # resp.next_token #=> String
1888
+ # resp.calculations #=> Array
1889
+ # resp.calculations[0].calculation_execution_id #=> String
1890
+ # resp.calculations[0].description #=> String
1891
+ # resp.calculations[0].status.submission_date_time #=> Time
1892
+ # resp.calculations[0].status.completion_date_time #=> Time
1893
+ # resp.calculations[0].status.state #=> String, one of "CREATING", "CREATED", "QUEUED", "RUNNING", "CANCELING", "CANCELED", "COMPLETED", "FAILED"
1894
+ # resp.calculations[0].status.state_change_reason #=> String
1895
+ #
1896
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListCalculationExecutions AWS API Documentation
1897
+ #
1898
+ # @overload list_calculation_executions(params = {})
1899
+ # @param [Hash] params ({})
1900
+ def list_calculation_executions(params = {}, options = {})
1901
+ req = build_request(:list_calculation_executions, params)
1902
+ req.send_request(options)
1903
+ end
1904
+
1347
1905
  # Lists the data catalogs in the current Amazon Web Services account.
1348
1906
  #
1349
1907
  # @option params [String] :next_token
@@ -1444,33 +2002,104 @@ module Aws::Athena
1444
2002
  # @option params [Integer] :max_results
1445
2003
  # The maximum number of engine versions to return in this request.
1446
2004
  #
1447
- # @return [Types::ListEngineVersionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2005
+ # @return [Types::ListEngineVersionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2006
+ #
2007
+ # * {Types::ListEngineVersionsOutput#engine_versions #engine_versions} => Array<Types::EngineVersion>
2008
+ # * {Types::ListEngineVersionsOutput#next_token #next_token} => String
2009
+ #
2010
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2011
+ #
2012
+ # @example Request syntax with placeholder values
2013
+ #
2014
+ # resp = client.list_engine_versions({
2015
+ # next_token: "Token",
2016
+ # max_results: 1,
2017
+ # })
2018
+ #
2019
+ # @example Response structure
2020
+ #
2021
+ # resp.engine_versions #=> Array
2022
+ # resp.engine_versions[0].selected_engine_version #=> String
2023
+ # resp.engine_versions[0].effective_engine_version #=> String
2024
+ # resp.next_token #=> String
2025
+ #
2026
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListEngineVersions AWS API Documentation
2027
+ #
2028
+ # @overload list_engine_versions(params = {})
2029
+ # @param [Hash] params ({})
2030
+ def list_engine_versions(params = {}, options = {})
2031
+ req = build_request(:list_engine_versions, params)
2032
+ req.send_request(options)
2033
+ end
2034
+
2035
+ # Lists, in descending order, the executors that have been submitted to
2036
+ # a session. Newer executors are listed first; older executors are
2037
+ # listed later. The result can be optionally filtered by state.
2038
+ #
2039
+ # @option params [required, String] :session_id
2040
+ # The session ID.
2041
+ #
2042
+ # @option params [String] :executor_state_filter
2043
+ # A filter for a specific executor state. A description of each state
2044
+ # follows.
2045
+ #
2046
+ # `CREATING` - The executor is being started, including acquiring
2047
+ # resources.
2048
+ #
2049
+ # `CREATED` - The executor has been started.
2050
+ #
2051
+ # `REGISTERED` - The executor has been registered.
2052
+ #
2053
+ # `TERMINATING` - The executor is in the process of shutting down.
2054
+ #
2055
+ # `TERMINATED` - The executor is no longer running.
2056
+ #
2057
+ # `FAILED` - Due to a failure, the executor is no longer running.
2058
+ #
2059
+ # @option params [Integer] :max_results
2060
+ # The maximum number of executors to return.
2061
+ #
2062
+ # @option params [String] :next_token
2063
+ # A token generated by the Athena service that specifies where to
2064
+ # continue pagination if a previous request was truncated. To obtain the
2065
+ # next set of pages, pass in the `NextToken` from the response object of
2066
+ # the previous page call.
2067
+ #
2068
+ # @return [Types::ListExecutorsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1448
2069
  #
1449
- # * {Types::ListEngineVersionsOutput#engine_versions #engine_versions} => Array<Types::EngineVersion>
1450
- # * {Types::ListEngineVersionsOutput#next_token #next_token} => String
2070
+ # * {Types::ListExecutorsResponse#session_id #session_id} => String
2071
+ # * {Types::ListExecutorsResponse#next_token #next_token} => String
2072
+ # * {Types::ListExecutorsResponse#executors_summary #executors_summary} => Array<Types::ExecutorsSummary>
1451
2073
  #
1452
2074
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1453
2075
  #
1454
2076
  # @example Request syntax with placeholder values
1455
2077
  #
1456
- # resp = client.list_engine_versions({
1457
- # next_token: "Token",
2078
+ # resp = client.list_executors({
2079
+ # session_id: "SessionId", # required
2080
+ # executor_state_filter: "CREATING", # accepts CREATING, CREATED, REGISTERED, TERMINATING, TERMINATED, FAILED
1458
2081
  # max_results: 1,
2082
+ # next_token: "SessionManagerToken",
1459
2083
  # })
1460
2084
  #
1461
2085
  # @example Response structure
1462
2086
  #
1463
- # resp.engine_versions #=> Array
1464
- # resp.engine_versions[0].selected_engine_version #=> String
1465
- # resp.engine_versions[0].effective_engine_version #=> String
2087
+ # resp.session_id #=> String
1466
2088
  # resp.next_token #=> String
2089
+ # resp.executors_summary #=> Array
2090
+ # resp.executors_summary[0].executor_id #=> String
2091
+ # resp.executors_summary[0].executor_type #=> String, one of "COORDINATOR", "GATEWAY", "WORKER"
2092
+ # resp.executors_summary[0].start_date_time #=> Integer
2093
+ # resp.executors_summary[0].termination_date_time #=> Integer
2094
+ # resp.executors_summary[0].executor_state #=> String, one of "CREATING", "CREATED", "REGISTERED", "TERMINATING", "TERMINATED", "FAILED"
2095
+ # resp.executors_summary[0].executor_size #=> Integer
1467
2096
  #
1468
- # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListEngineVersions AWS API Documentation
2097
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListExecutors AWS API Documentation
1469
2098
  #
1470
- # @overload list_engine_versions(params = {})
2099
+ # @overload list_executors(params = {})
1471
2100
  # @param [Hash] params ({})
1472
- def list_engine_versions(params = {}, options = {})
1473
- req = build_request(:list_engine_versions, params)
2101
+ def list_executors(params = {}, options = {})
2102
+ req = build_request(:list_executors, params)
1474
2103
  req.send_request(options)
1475
2104
  end
1476
2105
 
@@ -1530,6 +2159,105 @@ module Aws::Athena
1530
2159
  req.send_request(options)
1531
2160
  end
1532
2161
 
2162
+ # Displays the notebook files for the specified workgroup in paginated
2163
+ # format.
2164
+ #
2165
+ # @option params [Types::FilterDefinition] :filters
2166
+ # Search filter string.
2167
+ #
2168
+ # @option params [String] :next_token
2169
+ # A token generated by the Athena service that specifies where to
2170
+ # continue pagination if a previous request was truncated.
2171
+ #
2172
+ # @option params [Integer] :max_results
2173
+ # Specifies the maximum number of results to return.
2174
+ #
2175
+ # @option params [required, String] :work_group
2176
+ # The name of the Spark enabled workgroup to retrieve notebook metadata
2177
+ # for.
2178
+ #
2179
+ # @return [Types::ListNotebookMetadataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2180
+ #
2181
+ # * {Types::ListNotebookMetadataOutput#next_token #next_token} => String
2182
+ # * {Types::ListNotebookMetadataOutput#notebook_metadata_list #notebook_metadata_list} => Array<Types::NotebookMetadata>
2183
+ #
2184
+ # @example Request syntax with placeholder values
2185
+ #
2186
+ # resp = client.list_notebook_metadata({
2187
+ # filters: {
2188
+ # name: "NotebookName",
2189
+ # },
2190
+ # next_token: "Token",
2191
+ # max_results: 1,
2192
+ # work_group: "WorkGroupName", # required
2193
+ # })
2194
+ #
2195
+ # @example Response structure
2196
+ #
2197
+ # resp.next_token #=> String
2198
+ # resp.notebook_metadata_list #=> Array
2199
+ # resp.notebook_metadata_list[0].notebook_id #=> String
2200
+ # resp.notebook_metadata_list[0].name #=> String
2201
+ # resp.notebook_metadata_list[0].work_group #=> String
2202
+ # resp.notebook_metadata_list[0].creation_time #=> Time
2203
+ # resp.notebook_metadata_list[0].type #=> String, one of "IPYNB"
2204
+ # resp.notebook_metadata_list[0].last_modified_time #=> Time
2205
+ #
2206
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListNotebookMetadata AWS API Documentation
2207
+ #
2208
+ # @overload list_notebook_metadata(params = {})
2209
+ # @param [Hash] params ({})
2210
+ def list_notebook_metadata(params = {}, options = {})
2211
+ req = build_request(:list_notebook_metadata, params)
2212
+ req.send_request(options)
2213
+ end
2214
+
2215
+ # Lists, in descending order, the sessions that have been created in a
2216
+ # notebook that are in an active state like `CREATING`, `CREATED`,
2217
+ # `IDLE` or `BUSY`. Newer sessions are listed first; older sessions are
2218
+ # listed later.
2219
+ #
2220
+ # @option params [required, String] :notebook_id
2221
+ # The ID of the notebook to list sessions for.
2222
+ #
2223
+ # @option params [Integer] :max_results
2224
+ # The maximum number of notebook sessions to return.
2225
+ #
2226
+ # @option params [String] :next_token
2227
+ # A token generated by the Athena service that specifies where to
2228
+ # continue pagination if a previous request was truncated. To obtain the
2229
+ # next set of pages, pass in the `NextToken` from the response object of
2230
+ # the previous page call.
2231
+ #
2232
+ # @return [Types::ListNotebookSessionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2233
+ #
2234
+ # * {Types::ListNotebookSessionsResponse#notebook_sessions_list #notebook_sessions_list} => Array<Types::NotebookSessionSummary>
2235
+ # * {Types::ListNotebookSessionsResponse#next_token #next_token} => String
2236
+ #
2237
+ # @example Request syntax with placeholder values
2238
+ #
2239
+ # resp = client.list_notebook_sessions({
2240
+ # notebook_id: "NotebookId", # required
2241
+ # max_results: 1,
2242
+ # next_token: "Token",
2243
+ # })
2244
+ #
2245
+ # @example Response structure
2246
+ #
2247
+ # resp.notebook_sessions_list #=> Array
2248
+ # resp.notebook_sessions_list[0].session_id #=> String
2249
+ # resp.notebook_sessions_list[0].creation_time #=> Time
2250
+ # resp.next_token #=> String
2251
+ #
2252
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListNotebookSessions AWS API Documentation
2253
+ #
2254
+ # @overload list_notebook_sessions(params = {})
2255
+ # @param [Hash] params ({})
2256
+ def list_notebook_sessions(params = {}, options = {})
2257
+ req = build_request(:list_notebook_sessions, params)
2258
+ req.send_request(options)
2259
+ end
2260
+
1533
2261
  # Lists the prepared statements in the specified workgroup.
1534
2262
  #
1535
2263
  # @option params [required, String] :work_group
@@ -1631,6 +2359,86 @@ module Aws::Athena
1631
2359
  req.send_request(options)
1632
2360
  end
1633
2361
 
2362
+ # Lists the sessions in a workgroup that are in an active state like
2363
+ # `CREATING`, `CREATED`, `IDLE`, or `BUSY`. Newer sessions are listed
2364
+ # first; older sessions are listed later.
2365
+ #
2366
+ # @option params [required, String] :work_group
2367
+ # The workgroup to which the session belongs.
2368
+ #
2369
+ # @option params [String] :state_filter
2370
+ # A filter for a specific session state. A description of each state
2371
+ # follows.
2372
+ #
2373
+ # `CREATING` - The session is being started, including acquiring
2374
+ # resources.
2375
+ #
2376
+ # `CREATED` - The session has been started.
2377
+ #
2378
+ # `IDLE` - The session is able to accept a calculation.
2379
+ #
2380
+ # `BUSY` - The session is processing another task and is unable to
2381
+ # accept a calculation.
2382
+ #
2383
+ # `TERMINATING` - The session is in the process of shutting down.
2384
+ #
2385
+ # `TERMINATED` - The session and its resources are no longer running.
2386
+ #
2387
+ # `DEGRADED` - The session has no healthy coordinators.
2388
+ #
2389
+ # `FAILED` - Due to a failure, the session and its resources are no
2390
+ # longer running.
2391
+ #
2392
+ # @option params [Integer] :max_results
2393
+ # The maximum number of sessions to return.
2394
+ #
2395
+ # @option params [String] :next_token
2396
+ # A token generated by the Athena service that specifies where to
2397
+ # continue pagination if a previous request was truncated. To obtain the
2398
+ # next set of pages, pass in the `NextToken` from the response object of
2399
+ # the previous page call.
2400
+ #
2401
+ # @return [Types::ListSessionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2402
+ #
2403
+ # * {Types::ListSessionsResponse#next_token #next_token} => String
2404
+ # * {Types::ListSessionsResponse#sessions #sessions} => Array<Types::SessionSummary>
2405
+ #
2406
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2407
+ #
2408
+ # @example Request syntax with placeholder values
2409
+ #
2410
+ # resp = client.list_sessions({
2411
+ # work_group: "WorkGroupName", # required
2412
+ # state_filter: "CREATING", # accepts CREATING, CREATED, IDLE, BUSY, TERMINATING, TERMINATED, DEGRADED, FAILED
2413
+ # max_results: 1,
2414
+ # next_token: "SessionManagerToken",
2415
+ # })
2416
+ #
2417
+ # @example Response structure
2418
+ #
2419
+ # resp.next_token #=> String
2420
+ # resp.sessions #=> Array
2421
+ # resp.sessions[0].session_id #=> String
2422
+ # resp.sessions[0].description #=> String
2423
+ # resp.sessions[0].engine_version.selected_engine_version #=> String
2424
+ # resp.sessions[0].engine_version.effective_engine_version #=> String
2425
+ # resp.sessions[0].notebook_version #=> String
2426
+ # resp.sessions[0].status.start_date_time #=> Time
2427
+ # resp.sessions[0].status.last_modified_date_time #=> Time
2428
+ # resp.sessions[0].status.end_date_time #=> Time
2429
+ # resp.sessions[0].status.idle_since_date_time #=> Time
2430
+ # resp.sessions[0].status.state #=> String, one of "CREATING", "CREATED", "IDLE", "BUSY", "TERMINATING", "TERMINATED", "DEGRADED", "FAILED"
2431
+ # resp.sessions[0].status.state_change_reason #=> String
2432
+ #
2433
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListSessions AWS API Documentation
2434
+ #
2435
+ # @overload list_sessions(params = {})
2436
+ # @param [Hash] params ({})
2437
+ def list_sessions(params = {}, options = {})
2438
+ req = build_request(:list_sessions, params)
2439
+ req.send_request(options)
2440
+ end
2441
+
1634
2442
  # Lists the metadata for the tables in the specified data catalog
1635
2443
  # database.
1636
2444
  #
@@ -1790,6 +2598,66 @@ module Aws::Athena
1790
2598
  req.send_request(options)
1791
2599
  end
1792
2600
 
2601
+ # Submits calculations for execution within a session. You can supply
2602
+ # the code to run as an inline code block within the request or as an
2603
+ # Amazon S3 URL.
2604
+ #
2605
+ # @option params [required, String] :session_id
2606
+ # The session ID.
2607
+ #
2608
+ # @option params [String] :description
2609
+ # A description of the calculation.
2610
+ #
2611
+ # @option params [Types::CalculationConfiguration] :calculation_configuration
2612
+ # Contains configuration information for the calculation.
2613
+ #
2614
+ # @option params [String] :code_block
2615
+ # A string that contains the code of the calculation.
2616
+ #
2617
+ # @option params [String] :client_request_token
2618
+ # A unique case-sensitive string used to ensure the request to create
2619
+ # the calculation is idempotent (executes only once). If another
2620
+ # `StartCalculationExecutionRequest` is received, the same response is
2621
+ # returned and another calculation is not created. If a parameter has
2622
+ # changed, an error is returned.
2623
+ #
2624
+ # This token is listed as not required because Amazon Web Services SDKs
2625
+ # (for example the Amazon Web Services SDK for Java) auto-generate the
2626
+ # token for users. If you are not using the Amazon Web Services SDK or
2627
+ # the Amazon Web Services CLI, you must provide this token or the action
2628
+ # will fail.
2629
+ #
2630
+ # @return [Types::StartCalculationExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2631
+ #
2632
+ # * {Types::StartCalculationExecutionResponse#calculation_execution_id #calculation_execution_id} => String
2633
+ # * {Types::StartCalculationExecutionResponse#state #state} => String
2634
+ #
2635
+ # @example Request syntax with placeholder values
2636
+ #
2637
+ # resp = client.start_calculation_execution({
2638
+ # session_id: "SessionId", # required
2639
+ # description: "DescriptionString",
2640
+ # calculation_configuration: {
2641
+ # code_block: "CodeBlock",
2642
+ # },
2643
+ # code_block: "CodeBlock",
2644
+ # client_request_token: "IdempotencyToken",
2645
+ # })
2646
+ #
2647
+ # @example Response structure
2648
+ #
2649
+ # resp.calculation_execution_id #=> String
2650
+ # resp.state #=> String, one of "CREATING", "CREATED", "QUEUED", "RUNNING", "CANCELING", "CANCELED", "COMPLETED", "FAILED"
2651
+ #
2652
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StartCalculationExecution AWS API Documentation
2653
+ #
2654
+ # @overload start_calculation_execution(params = {})
2655
+ # @param [Hash] params ({})
2656
+ def start_calculation_execution(params = {}, options = {})
2657
+ req = build_request(:start_calculation_execution, params)
2658
+ req.send_request(options)
2659
+ end
2660
+
1793
2661
  # Runs the SQL query statements contained in the `Query`. Requires you
1794
2662
  # to have access to the workgroup in which the query ran. Running
1795
2663
  # queries against an external catalog requires GetDataCatalog permission
@@ -1890,6 +2758,116 @@ module Aws::Athena
1890
2758
  req.send_request(options)
1891
2759
  end
1892
2760
 
2761
+ # Creates a session for running calculations within a workgroup. The
2762
+ # session is ready when it reaches an `IDLE` state.
2763
+ #
2764
+ # @option params [String] :description
2765
+ # The session description.
2766
+ #
2767
+ # @option params [required, String] :work_group
2768
+ # The workgroup to which the session belongs.
2769
+ #
2770
+ # @option params [required, Types::EngineConfiguration] :engine_configuration
2771
+ # Contains engine data processing unit (DPU) configuration settings and
2772
+ # parameter mappings.
2773
+ #
2774
+ # @option params [String] :notebook_version
2775
+ # The notebook version. This value is required only when requesting that
2776
+ # a notebook server be started for the session. The only valid notebook
2777
+ # version is `Jupyter1.0`.
2778
+ #
2779
+ # @option params [Integer] :session_idle_timeout_in_minutes
2780
+ # The idle timeout in minutes for the session.
2781
+ #
2782
+ # @option params [String] :client_request_token
2783
+ # A unique case-sensitive string used to ensure the request to create
2784
+ # the session is idempotent (executes only once). If another
2785
+ # `StartSessionRequest` is received, the same response is returned and
2786
+ # another session is not created. If a parameter has changed, an error
2787
+ # is returned.
2788
+ #
2789
+ # This token is listed as not required because Amazon Web Services SDKs
2790
+ # (for example the Amazon Web Services SDK for Java) auto-generate the
2791
+ # token for users. If you are not using the Amazon Web Services SDK or
2792
+ # the Amazon Web Services CLI, you must provide this token or the action
2793
+ # will fail.
2794
+ #
2795
+ # @return [Types::StartSessionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2796
+ #
2797
+ # * {Types::StartSessionResponse#session_id #session_id} => String
2798
+ # * {Types::StartSessionResponse#state #state} => String
2799
+ #
2800
+ # @example Request syntax with placeholder values
2801
+ #
2802
+ # resp = client.start_session({
2803
+ # description: "DescriptionString",
2804
+ # work_group: "WorkGroupName", # required
2805
+ # engine_configuration: { # required
2806
+ # coordinator_dpu_size: 1,
2807
+ # max_concurrent_dpus: 1, # required
2808
+ # default_executor_dpu_size: 1,
2809
+ # additional_configs: {
2810
+ # "KeyString" => "ParametersMapValue",
2811
+ # },
2812
+ # },
2813
+ # notebook_version: "NameString",
2814
+ # session_idle_timeout_in_minutes: 1,
2815
+ # client_request_token: "IdempotencyToken",
2816
+ # })
2817
+ #
2818
+ # @example Response structure
2819
+ #
2820
+ # resp.session_id #=> String
2821
+ # resp.state #=> String, one of "CREATING", "CREATED", "IDLE", "BUSY", "TERMINATING", "TERMINATED", "DEGRADED", "FAILED"
2822
+ #
2823
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StartSession AWS API Documentation
2824
+ #
2825
+ # @overload start_session(params = {})
2826
+ # @param [Hash] params ({})
2827
+ def start_session(params = {}, options = {})
2828
+ req = build_request(:start_session, params)
2829
+ req.send_request(options)
2830
+ end
2831
+
2832
+ # Requests the cancellation of a calculation. A
2833
+ # `StopCalculationExecution` call on a calculation that is already in a
2834
+ # terminal state (for example, `STOPPED`, `FAILED`, or `COMPLETED`)
2835
+ # succeeds but has no effect.
2836
+ #
2837
+ # <note markdown="1"> Cancelling a calculation is done on a best effort basis. If a
2838
+ # calculation cannot be cancelled, you can be charged for its
2839
+ # completion. If you are concerned about being charged for a calculation
2840
+ # that cannot be cancelled, consider terminating the session in which
2841
+ # the calculation is running.
2842
+ #
2843
+ # </note>
2844
+ #
2845
+ # @option params [required, String] :calculation_execution_id
2846
+ # The calculation execution UUID.
2847
+ #
2848
+ # @return [Types::StopCalculationExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2849
+ #
2850
+ # * {Types::StopCalculationExecutionResponse#state #state} => String
2851
+ #
2852
+ # @example Request syntax with placeholder values
2853
+ #
2854
+ # resp = client.stop_calculation_execution({
2855
+ # calculation_execution_id: "CalculationExecutionId", # required
2856
+ # })
2857
+ #
2858
+ # @example Response structure
2859
+ #
2860
+ # resp.state #=> String, one of "CREATING", "CREATED", "QUEUED", "RUNNING", "CANCELING", "CANCELED", "COMPLETED", "FAILED"
2861
+ #
2862
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StopCalculationExecution AWS API Documentation
2863
+ #
2864
+ # @overload stop_calculation_execution(params = {})
2865
+ # @param [Hash] params ({})
2866
+ def stop_calculation_execution(params = {}, options = {})
2867
+ req = build_request(:stop_calculation_execution, params)
2868
+ req.send_request(options)
2869
+ end
2870
+
1893
2871
  # Stops a query execution. Requires you to have access to the workgroup
1894
2872
  # in which the query ran.
1895
2873
  #
@@ -1972,6 +2950,38 @@ module Aws::Athena
1972
2950
  req.send_request(options)
1973
2951
  end
1974
2952
 
2953
+ # Terminates an active session. A `TerminateSession` call on a session
2954
+ # that is already inactive (for example, in a `FAILED`, `TERMINATED` or
2955
+ # `TERMINATING` state) succeeds but has no effect. Calculations running
2956
+ # in the session when `TerminateSession` is called are forcefully
2957
+ # stopped, but may display as `FAILED` instead of `STOPPED`.
2958
+ #
2959
+ # @option params [required, String] :session_id
2960
+ # The session ID.
2961
+ #
2962
+ # @return [Types::TerminateSessionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2963
+ #
2964
+ # * {Types::TerminateSessionResponse#state #state} => String
2965
+ #
2966
+ # @example Request syntax with placeholder values
2967
+ #
2968
+ # resp = client.terminate_session({
2969
+ # session_id: "SessionId", # required
2970
+ # })
2971
+ #
2972
+ # @example Response structure
2973
+ #
2974
+ # resp.state #=> String, one of "CREATING", "CREATED", "IDLE", "BUSY", "TERMINATING", "TERMINATED", "DEGRADED", "FAILED"
2975
+ #
2976
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/TerminateSession AWS API Documentation
2977
+ #
2978
+ # @overload terminate_session(params = {})
2979
+ # @param [Hash] params ({})
2980
+ def terminate_session(params = {}, options = {})
2981
+ req = build_request(:terminate_session, params)
2982
+ req.send_request(options)
2983
+ end
2984
+
1975
2985
  # Removes one or more tags from a data catalog or workgroup resource.
1976
2986
  #
1977
2987
  # @option params [required, String] :resource_arn
@@ -2100,6 +3110,88 @@ module Aws::Athena
2100
3110
  req.send_request(options)
2101
3111
  end
2102
3112
 
3113
+ # Updates the contents of a Spark notebook.
3114
+ #
3115
+ # @option params [required, String] :notebook_id
3116
+ # The ID of the notebook to update.
3117
+ #
3118
+ # @option params [required, String] :payload
3119
+ # The updated content for the notebook.
3120
+ #
3121
+ # @option params [required, String] :type
3122
+ # The notebook content type. Currently, the only valid type is `IPYNB`.
3123
+ #
3124
+ # @option params [String] :session_id
3125
+ # The ID of the session in which the notebook will be updated.
3126
+ #
3127
+ # @option params [String] :client_request_token
3128
+ # A unique case-sensitive string used to ensure the request to create
3129
+ # the notebook is idempotent (executes only once).
3130
+ #
3131
+ # This token is listed as not required because Amazon Web Services SDKs
3132
+ # (for example the Amazon Web Services SDK for Java) auto-generate the
3133
+ # token for you. If you are not using the Amazon Web Services SDK or the
3134
+ # Amazon Web Services CLI, you must provide this token or the action
3135
+ # will fail.
3136
+ #
3137
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3138
+ #
3139
+ # @example Request syntax with placeholder values
3140
+ #
3141
+ # resp = client.update_notebook({
3142
+ # notebook_id: "NotebookId", # required
3143
+ # payload: "Payload", # required
3144
+ # type: "IPYNB", # required, accepts IPYNB
3145
+ # session_id: "SessionId",
3146
+ # client_request_token: "ClientRequestToken",
3147
+ # })
3148
+ #
3149
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateNotebook AWS API Documentation
3150
+ #
3151
+ # @overload update_notebook(params = {})
3152
+ # @param [Hash] params ({})
3153
+ def update_notebook(params = {}, options = {})
3154
+ req = build_request(:update_notebook, params)
3155
+ req.send_request(options)
3156
+ end
3157
+
3158
+ # Updates the metadata for a notebook.
3159
+ #
3160
+ # @option params [required, String] :notebook_id
3161
+ # The ID of the notebook to update the metadata for.
3162
+ #
3163
+ # @option params [String] :client_request_token
3164
+ # A unique case-sensitive string used to ensure the request to create
3165
+ # the notebook is idempotent (executes only once).
3166
+ #
3167
+ # This token is listed as not required because Amazon Web Services SDKs
3168
+ # (for example the Amazon Web Services SDK for Java) auto-generate the
3169
+ # token for you. If you are not using the Amazon Web Services SDK or the
3170
+ # Amazon Web Services CLI, you must provide this token or the action
3171
+ # will fail.
3172
+ #
3173
+ # @option params [required, String] :name
3174
+ # The name to update the notebook to.
3175
+ #
3176
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3177
+ #
3178
+ # @example Request syntax with placeholder values
3179
+ #
3180
+ # resp = client.update_notebook_metadata({
3181
+ # notebook_id: "NotebookId", # required
3182
+ # client_request_token: "ClientRequestToken",
3183
+ # name: "NotebookName", # required
3184
+ # })
3185
+ #
3186
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateNotebookMetadata AWS API Documentation
3187
+ #
3188
+ # @overload update_notebook_metadata(params = {})
3189
+ # @param [Hash] params ({})
3190
+ def update_notebook_metadata(params = {}, options = {})
3191
+ req = build_request(:update_notebook_metadata, params)
3192
+ req.send_request(options)
3193
+ end
3194
+
2103
3195
  # Updates a prepared statement.
2104
3196
  #
2105
3197
  # @option params [required, String] :statement_name
@@ -2135,7 +3227,11 @@ module Aws::Athena
2135
3227
  end
2136
3228
 
2137
3229
  # Updates the workgroup with the specified name. The workgroup's name
2138
- # cannot be changed.
3230
+ # cannot be changed. Only one of `ConfigurationsUpdates` or
3231
+ # `ConfigurationUpdates` can be specified; `ConfigurationsUpdates` for a
3232
+ # workgroup with multi engine support (for example, an Apache Spark
3233
+ # enabled workgroup) or `ConfigurationUpdates` for an Athena SQL
3234
+ # workgroup.
2139
3235
  #
2140
3236
  # @option params [required, String] :work_group
2141
3237
  # The specified workgroup that will be updated.
@@ -2144,8 +3240,7 @@ module Aws::Athena
2144
3240
  # The workgroup description.
2145
3241
  #
2146
3242
  # @option params [Types::WorkGroupConfigurationUpdates] :configuration_updates
2147
- # The workgroup configuration that will be updated for the given
2148
- # workgroup.
3243
+ # Contains configuration updates for an Athena SQL workgroup.
2149
3244
  #
2150
3245
  # @option params [String] :state
2151
3246
  # The workgroup state that will be updated for the given workgroup.
@@ -2182,6 +3277,12 @@ module Aws::Athena
2182
3277
  # selected_engine_version: "NameString",
2183
3278
  # effective_engine_version: "NameString",
2184
3279
  # },
3280
+ # remove_customer_content_encryption_configuration: false,
3281
+ # additional_configuration: "NameString",
3282
+ # execution_role: "RoleArn",
3283
+ # customer_content_encryption_configuration: {
3284
+ # kms_key: "KmsKey", # required
3285
+ # },
2185
3286
  # },
2186
3287
  # state: "ENABLED", # accepts ENABLED, DISABLED
2187
3288
  # })
@@ -2208,7 +3309,7 @@ module Aws::Athena
2208
3309
  params: params,
2209
3310
  config: config)
2210
3311
  context[:gem_name] = 'aws-sdk-athena'
2211
- context[:gem_version] = '1.58.0'
3312
+ context[:gem_version] = '1.60.0'
2212
3313
  Seahorse::Client::Request.new(handlers, context)
2213
3314
  end
2214
3315