aws-sdk-redshiftdataapiservice 1.6.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,6 +14,9 @@ module Aws::RedshiftDataAPIService
14
14
  include Seahorse::Model
15
15
 
16
16
  ActiveStatementsExceededException = Shapes::StructureShape.new(name: 'ActiveStatementsExceededException')
17
+ BatchExecuteStatementException = Shapes::StructureShape.new(name: 'BatchExecuteStatementException')
18
+ BatchExecuteStatementInput = Shapes::StructureShape.new(name: 'BatchExecuteStatementInput')
19
+ BatchExecuteStatementOutput = Shapes::StructureShape.new(name: 'BatchExecuteStatementOutput')
17
20
  Blob = Shapes::BlobShape.new(name: 'Blob')
18
21
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
19
22
  BoxedBoolean = Shapes::BooleanShape.new(name: 'BoxedBoolean')
@@ -32,7 +35,7 @@ module Aws::RedshiftDataAPIService
32
35
  ExecuteStatementException = Shapes::StructureShape.new(name: 'ExecuteStatementException')
33
36
  ExecuteStatementInput = Shapes::StructureShape.new(name: 'ExecuteStatementInput')
34
37
  ExecuteStatementOutput = Shapes::StructureShape.new(name: 'ExecuteStatementOutput')
35
- Field = Shapes::StructureShape.new(name: 'Field')
38
+ Field = Shapes::UnionShape.new(name: 'Field')
36
39
  FieldList = Shapes::ListShape.new(name: 'FieldList')
37
40
  GetStatementResultRequest = Shapes::StructureShape.new(name: 'GetStatementResultRequest')
38
41
  GetStatementResultResponse = Shapes::StructureShape.new(name: 'GetStatementResultResponse')
@@ -50,27 +53,57 @@ module Aws::RedshiftDataAPIService
50
53
  Location = Shapes::StringShape.new(name: 'Location')
51
54
  Long = Shapes::IntegerShape.new(name: 'Long')
52
55
  PageSize = Shapes::IntegerShape.new(name: 'PageSize')
56
+ ParameterName = Shapes::StringShape.new(name: 'ParameterName')
57
+ ParameterValue = Shapes::StringShape.new(name: 'ParameterValue')
53
58
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
54
59
  SchemaList = Shapes::ListShape.new(name: 'SchemaList')
55
60
  SecretArn = Shapes::StringShape.new(name: 'SecretArn')
61
+ SqlList = Shapes::ListShape.new(name: 'SqlList')
62
+ SqlParameter = Shapes::StructureShape.new(name: 'SqlParameter')
63
+ SqlParametersList = Shapes::ListShape.new(name: 'SqlParametersList')
56
64
  SqlRecords = Shapes::ListShape.new(name: 'SqlRecords')
57
65
  StatementData = Shapes::StructureShape.new(name: 'StatementData')
66
+ StatementId = Shapes::StringShape.new(name: 'StatementId')
58
67
  StatementList = Shapes::ListShape.new(name: 'StatementList')
59
68
  StatementNameString = Shapes::StringShape.new(name: 'StatementNameString')
69
+ StatementStatusString = Shapes::StringShape.new(name: 'StatementStatusString')
60
70
  StatementString = Shapes::StringShape.new(name: 'StatementString')
71
+ StatementStringList = Shapes::ListShape.new(name: 'StatementStringList')
61
72
  StatusString = Shapes::StringShape.new(name: 'StatusString')
62
73
  String = Shapes::StringShape.new(name: 'String')
74
+ SubStatementData = Shapes::StructureShape.new(name: 'SubStatementData')
75
+ SubStatementList = Shapes::ListShape.new(name: 'SubStatementList')
63
76
  TableList = Shapes::ListShape.new(name: 'TableList')
64
77
  TableMember = Shapes::StructureShape.new(name: 'TableMember')
65
78
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
66
- UUID = Shapes::StringShape.new(name: 'UUID')
67
79
  ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
68
80
  bool = Shapes::BooleanShape.new(name: 'bool')
69
81
 
70
82
  ActiveStatementsExceededException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
71
83
  ActiveStatementsExceededException.struct_class = Types::ActiveStatementsExceededException
72
84
 
73
- CancelStatementRequest.add_member(:id, Shapes::ShapeRef.new(shape: UUID, required: true, location_name: "Id"))
85
+ BatchExecuteStatementException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Message"))
86
+ BatchExecuteStatementException.add_member(:statement_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "StatementId"))
87
+ BatchExecuteStatementException.struct_class = Types::BatchExecuteStatementException
88
+
89
+ BatchExecuteStatementInput.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: Location, required: true, location_name: "ClusterIdentifier"))
90
+ BatchExecuteStatementInput.add_member(:database, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Database"))
91
+ BatchExecuteStatementInput.add_member(:db_user, Shapes::ShapeRef.new(shape: String, location_name: "DbUser"))
92
+ BatchExecuteStatementInput.add_member(:secret_arn, Shapes::ShapeRef.new(shape: SecretArn, location_name: "SecretArn"))
93
+ BatchExecuteStatementInput.add_member(:sqls, Shapes::ShapeRef.new(shape: SqlList, required: true, location_name: "Sqls"))
94
+ BatchExecuteStatementInput.add_member(:statement_name, Shapes::ShapeRef.new(shape: StatementNameString, location_name: "StatementName"))
95
+ BatchExecuteStatementInput.add_member(:with_event, Shapes::ShapeRef.new(shape: Boolean, location_name: "WithEvent"))
96
+ BatchExecuteStatementInput.struct_class = Types::BatchExecuteStatementInput
97
+
98
+ BatchExecuteStatementOutput.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: Location, location_name: "ClusterIdentifier"))
99
+ BatchExecuteStatementOutput.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreatedAt"))
100
+ BatchExecuteStatementOutput.add_member(:database, Shapes::ShapeRef.new(shape: String, location_name: "Database"))
101
+ BatchExecuteStatementOutput.add_member(:db_user, Shapes::ShapeRef.new(shape: String, location_name: "DbUser"))
102
+ BatchExecuteStatementOutput.add_member(:id, Shapes::ShapeRef.new(shape: StatementId, location_name: "Id"))
103
+ BatchExecuteStatementOutput.add_member(:secret_arn, Shapes::ShapeRef.new(shape: SecretArn, location_name: "SecretArn"))
104
+ BatchExecuteStatementOutput.struct_class = Types::BatchExecuteStatementOutput
105
+
106
+ CancelStatementRequest.add_member(:id, Shapes::ShapeRef.new(shape: StatementId, required: true, location_name: "Id"))
74
107
  CancelStatementRequest.struct_class = Types::CancelStatementRequest
