aws-sdk-athena 1.58.0 → 1.59.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
  #
@@ -1252,6 +1542,99 @@ module Aws::Athena
1252
1542
  req.send_request(options)
1253
1543
  end
1254
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
+
1255
1638
  # Returns table metadata for the specified catalog, database, and table.
1256
1639
  #
1257
1640
  # @option params [required, String] :catalog_name
@@ -1332,6 +1715,9 @@ module Aws::Athena
1332
1715
  # resp.work_group.configuration.requester_pays_enabled #=> Boolean
1333
1716
  # resp.work_group.configuration.engine_version.selected_engine_version #=> String
1334
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
1335
1721
  # resp.work_group.description #=> String
1336
1722
  # resp.work_group.creation_time #=> Time
1337
1723
  #
@@ -1344,6 +1730,175 @@ module Aws::Athena
1344
1730
  req.send_request(options)
1345
1731
  end
1346
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
+
1347
1902
  # Lists the data catalogs in the current Amazon Web Services account.
1348
1903
  #
1349
1904
  # @option params [String] :next_token
@@ -1441,36 +1996,107 @@ module Aws::Athena
1441
1996
  # next set of pages, pass in the `NextToken` from the response object of
1442
1997
  # the previous page call.
1443
1998
  #
1444
- # @option params [Integer] :max_results
1445
- # The maximum number of engine versions to return in this request.
1446
- #
1447
- # @return [Types::ListEngineVersionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1999
+ # @option params [Integer] :max_results
2000
+ # The maximum number of engine versions to return in this request.
2001
+ #
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:
1448
2066
  #
1449
- # * {Types::ListEngineVersionsOutput#engine_versions #engine_versions} => Array<Types::EngineVersion>
1450
- # * {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>
1451
2070
  #
1452
2071
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1453
2072
  #
1454
2073
  # @example Request syntax with placeholder values
1455
2074
  #
1456
- # resp = client.list_engine_versions({
1457
- # 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
1458
2078
  # max_results: 1,
2079
+ # next_token: "SessionManagerToken",
1459
2080
  # })
1460
2081
  #
1461
2082
  # @example Response structure
1462
2083
  #
1463
- # resp.engine_versions #=> Array
1464
- # resp.engine_versions[0].selected_engine_version #=> String
1465
- # resp.engine_versions[0].effective_engine_version #=> String
2084
+ # resp.session_id #=> String
1466
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
1467
2093
  #
1468
- # @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
1469
2095
  #
1470
- # @overload list_engine_versions(params = {})
2096
+ # @overload list_executors(params = {})
1471
2097
  # @param [Hash] params ({})
1472
- def list_engine_versions(params = {}, options = {})
1473
- req = build_request(:list_engine_versions, params)
2098
+ def list_executors(params = {}, options = {})
2099
+ req = build_request(:list_executors, params)
1474
2100
  req.send_request(options)
1475
2101
  end
1476
2102
 
@@ -1530,6 +2156,105 @@ module Aws::Athena
1530
2156
  req.send_request(options)
1531
2157
  end
1532
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
+
1533
2258
  # Lists the prepared statements in the specified workgroup.
1534
2259
  #
1535
2260
  # @option params [required, String] :work_group
@@ -1631,6 +2356,86 @@ module Aws::Athena
1631
2356
  req.send_request(options)
1632
2357
  end
1633
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
+
1634
2439
  # Lists the metadata for the tables in the specified data catalog
1635
2440
  # database.
1636
2441
  #
@@ -1790,6 +2595,66 @@ module Aws::Athena
1790
2595
  req.send_request(options)
1791
2596
  end
1792
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
+
1793
2658
  # Runs the SQL query statements contained in the `Query`. Requires you
1794
2659
  # to have access to the workgroup in which the query ran. Running
1795
2660
  # queries against an external catalog requires GetDataCatalog permission
@@ -1890,6 +2755,116 @@ module Aws::Athena
1890
2755
  req.send_request(options)
1891
2756
  end
1892
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
+
1893
2868
  # Stops a query execution. Requires you to have access to the workgroup
1894
2869
  # in which the query ran.
1895
2870
  #
@@ -1972,6 +2947,38 @@ module Aws::Athena
1972
2947
  req.send_request(options)
1973
2948
  end
1974
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
+
1975
2982
  # Removes one or more tags from a data catalog or workgroup resource.
1976
2983
  #
1977
2984
  # @option params [required, String] :resource_arn
@@ -2100,6 +3107,88 @@ module Aws::Athena
2100
3107
  req.send_request(options)
2101
3108
  end
2102
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
+
2103
3192
  # Updates a prepared statement.
2104
3193
  #
2105
3194
  # @option params [required, String] :statement_name
@@ -2135,7 +3224,11 @@ module Aws::Athena
2135
3224
  end
2136
3225
 
2137
3226
  # Updates the workgroup with the specified name. The workgroup's name
2138
- # 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.
2139
3232
  #
2140
3233
  # @option params [required, String] :work_group
2141
3234
  # The specified workgroup that will be updated.
@@ -2144,8 +3237,7 @@ module Aws::Athena
2144
3237
  # The workgroup description.
2145
3238
  #
2146
3239
  # @option params [Types::WorkGroupConfigurationUpdates] :configuration_updates
2147
- # The workgroup configuration that will be updated for the given
2148
- # workgroup.
3240
+ # Contains configuration updates for an Athena SQL workgroup.
2149
3241
  #
2150
3242
  # @option params [String] :state
2151
3243
  # The workgroup state that will be updated for the given workgroup.
@@ -2182,6 +3274,12 @@ module Aws::Athena
2182
3274
  # selected_engine_version: "NameString",
2183
3275
  # effective_engine_version: "NameString",
2184
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
+ # },
2185
3283
  # },
2186
3284
  # state: "ENABLED", # accepts ENABLED, DISABLED
2187
3285
  # })
@@ -2208,7 +3306,7 @@ module Aws::Athena
2208
3306
  params: params,
2209
3307
  config: config)
2210
3308
  context[:gem_name] = 'aws-sdk-athena'
2211
- context[:gem_version] = '1.58.0'
3309
+ context[:gem_version] = '1.59.0'
2212
3310
  Seahorse::Client::Request.new(handlers, context)
2213
3311
  end
2214
3312