aws-sdk-redshiftdataapiservice 1.6.0 → 1.10.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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