75
108
 
76
109
  CancelStatementResponse.add_member(:status, Shapes::ShapeRef.new(shape: Boolean, location_name: "Status"))
@@ -97,7 +130,7 @@ module Aws::RedshiftDataAPIService
97
130
 
98
131
  DatabaseList.member = Shapes::ShapeRef.new(shape: String)
99
132
 
100
- DescribeStatementRequest.add_member(:id, Shapes::ShapeRef.new(shape: UUID, required: true, location_name: "Id"))
133
+ DescribeStatementRequest.add_member(:id, Shapes::ShapeRef.new(shape: StatementId, required: true, location_name: "Id"))
101
134
  DescribeStatementRequest.struct_class = Types::DescribeStatementRequest
102
135
 
103
136
  DescribeStatementResponse.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: String, location_name: "ClusterIdentifier"))
@@ -107,7 +140,8 @@ module Aws::RedshiftDataAPIService
107
140
  DescribeStatementResponse.add_member(:duration, Shapes::ShapeRef.new(shape: Long, location_name: "Duration"))
108
141
  DescribeStatementResponse.add_member(:error, Shapes::ShapeRef.new(shape: String, location_name: "Error"))
109
142
  DescribeStatementResponse.add_member(:has_result_set, Shapes::ShapeRef.new(shape: Boolean, location_name: "HasResultSet"))
110
- DescribeStatementResponse.add_member(:id, Shapes::ShapeRef.new(shape: UUID, required: true, location_name: "Id"))
143
+ DescribeStatementResponse.add_member(:id, Shapes::ShapeRef.new(shape: StatementId, required: true, location_name: "Id"))
144
+ DescribeStatementResponse.add_member(:query_parameters, Shapes::ShapeRef.new(shape: SqlParametersList, location_name: "QueryParameters"))
111
145
  DescribeStatementResponse.add_member(:query_string, Shapes::ShapeRef.new(shape: StatementString, location_name: "QueryString"))
112
146
  DescribeStatementResponse.add_member(:redshift_pid, Shapes::ShapeRef.new(shape: Long, location_name: "RedshiftPid"))
113
147
  DescribeStatementResponse.add_member(:redshift_query_id, Shapes::ShapeRef.new(shape: Long, location_name: "RedshiftQueryId"))
@@ -115,6 +149,7 @@ module Aws::RedshiftDataAPIService
115
149
  DescribeStatementResponse.add_member(:result_size, Shapes::ShapeRef.new(shape: Long, location_name: "ResultSize"))
116
150
  DescribeStatementResponse.add_member(:secret_arn, Shapes::ShapeRef.new(shape: SecretArn, location_name: "SecretArn"))
117
151
  DescribeStatementResponse.add_member(:status, Shapes::ShapeRef.new(shape: StatusString, location_name: "Status"))
152
+ DescribeStatementResponse.add_member(:sub_statements, Shapes::ShapeRef.new(shape: SubStatementList, location_name: "SubStatements"))
118
153
  DescribeStatementResponse.add_member(:updated_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "UpdatedAt"))
119
154
  DescribeStatementResponse.struct_class = Types::DescribeStatementResponse
120
155
 
@@ -139,8 +174,9 @@ module Aws::RedshiftDataAPIService
139
174
  ExecuteStatementException.struct_class = Types::ExecuteStatementException
140
175
 
141
176
  ExecuteStatementInput.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: Location, required: true, location_name: "ClusterIdentifier"))
142
- ExecuteStatementInput.add_member(:database, Shapes::ShapeRef.new(shape: String, location_name: "Database"))
177
+ ExecuteStatementInput.add_member(:database, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Database"))
143
178
  ExecuteStatementInput.add_member(:db_user, Shapes::ShapeRef.new(shape: String, location_name: "DbUser"))
179
+ ExecuteStatementInput.add_member(:parameters, Shapes::ShapeRef.new(shape: SqlParametersList, location_name: "Parameters"))
144
180
  ExecuteStatementInput.add_member(:secret_arn, Shapes::ShapeRef.new(shape: SecretArn, location_name: "SecretArn"))
145
181
  ExecuteStatementInput.add_member(:sql, Shapes::ShapeRef.new(shape: StatementString, required: true, location_name: "Sql"))
146
182
  ExecuteStatementInput.add_member(:statement_name, Shapes::ShapeRef.new(shape: StatementNameString, location_name: "StatementName"))
@@ -151,7 +187,7 @@ module Aws::RedshiftDataAPIService
151
187
  ExecuteStatementOutput.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreatedAt"))
152
188
  ExecuteStatementOutput.add_member(:database, Shapes::ShapeRef.new(shape: String, location_name: "Database"))
153
189
  ExecuteStatementOutput.add_member(:db_user, Shapes::ShapeRef.new(shape: String, location_name: "DbUser"))
154
- ExecuteStatementOutput.add_member(:id, Shapes::ShapeRef.new(shape: UUID, location_name: "Id"))
190
+ ExecuteStatementOutput.add_member(:id, Shapes::ShapeRef.new(shape: StatementId, location_name: "Id"))
155
191
  ExecuteStatementOutput.add_member(:secret_arn, Shapes::ShapeRef.new(shape: SecretArn, location_name: "SecretArn"))
156
192
  ExecuteStatementOutput.struct_class = Types::ExecuteStatementOutput
157
193
 
@@ -161,11 +197,19 @@ module Aws::RedshiftDataAPIService
161
197
  Field.add_member(:is_null, Shapes::ShapeRef.new(shape: BoxedBoolean, location_name: "isNull"))
162
198
  Field.add_member(:long_value, Shapes::ShapeRef.new(shape: BoxedLong, location_name: "longValue"))
163
199
  Field.add_member(:string_value, Shapes::ShapeRef.new(shape: String, location_name: "stringValue"))
200
+ Field.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
201
+ Field.add_member_subclass(:blob_value, Types::Field::BlobValue)
202
+ Field.add_member_subclass(:boolean_value, Types::Field::BooleanValue)
203
+ Field.add_member_subclass(:double_value, Types::Field::DoubleValue)
204
+ Field.add_member_subclass(:is_null, Types::Field::IsNull)
205
+ Field.add_member_subclass(:long_value, Types::Field::LongValue)
206
+ Field.add_member_subclass(:string_value, Types::Field::StringValue)
207
+ Field.add_member_subclass(:unknown, Types::Field::Unknown)
164
208
  Field.struct_class = Types::Field
165
209
 
166
210
  FieldList.member = Shapes::ShapeRef.new(shape: Field)
167
211
 
168
- GetStatementResultRequest.add_member(:id, Shapes::ShapeRef.new(shape: UUID, required: true, location_name: "Id"))
212
+ GetStatementResultRequest.add_member(:id, Shapes::ShapeRef.new(shape: StatementId, required: true, location_name: "Id"))
169
213
  GetStatementResultRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
170
214
  GetStatementResultRequest.struct_class = Types::GetStatementResultRequest
171
215
 
@@ -179,7 +223,7 @@ module Aws::RedshiftDataAPIService
179
223
  InternalServerException.struct_class = Types::InternalServerException
180
224
 
181
225
  ListDatabasesRequest.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: Location, required: true, location_name: "ClusterIdentifier"))
182
- ListDatabasesRequest.add_member(:database, Shapes::ShapeRef.new(shape: String, location_name: "Database"))
226
+ ListDatabasesRequest.add_member(:database, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Database"))
183
227
  ListDatabasesRequest.add_member(:db_user, Shapes::ShapeRef.new(shape: String, location_name: "DbUser"))
184
228
  ListDatabasesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: PageSize, location_name: "MaxResults"))
185
229
  ListDatabasesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
@@ -236,11 +280,22 @@ module Aws::RedshiftDataAPIService
236
280
 
237
281
  SchemaList.member = Shapes::ShapeRef.new(shape: String)
238
282
 
283
+ SqlList.member = Shapes::ShapeRef.new(shape: StatementString)
284
+
285
+ SqlParameter.add_member(:name, Shapes::ShapeRef.new(shape: ParameterName, required: true, location_name: "name"))
286
+ SqlParameter.add_member(:value, Shapes::ShapeRef.new(shape: ParameterValue, required: true, location_name: "value"))
287
+ SqlParameter.struct_class = Types::SqlParameter
288
+
289
+ SqlParametersList.member = Shapes::ShapeRef.new(shape: SqlParameter)
290
+
239
291
  SqlRecords.member = Shapes::ShapeRef.new(shape: FieldList)
240
292
 
241
293
  StatementData.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreatedAt"))
242
- StatementData.add_member(:id, Shapes::ShapeRef.new(shape: UUID, required: true, location_name: "Id"))
294
+ StatementData.add_member(:id, Shapes::ShapeRef.new(shape: StatementId, required: true, location_name: "Id"))
295
+ StatementData.add_member(:is_batch_statement, Shapes::ShapeRef.new(shape: Boolean, location_name: "IsBatchStatement"))
296
+ StatementData.add_member(:query_parameters, Shapes::ShapeRef.new(shape: SqlParametersList, location_name: "QueryParameters"))
243
297
  StatementData.add_member(:query_string, Shapes::ShapeRef.new(shape: StatementString, location_name: "QueryString"))
298
+ StatementData.add_member(:query_strings, Shapes::ShapeRef.new(shape: StatementStringList, location_name: "QueryStrings"))
244
299
  StatementData.add_member(:secret_arn, Shapes::ShapeRef.new(shape: SecretArn, location_name: "SecretArn"))
245
300
  StatementData.add_member(:statement_name, Shapes::ShapeRef.new(shape: StatementNameString, location_name: "StatementName"))
246
301
  StatementData.add_member(:status, Shapes::ShapeRef.new(shape: StatusString, location_name: "Status"))
@@ -249,6 +304,23 @@ module Aws::RedshiftDataAPIService
249
304
 
250
305
  StatementList.member = Shapes::ShapeRef.new(shape: StatementData)
251
306
 
307
+ StatementStringList.member = Shapes::ShapeRef.new(shape: StatementString)
308
+
309
+ SubStatementData.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreatedAt"))
310
+ SubStatementData.add_member(:duration, Shapes::ShapeRef.new(shape: Long, location_name: "Duration"))
311
+ SubStatementData.add_member(:error, Shapes::ShapeRef.new(shape: String, location_name: "Error"))
312
+ SubStatementData.add_member(:has_result_set, Shapes::ShapeRef.new(shape: Boolean, location_name: "HasResultSet"))
313
+ SubStatementData.add_member(:id, Shapes::ShapeRef.new(shape: StatementId, required: true, location_name: "Id"))
314
+ SubStatementData.add_member(:query_string, Shapes::ShapeRef.new(shape: StatementString, location_name: "QueryString"))
315
+ SubStatementData.add_member(:redshift_query_id, Shapes::ShapeRef.new(shape: Long, location_name: "RedshiftQueryId"))
316
+ SubStatementData.add_member(:result_rows, Shapes::ShapeRef.new(shape: Long, location_name: "ResultRows"))
317
+ SubStatementData.add_member(:result_size, Shapes::ShapeRef.new(shape: Long, location_name: "ResultSize"))
318
+ SubStatementData.add_member(:status, Shapes::ShapeRef.new(shape: StatementStatusString, location_name: "Status"))
319
+ SubStatementData.add_member(:updated_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "UpdatedAt"))
320
+ SubStatementData.struct_class = Types::SubStatementData
321
+
322
+ SubStatementList.member = Shapes::ShapeRef.new(shape: SubStatementData)
323
+
252
324
  TableList.member = Shapes::ShapeRef.new(shape: TableMember)
253
325
 
254
326
  TableMember.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "name"))
@@ -278,12 +350,24 @@ module Aws::RedshiftDataAPIService
278
350
  "uid" => "redshift-data-2019-12-20",
279
351
  }
280
352
 
353
+ api.add_operation(:batch_execute_statement, Seahorse::Model::Operation.new.tap do |o|
354
+ o.name = "BatchExecuteStatement"
355
+ o.http_method = "POST"
356
+ o.http_request_uri = "/"
357
+ o.input = Shapes::ShapeRef.new(shape: BatchExecuteStatementInput)
358
+ o.output = Shapes::ShapeRef.new(shape: BatchExecuteStatementOutput)
359
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
360
+ o.errors << Shapes::ShapeRef.new(shape: ActiveStatementsExceededException)
361
+ o.errors << Shapes::ShapeRef.new(shape: BatchExecuteStatementException)
362
+ end)
363
+
281
364
  api.add_operation(:cancel_statement, Seahorse::Model::Operation.new.tap do |o|
282
365
  o.name = "CancelStatement"
283
366
  o.http_method = "POST"
284
367
  o.http_request_uri = "/"
285
368
  o.input = Shapes::ShapeRef.new(shape: CancelStatementRequest)
286
369
  o.output = Shapes::ShapeRef.new(shape: CancelStatementResponse)
370
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
287
371
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
288
372
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
289
373
  end)
@@ -28,6 +28,7 @@ module Aws::RedshiftDataAPIService
28
28
  #
29
29
  # ## Error Classes
30
30
  # * {ActiveStatementsExceededException}
31
+ # * {BatchExecuteStatementException}
31
32
  # * {ExecuteStatementException}
32
33
  # * {InternalServerException}
33
34
  # * {ResourceNotFoundException}
@@ -54,6 +55,26 @@ module Aws::RedshiftDataAPIService
54
55
  end
55
56
  end
56
57
 
58
+ class BatchExecuteStatementException < ServiceError
59
+
60
+ # @param [Seahorse::Client::RequestContext] context
61
+ # @param [String] message
62
+ # @param [Aws::RedshiftDataAPIService::Types::BatchExecuteStatementException] data
63
+ def initialize(context, message, data = Aws::EmptyStructure.new)
64
+ super(context, message, data)
65
+ end
66
+
67
+ # @return [String]
68
+ def message
69
+ @message || @data[:message]
70
+ end
71
+
72
+ # @return [String]
73
+ def statement_id
74
+ @data[:statement_id]
75
+ end
76
+ end
77
+
57
78
  class ExecuteStatementException < ServiceError
58
79
 
59
80
  # @param [Seahorse::Client::RequestContext] context
@@ -23,18 +23,140 @@ module Aws::RedshiftDataAPIService
23
23
  include Aws::Structure
24
24
  end
25
25
 
26
+ # An SQL statement encountered an environmental error while running.
27
+ #
28
+ # @!attribute [rw] message
29
+ # @return [String]
30
+ #
31
+ # @!attribute [rw] statement_id
32
+ # Statement identifier of the exception.
33
+ # @return [String]
34
+ #
35
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-data-2019-12-20/BatchExecuteStatementException AWS API Documentation
36
+ #
37
+ class BatchExecuteStatementException < Struct.new(
38
+ :message,
39
+ :statement_id)
40
+ SENSITIVE = []
41
+ include Aws::Structure
42
+ end
43
+
44
+ # @note When making an API call, you may pass BatchExecuteStatementInput
45
+ # data as a hash:
46
+ #
47
+ # {
48
+ # cluster_identifier: "Location", # required
49
+ # database: "String", # required
50
+ # db_user: "String",
51
+ # secret_arn: "SecretArn",
52
+ # sqls: ["StatementString"], # required
53
+ # statement_name: "StatementNameString",
54
+ # with_event: false,
55
+ # }
56
+ #
57
+ # @!attribute [rw] cluster_identifier
58
+ # The cluster identifier. This parameter is required when
59
+ # authenticating using either Secrets Manager or temporary
60
+ # credentials.
61
+ # @return [String]
62
+ #
63
+ # @!attribute [rw] database
64
+ # The name of the database. This parameter is required when
65
+ # authenticating using either Secrets Manager or temporary
66
+ # credentials.
67
+ # @return [String]
68
+ #
69
+ # @!attribute [rw] db_user
70
+ # The database user name. This parameter is required when
71
+ # authenticating using temporary credentials.
72
+ # @return [String]
73
+ #
74
+ # @!attribute [rw] secret_arn
75
+ # The name or ARN of the secret that enables access to the database.
76
+ # This parameter is required when authenticating using Secrets
77
+ # Manager.
78
+ # @return [String]
79
+ #
80
+ # @!attribute [rw] sqls
81
+ # One or more SQL statements to run.
82
+ # @return [Array<String>]
83
+ #
84
+ # @!attribute [rw] statement_name
85
+ # The name of the SQL statements. You can name the SQL statements when
86
+ # you create them to identify the query.
87
+ # @return [String]
88
+ #
89
+ # @!attribute [rw] with_event
90
+ # A value that indicates whether to send an event to the Amazon
91
+ # EventBridge event bus after the SQL statements run.
92
+ # @return [Boolean]
93
+ #
94
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-data-2019-12-20/BatchExecuteStatementInput AWS API Documentation
95
+ #
96
+ class BatchExecuteStatementInput < Struct.new(
97
+ :cluster_identifier,
98
+ :database,
99
+ :db_user,
100
+ :secret_arn,
101
+ :sqls,
102
+ :statement_name,
103
+ :with_event)
104
+ SENSITIVE = []
105
+ include Aws::Structure
106
+ end
107
+
108
+ # @!attribute [rw] cluster_identifier
109
+ # The cluster identifier.
110
+ # @return [String]
111
+ #
112
+ # @!attribute [rw] created_at
113
+ # The date and time (UTC) the statement was created.
114
+ # @return [Time]
115
+ #
116
+ # @!attribute [rw] database
117
+ # The name of the database.
118
+ # @return [String]
119
+ #
120
+ # @!attribute [rw] db_user
121
+ # The database user name.
122
+ # @return [String]
123
+ #
124
+ # @!attribute [rw] id
125
+ # The identifier of the SQL statement whose results are to be fetched.
126
+ # This value is a universally unique identifier (UUID) generated by
127
+ # Amazon Redshift Data API. This identifier is returned by
128
+ # `BatchExecuteStatment`.
129
+ # @return [String]
130
+ #
131
+ # @!attribute [rw] secret_arn
132
+ # The name or ARN of the secret that enables access to the database.
133
+ # @return [String]
134
+ #
135
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-data-2019-12-20/BatchExecuteStatementOutput AWS API Documentation
136
+ #
137
+ class BatchExecuteStatementOutput < Struct.new(
138
+ :cluster_identifier,
139
+ :created_at,
140
+ :database,
141
+ :db_user,
142
+ :id,
143
+ :secret_arn)
144
+ SENSITIVE = []
145
+ include Aws::Structure
146
+ end
147
+
26
148
  # @note When making an API call, you may pass CancelStatementRequest
27
149
  # data as a hash:
28
150
  #
29
151
  # {
30
- # id: "UUID", # required
152
+ # id: "StatementId", # required
31
153
  # }
32
154
  #
33
155
  # @!attribute [rw] id
34
156
  # The identifier of the SQL statement to cancel. This value is a
35
157
  # universally unique identifier (UUID) generated by Amazon Redshift
36
- # Data API. This identifier is returned by `ExecuteStatment` and
37
- # `ListStatements`.
158
+ # Data API. This identifier is returned by `BatchExecuteStatment`,
159
+ # `ExecuteStatment`, and `ListStatements`.
38
160
  # @return [String]
39
161
  #
40
162
  # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-data-2019-12-20/CancelStatementRequest AWS API Documentation
@@ -137,14 +259,17 @@ module Aws::RedshiftDataAPIService
137
259
  # data as a hash:
138
260
  #
139
261
  # {
140
- # id: "UUID", # required
262
+ # id: "StatementId", # required
141
263
  # }
142
264
  #
143
265
  # @!attribute [rw] id
144
266
  # The identifier of the SQL statement to describe. This value is a
145
267
  # universally unique identifier (UUID) generated by Amazon Redshift
146
- # Data API. This identifier is returned by `ExecuteStatment` and
147
- # `ListStatements`.
268
+ # Data API. A suffix indicates the number of the SQL statement. For
269
+ # example, `d9b6c0c9-0747-4bf4-b142-e8883122f766:2` has a suffix of
270
+ # `:2` that indicates the second SQL statement of a batch query. This
271
+ # identifier is returned by `BatchExecuteStatment`,
272
+ # `ExecuteStatement`, and `ListStatements`.
148
273
  # @return [String]
149
274
  #
150
275
  # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-data-2019-12-20/DescribeStatementRequest AWS API Documentation
@@ -191,6 +316,10 @@ module Aws::RedshiftDataAPIService
191
316
  # Data API.
192
317
  # @return [String]
193
318
  #
319
+ # @!attribute [rw] query_parameters
320
+ # The parameters for the SQL statement.
321
+ # @return [Array<Types::SqlParameter>]
322
+ #
194
323
  # @!attribute [rw] query_string
195
324
  # The SQL statement text.
196
325
  # @return [String]
@@ -209,11 +338,13 @@ module Aws::RedshiftDataAPIService
209
338
  # Either the number of rows returned from the SQL statement or the
210
339
  # number of rows affected. If result size is greater than zero, the
211
340
  # result rows can be the number of rows affected by SQL statements
212
- # such as INSERT, UPDATE, DELETE, COPY, and others.
341
+ # such as INSERT, UPDATE, DELETE, COPY, and others. A `-1` indicates
342
+ # the value is null.
213
343
  # @return [Integer]
214
344
  #
215
345
  # @!attribute [rw] result_size
216
- # The size in bytes of the returned results.
346
+ # The size in bytes of the returned results. A `-1` indicates the
347
+ # value is null.
217
348
  # @return [Integer]
218
349
  #
219
350
  # @!attribute [rw] secret_arn
@@ -241,6 +372,10 @@ module Aws::RedshiftDataAPIService
241
372
  # * SUBMITTED - The query was submitted, but not yet processed.
242
373
  # @return [String]
243
374
  #
375
+ # @!attribute [rw] sub_statements
376
+ # The SQL statements from a multiple statement run.
377
+ # @return [Array<Types::SubStatementData>]
378
+ #
244
379
  # @!attribute [rw] updated_at
245
380
  # The date and time (UTC) that the metadata for the SQL statement was
246
381
  # last updated. An example is the time the status last changed.
@@ -257,6 +392,7 @@ module Aws::RedshiftDataAPIService
257
392
  :error,
258
393
  :has_result_set,
259
394
  :id,
395
+ :query_parameters,
260
396
  :query_string,
261
397
  :redshift_pid,
262
398
  :redshift_query_id,
@@ -264,6 +400,7 @@ module Aws::RedshiftDataAPIService
264
400
  :result_size,
265
401
  :secret_arn,
266
402
  :status,
403
+ :sub_statements,
267
404
  :updated_at)
268
405
  SENSITIVE = []
269
406
  include Aws::Structure
@@ -286,7 +423,7 @@ module Aws::RedshiftDataAPIService
286
423
  #
287
424
  # @!attribute [rw] cluster_identifier
288
425
  # The cluster identifier. This parameter is required when
289
- # authenticating using either AWS Secrets Manager or temporary
426
+ # authenticating using either Secrets Manager or temporary
290
427
  # credentials.
291
428
  # @return [String]
292
429
  #
@@ -328,7 +465,7 @@ module Aws::RedshiftDataAPIService
328
465
  #
329
466
  # @!attribute [rw] secret_arn
330
467
  # The name or ARN of the secret that enables access to the database.
331
- # This parameter is required when authenticating using AWS Secrets
468
+ # This parameter is required when authenticating using Secrets
332
469
  # Manager.
333
470
  # @return [String]
334
471
  #
@@ -406,8 +543,14 @@ module Aws::RedshiftDataAPIService
406
543
  #
407
544
  # {
408
545
  # cluster_identifier: "Location", # required
409
- # database: "String",
546
+ # database: "String", # required
410
547
  # db_user: "String",
548
+ # parameters: [
549
+ # {
550
+ # name: "ParameterName", # required
551
+ # value: "ParameterValue", # required
552
+ # },
553
+ # ],
411
554
  # secret_arn: "SecretArn",
412
555
  # sql: "StatementString", # required
413
556
  # statement_name: "StatementNameString",
@@ -416,13 +559,14 @@ module Aws::RedshiftDataAPIService
416
559
  #
417
560
  # @!attribute [rw] cluster_identifier
418
561
  # The cluster identifier. This parameter is required when
419
- # authenticating using either AWS Secrets Manager or temporary
562
+ # authenticating using either Secrets Manager or temporary
420
563
  # credentials.
421
564
  # @return [String]
422
565
  #
423
566
  # @!attribute [rw] database
424
567
  # The name of the database. This parameter is required when
425
- # authenticating using temporary credentials.
568
+ # authenticating using either Secrets Manager or temporary
569
+ # credentials.
426
570
  # @return [String]
427
571
  #
428
572
  # @!attribute [rw] db_user
@@ -430,9 +574,13 @@ module Aws::RedshiftDataAPIService
430
574
  # authenticating using temporary credentials.
431
575
  # @return [String]
432
576
  #
577
+ # @!attribute [rw] parameters
578
+ # The parameters for the SQL statement.
579
+ # @return [Array<Types::SqlParameter>]
580
+ #
433
581
  # @!attribute [rw] secret_arn
434
582
  # The name or ARN of the secret that enables access to the database.
435
- # This parameter is required when authenticating using AWS Secrets
583
+ # This parameter is required when authenticating using Secrets
436
584
  # Manager.
437
585
  # @return [String]
438
586
  #
@@ -456,6 +604,7 @@ module Aws::RedshiftDataAPIService
456
604
  :cluster_identifier,
457
605
  :database,
458
606
  :db_user,
607
+ :parameters,
459
608
  :secret_arn,
460
609
  :sql,
461
610
  :statement_name,
@@ -481,9 +630,9 @@ module Aws::RedshiftDataAPIService
481
630
  # @return [String]
482
631
  #
483
632
  # @!attribute [rw] id
484
- # The identifier of the statement to be run. This value is a
485
- # universally unique identifier (UUID) generated by Amazon Redshift
486
- # Data API.
633
+ # The identifier of the SQL statement whose results are to be fetched.
634
+ # This value is a universally unique identifier (UUID) generated by
635
+ # Amazon Redshift Data API.
487
636
  # @return [String]
488
637
  #
489
638
  # @!attribute [rw] secret_arn
@@ -505,6 +654,8 @@ module Aws::RedshiftDataAPIService
505
654
 
506
655
  # A data value in a column.
507
656
  #
657
+ # @note Field is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of Field corresponding to the set member.
658
+ #
508
659
  # @!attribute [rw] blob_value
509
660
  # A value of the BLOB data type.
510
661
  # @return [String]
@@ -537,24 +688,37 @@ module Aws::RedshiftDataAPIService
537
688
  :double_value,
538
689
  :is_null,
539
690
  :long_value,
540
- :string_value)
691
+ :string_value,
692
+ :unknown)
541
693
  SENSITIVE = []
542
694
  include Aws::Structure
695
+ include Aws::Structure::Union
696
+
697
+ class BlobValue < Field; end
698
+ class BooleanValue < Field; end
699
+ class DoubleValue < Field; end
700
+ class IsNull < Field; end
701
+ class LongValue < Field; end
702
+ class StringValue < Field; end
703
+ class Unknown < Field; end
543
704
  end
544
705
 
545
706
  # @note When making an API call, you may pass GetStatementResultRequest
546
707
  # data as a hash:
547
708
  #
548
709
  # {
549
- # id: "UUID", # required
710
+ # id: "StatementId", # required
550
711
  # next_token: "String",
551
712
  # }
552
713
  #
553
714
  # @!attribute [rw] id
554
715
  # The identifier of the SQL statement whose results are to be fetched.
555
716
  # This value is a universally unique identifier (UUID) generated by
556
- # Amazon Redshift Data API. This identifier is returned by
557
- # `ExecuteStatment` and `ListStatements`.
717
+ # Amazon Redshift Data API. A suffix indicates then number of the SQL
718
+ # statement. For example, `d9b6c0c9-0747-4bf4-b142-e8883122f766:2` has
719
+ # a suffix of `:2` that indicates the second SQL statement of a batch
720
+ # query. This identifier is returned by `BatchExecuteStatment`,
721
+ # `ExecuteStatment`, and `ListStatements`.
558
722
  # @return [String]
559
723
  #
560
724
  # @!attribute [rw] next_token
@@ -628,7 +792,7 @@ module Aws::RedshiftDataAPIService
628
792
  #
629
793
  # {
630
794
  # cluster_identifier: "Location", # required
631
- # database: "String",
795
+ # database: "String", # required
632
796
  # db_user: "String",
633
797
  # max_results: 1,
634
798
  # next_token: "String",
@@ -637,13 +801,14 @@ module Aws::RedshiftDataAPIService
637
801
  #
638
802
  # @!attribute [rw] cluster_identifier
639
803
  # The cluster identifier. This parameter is required when
640
- # authenticating using either AWS Secrets Manager or temporary
804
+ # authenticating using either Secrets Manager or temporary
641
805
  # credentials.
642
806
  # @return [String]
643
807
  #
644
808
  # @!attribute [rw] database
645
809
  # The name of the database. This parameter is required when
646
- # authenticating using temporary credentials.
810
+ # authenticating using either Secrets Manager or temporary
811
+ # credentials.
647
812
  # @return [String]
648
813
  #
649
814
  # @!attribute [rw] db_user
@@ -668,7 +833,7 @@ module Aws::RedshiftDataAPIService
668
833
  #
669
834
  # @!attribute [rw] secret_arn
670
835
  # The name or ARN of the secret that enables access to the database.
671
- # This parameter is required when authenticating using AWS Secrets
836
+ # This parameter is required when authenticating using Secrets
672
837
  # Manager.
673
838
  # @return [String]
674
839
  #
@@ -723,7 +888,7 @@ module Aws::RedshiftDataAPIService
723
888
  #
724
889
  # @!attribute [rw] cluster_identifier
725
890
  # The cluster identifier. This parameter is required when
726
- # authenticating using either AWS Secrets Manager or temporary
891
+ # authenticating using either Secrets Manager or temporary
727
892
  # credentials.
728
893
  # @return [String]
729
894
  #
@@ -767,7 +932,7 @@ module Aws::RedshiftDataAPIService
767
932
  #
768
933
  # @!attribute [rw] secret_arn
769
934
  # The name or ARN of the secret that enables access to the database.
770
- # This parameter is required when authenticating using AWS Secrets
935
+ # This parameter is required when authenticating using Secrets
771
936
  # Manager.
772
937
  # @return [String]
773
938
  #
@@ -843,12 +1008,12 @@ module Aws::RedshiftDataAPIService
843
1008
  #
844
1009
  # @!attribute [rw] statement_name
845
1010
  # The name of the SQL statement specified as input to
846
- # `ExecuteStatement` to identify the query. You can list multiple
847
- # statements by providing a prefix that matches the beginning of the
848
- # statement name. For example, to list myStatement1, myStatement2,
849
- # myStatement3, and so on, then provide the a value of `myStatement`.
850
- # Data API does a case-sensitive match of SQL statement names to the
851
- # prefix value you provide.
1011
+ # `BatchExecuteStatement` or `ExecuteStatement` to identify the query.
1012
+ # You can list multiple statements by providing a prefix that matches
1013
+ # the beginning of the statement name. For example, to list
1014
+ # myStatement1, myStatement2, myStatement3, and so on, then provide
1015
+ # the a value of `myStatement`. Data API does a case-sensitive match
1016
+ # of SQL statement names to the prefix value you provide.
852
1017
  # @return [String]
853
1018
  #
854
1019
  # @!attribute [rw] status
@@ -922,7 +1087,7 @@ module Aws::RedshiftDataAPIService
922
1087
  #
923
1088
  # @!attribute [rw] cluster_identifier
924
1089
  # The cluster identifier. This parameter is required when
925
- # authenticating using either AWS Secrets Manager or temporary
1090
+ # authenticating using either Secrets Manager or temporary
926
1091
  # credentials.
927
1092
  # @return [String]
928
1093
  #
@@ -969,7 +1134,7 @@ module Aws::RedshiftDataAPIService
969
1134
  #
970
1135
  # @!attribute [rw] secret_arn
971
1136
  # The name or ARN of the secret that enables access to the database.
972
- # This parameter is required when authenticating using AWS Secrets
1137
+ # This parameter is required when authenticating using Secrets
973
1138
  # Manager.
974
1139
  # @return [String]
975
1140
  #
@@ -1041,6 +1206,39 @@ module Aws::RedshiftDataAPIService
1041
1206
  include Aws::Structure
1042
1207
  end
1043
1208
 
1209
+ # A parameter used in a SQL statement.
1210
+ #
1211
+ # @note When making an API call, you may pass SqlParameter
1212
+ # data as a hash:
1213
+ #
1214
+ # {
1215
+ # name: "ParameterName", # required
1216
+ # value: "ParameterValue", # required
1217
+ # }
1218
+ #
1219
+ # @!attribute [rw] name
1220
+ # The name of the parameter.
1221
+ # @return [String]
1222
+ #
1223
+ # @!attribute [rw] value
1224
+ # The value of the parameter. Amazon Redshift implicitly converts to
1225
+ # the proper data type. For more inforation, see [Data types][1] in
1226
+ # the *Amazon Redshift Database Developer Guide*.
1227
+ #
1228
+ #
1229
+ #
1230
+ # [1]: https://docs.aws.amazon.com/redshift/latest/dg/c_Supported_data_types.html
1231
+ # @return [String]
1232
+ #
1233
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-data-2019-12-20/SqlParameter AWS API Documentation
1234
+ #
1235
+ class SqlParameter < Struct.new(
1236
+ :name,
1237
+ :value)
1238
+ SENSITIVE = []
1239
+ include Aws::Structure
1240
+ end
1241
+
1044
1242
  # The SQL statement to run.
1045
1243
  #
1046
1244
  # @!attribute [rw] created_at
@@ -1052,10 +1250,24 @@ module Aws::RedshiftDataAPIService
1052
1250
  # identifier (UUID) generated by Amazon Redshift Data API.
1053
1251
  # @return [String]
1054
1252
  #
1253
+ # @!attribute [rw] is_batch_statement
1254
+ # A value that indicates whether the statement is a batch query
1255
+ # request.
1256
+ # @return [Boolean]
1257
+ #
1258
+ # @!attribute [rw] query_parameters
1259
+ # The parameters used in a SQL statement.
1260
+ # @return [Array<Types::SqlParameter>]
1261
+ #
1055
1262
  # @!attribute [rw] query_string
1056
1263
  # The SQL statement.
1057
1264
  # @return [String]
1058
1265
  #
1266
+ # @!attribute [rw] query_strings
1267
+ # One or more SQL statements. Each query string in the array
1268
+ # corresponds to one of the queries in a batch query request.
1269
+ # @return [Array<String>]
1270
+ #
1059
1271
  # @!attribute [rw] secret_arn
1060
1272
  # The name or Amazon Resource Name (ARN) of the secret that enables
1061
1273
  # access to the database.
@@ -1080,7 +1292,10 @@ module Aws::RedshiftDataAPIService
1080
1292
  class StatementData < Struct.new(
1081
1293
  :created_at,
1082
1294
  :id,
1295
+ :is_batch_statement,
1296
+ :query_parameters,
1083
1297
  :query_string,
1298
+ :query_strings,
1084
1299
  :secret_arn,
1085
1300
  :statement_name,
1086
1301
  :status,
@@ -1089,6 +1304,84 @@ module Aws::RedshiftDataAPIService
1089
1304
  include Aws::Structure
1090
1305
  end
1091
1306
 
1307
+ # Information about an SQL statement.
1308
+ #
1309
+ # @!attribute [rw] created_at
1310
+ # The date and time (UTC) the statement was created.
1311
+ # @return [Time]
1312
+ #
1313
+ # @!attribute [rw] duration
1314
+ # The amount of time in nanoseconds that the statement ran.
1315
+ # @return [Integer]
1316
+ #
1317
+ # @!attribute [rw] error
1318
+ # The error message from the cluster if the SQL statement encountered
1319
+ # an error while running.
1320
+ # @return [String]
1321
+ #
1322
+ # @!attribute [rw] has_result_set
1323
+ # A value that indicates whether the statement has a result set. The
1324
+ # result set can be empty.
1325
+ # @return [Boolean]
1326
+ #
1327
+ # @!attribute [rw] id
1328
+ # The identifier of the SQL statement. This value is a universally
1329
+ # unique identifier (UUID) generated by Amazon Redshift Data API. A
1330
+ # suffix indicates the number of the SQL statement. For example,
1331
+ # `d9b6c0c9-0747-4bf4-b142-e8883122f766:2` has a suffix of `:2` that
1332
+ # indicates the second SQL statement of a batch query.
1333
+ # @return [String]
1334
+ #
1335
+ # @!attribute [rw] query_string
1336
+ # The SQL statement text.
1337
+ # @return [String]
1338
+ #
1339
+ # @!attribute [rw] redshift_query_id
1340
+ # The SQL statement identifier. This value is a universally unique
1341
+ # identifier (UUID) generated by Amazon Redshift Data API.
1342
+ # @return [Integer]
1343
+ #
1344
+ # @!attribute [rw] result_rows
1345
+ # Either the number of rows returned from the SQL statement or the
1346
+ # number of rows affected. If result size is greater than zero, the
1347
+ # result rows can be the number of rows affected by SQL statements
1348
+ # such as INSERT, UPDATE, DELETE, COPY, and others. A `-1` indicates
1349
+ # the value is null.
1350
+ # @return [Integer]
1351
+ #
1352
+ # @!attribute [rw] result_size
1353
+ # The size in bytes of the returned results. A `-1` indicates the
1354
+ # value is null.
1355
+ # @return [Integer]
1356
+ #
1357
+ # @!attribute [rw] status
1358
+ # The status of the SQL statement. An example is the that the SQL
1359
+ # statement finished.
1360
+ # @return [String]
1361
+ #
1362
+ # @!attribute [rw] updated_at
1363
+ # The date and time (UTC) that the statement metadata was last
1364
+ # updated.
1365
+ # @return [Time]
1366
+ #
1367
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-data-2019-12-20/SubStatementData AWS API Documentation
1368
+ #
1369
+ class SubStatementData < Struct.new(
1370
+ :created_at,
1371
+ :duration,
1372
+ :error,
1373
+ :has_result_set,
1374
+ :id,
1375
+ :query_string,
1376
+ :redshift_query_id,
1377
+ :result_rows,
1378
+ :result_size,
1379
+ :status,
1380
+ :updated_at)
1381
+ SENSITIVE = []
1382
+ include Aws::Structure
1383
+ end
1384
+
1092
1385
  # The properties of a table.
1093
1386
  #
1094
1387
  # @!attribute [rw] name