aws-sdk-redshift 1.40.0 → 1.45.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ee91c457458c30f76f268ee63ba0c4be469dd5029a830eed2ee1fd6323a90d4b
4
- data.tar.gz: 294076236d831a958a8cb7ed37d5847aaf5d4b8ec5952ab18a7ae5606130bce3
3
+ metadata.gz: 767255f2e5ec699b0943ff2d0fd9685f8cda9497ff5c4e91a9bc99906c4d9f00
4
+ data.tar.gz: 708149b3d092187dcc015947779fd06313926853986cd0e2cd05b54f58b8ae09
5
5
  SHA512:
6
- metadata.gz: 06174cdd92acb40d128a29346e292f4905906f7f62959aa574e7d7adc959dad49f78230a0125c8887e7ec08860002904f72088aeb8ef5e90598b1b6624957a55
7
- data.tar.gz: 2d1dac31c7c88a1a7512f11e15c9eafceebb4476b00e210cd3afd2ee4e4bee612a231031f8796b2f0c75abd5ea773738e5eb34986330c15a4b77577d63266078
6
+ metadata.gz: d0293fa4ddd5f69a3db4848b6800cd702b3fa6a52bfe47ddcd33cf968978af3b8acda72c35933bbd85b0baba27987bac74e5e22cb1b4dbb67d06b389f3a0a5c7
7
+ data.tar.gz: 12785d89805589c8a447407f987603b986093daed55909e9e96e97c85717d0279762a0d204f5bf91c051766cf02775d5b6478398e16a64e30d6eaebfa7ffc891
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -46,6 +48,6 @@ require_relative 'aws-sdk-redshift/customizations'
46
48
  # @service
47
49
  module Aws::Redshift
48
50
 
49
- GEM_VERSION = '1.40.0'
51
+ GEM_VERSION = '1.45.0'
50
52
 
51
53
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -24,6 +26,7 @@ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
26
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
27
30
  require 'aws-sdk-core/plugins/signature_v4.rb'
28
31
  require 'aws-sdk-core/plugins/protocols/query.rb'
29
32
 
@@ -69,6 +72,7 @@ module Aws::Redshift
69
72
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
70
73
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
71
74
  add_plugin(Aws::Plugins::TransferEncoding)
75
+ add_plugin(Aws::Plugins::HttpChecksum)
72
76
  add_plugin(Aws::Plugins::SignatureV4)
73
77
  add_plugin(Aws::Plugins::Protocols::Query)
74
78
 
@@ -105,7 +109,7 @@ module Aws::Redshift
105
109
  # @option options [required, String] :region
106
110
  # The AWS region to connect to. The configured `:region` is
107
111
  # used to determine the service `:endpoint`. When not passed,
108
- # a default `:region` is search for in the following locations:
112
+ # a default `:region` is searched for in the following locations:
109
113
  #
110
114
  # * `Aws.config[:region]`
111
115
  # * `ENV['AWS_REGION']`
@@ -161,7 +165,7 @@ module Aws::Redshift
161
165
  # @option options [String] :endpoint
162
166
  # The client endpoint is normally constructed from the `:region`
163
167
  # option. You should only configure an `:endpoint` when connecting
164
- # to test endpoints. This should be avalid HTTP(S) URI.
168
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
165
169
  #
166
170
  # @option options [Integer] :endpoint_cache_max_entries (1000)
167
171
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -176,7 +180,7 @@ module Aws::Redshift
176
180
  # requests fetching endpoints information. Defaults to 60 sec.
177
181
  #
178
182
  # @option options [Boolean] :endpoint_discovery (false)
179
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
183
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
180
184
  #
181
185
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
182
186
  # The log formatter.
@@ -2213,6 +2217,89 @@ module Aws::Redshift
2213
2217
  req.send_request(options)
2214
2218
  end
2215
2219
 
2220
+ # Creates a usage limit for a specified Amazon Redshift feature on a
2221
+ # cluster. The usage limit is identified by the returned usage limit
2222
+ # identifier.
2223
+ #
2224
+ # @option params [required, String] :cluster_identifier
2225
+ # The identifier of the cluster that you want to limit usage.
2226
+ #
2227
+ # @option params [required, String] :feature_type
2228
+ # The Amazon Redshift feature that you want to limit.
2229
+ #
2230
+ # @option params [required, String] :limit_type
2231
+ # The type of limit. Depending on the feature type, this can be based on
2232
+ # a time duration or data size. If `FeatureType` is `spectrum`, then
2233
+ # `LimitType` must be `data-scanned`. If `FeatureType` is
2234
+ # `concurrency-scaling`, then `LimitType` must be `time`.
2235
+ #
2236
+ # @option params [required, Integer] :amount
2237
+ # The limit amount. If time-based, this amount is in minutes. If
2238
+ # data-based, this amount is in terabytes (TB). The value must be a
2239
+ # positive number.
2240
+ #
2241
+ # @option params [String] :period
2242
+ # The time period that the amount applies to. A `weekly` period begins
2243
+ # on Sunday. The default is `monthly`.
2244
+ #
2245
+ # @option params [String] :breach_action
2246
+ # The action that Amazon Redshift takes when the limit is reached. The
2247
+ # default is log. For more information about this parameter, see
2248
+ # UsageLimit.
2249
+ #
2250
+ # @option params [Array<Types::Tag>] :tags
2251
+ # A list of tag instances.
2252
+ #
2253
+ # @return [Types::UsageLimit] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2254
+ #
2255
+ # * {Types::UsageLimit#usage_limit_id #usage_limit_id} => String
2256
+ # * {Types::UsageLimit#cluster_identifier #cluster_identifier} => String
2257
+ # * {Types::UsageLimit#feature_type #feature_type} => String
2258
+ # * {Types::UsageLimit#limit_type #limit_type} => String
2259
+ # * {Types::UsageLimit#amount #amount} => Integer
2260
+ # * {Types::UsageLimit#period #period} => String
2261
+ # * {Types::UsageLimit#breach_action #breach_action} => String
2262
+ # * {Types::UsageLimit#tags #tags} => Array&lt;Types::Tag&gt;
2263
+ #
2264
+ # @example Request syntax with placeholder values
2265
+ #
2266
+ # resp = client.create_usage_limit({
2267
+ # cluster_identifier: "String", # required
2268
+ # feature_type: "spectrum", # required, accepts spectrum, concurrency-scaling
2269
+ # limit_type: "time", # required, accepts time, data-scanned
2270
+ # amount: 1, # required
2271
+ # period: "daily", # accepts daily, weekly, monthly
2272
+ # breach_action: "log", # accepts log, emit-metric, disable
2273
+ # tags: [
2274
+ # {
2275
+ # key: "String",
2276
+ # value: "String",
2277
+ # },
2278
+ # ],
2279
+ # })
2280
+ #
2281
+ # @example Response structure
2282
+ #
2283
+ # resp.usage_limit_id #=> String
2284
+ # resp.cluster_identifier #=> String
2285
+ # resp.feature_type #=> String, one of "spectrum", "concurrency-scaling"
2286
+ # resp.limit_type #=> String, one of "time", "data-scanned"
2287
+ # resp.amount #=> Integer
2288
+ # resp.period #=> String, one of "daily", "weekly", "monthly"
2289
+ # resp.breach_action #=> String, one of "log", "emit-metric", "disable"
2290
+ # resp.tags #=> Array
2291
+ # resp.tags[0].key #=> String
2292
+ # resp.tags[0].value #=> String
2293
+ #
2294
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateUsageLimit AWS API Documentation
2295
+ #
2296
+ # @overload create_usage_limit(params = {})
2297
+ # @param [Hash] params ({})
2298
+ def create_usage_limit(params = {}, options = {})
2299
+ req = build_request(:create_usage_limit, params)
2300
+ req.send_request(options)
2301
+ end
2302
+
2216
2303
  # Deletes a previously provisioned cluster without its final snapshot
2217
2304
  # being created. A successful response from the web service indicates
2218
2305
  # that the request was received correctly. Use DescribeClusters to
@@ -2741,6 +2828,28 @@ module Aws::Redshift
2741
2828
  req.send_request(options)
2742
2829
  end
2743
2830
 
2831
+ # Deletes a usage limit from a cluster.
2832
+ #
2833
+ # @option params [required, String] :usage_limit_id
2834
+ # The identifier of the usage limit to delete.
2835
+ #
2836
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2837
+ #
2838
+ # @example Request syntax with placeholder values
2839
+ #
2840
+ # resp = client.delete_usage_limit({
2841
+ # usage_limit_id: "String", # required
2842
+ # })
2843
+ #
2844
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteUsageLimit AWS API Documentation
2845
+ #
2846
+ # @overload delete_usage_limit(params = {})
2847
+ # @param [Hash] params ({})
2848
+ def delete_usage_limit(params = {}, options = {})
2849
+ req = build_request(:delete_usage_limit, params)
2850
+ req.send_request(options)
2851
+ end
2852
+
2744
2853
  # Returns a list of attributes attached to an account
2745
2854
  #
2746
2855
  # @option params [Array<String>] :attribute_names
@@ -5247,6 +5356,114 @@ module Aws::Redshift
5247
5356
  req.send_request(options)
5248
5357
  end
5249
5358
 
5359
+ # Shows usage limits on a cluster. Results are filtered based on the
5360
+ # combination of input usage limit identifier, cluster identifier, and
5361
+ # feature type parameters:
5362
+ #
5363
+ # * If usage limit identifier, cluster identifier, and feature type are
5364
+ # not provided, then all usage limit objects for the current account
5365
+ # in the current region are returned.
5366
+ #
5367
+ # * If usage limit identifier is provided, then the corresponding usage
5368
+ # limit object is returned.
5369
+ #
5370
+ # * If cluster identifier is provided, then all usage limit objects for
5371
+ # the specified cluster are returned.
5372
+ #
5373
+ # * If cluster identifier and feature type are provided, then all usage
5374
+ # limit objects for the combination of cluster and feature are
5375
+ # returned.
5376
+ #
5377
+ # @option params [String] :usage_limit_id
5378
+ # The identifier of the usage limit to describe.
5379
+ #
5380
+ # @option params [String] :cluster_identifier
5381
+ # The identifier of the cluster for which you want to describe usage
5382
+ # limits.
5383
+ #
5384
+ # @option params [String] :feature_type
5385
+ # The feature type for which you want to describe usage limits.
5386
+ #
5387
+ # @option params [Integer] :max_records
5388
+ # The maximum number of response records to return in each call. If the
5389
+ # number of remaining response records exceeds the specified
5390
+ # `MaxRecords` value, a value is returned in a `marker` field of the
5391
+ # response. You can retrieve the next set of records by retrying the
5392
+ # command with the returned marker value.
5393
+ #
5394
+ # Default: `100`
5395
+ #
5396
+ # Constraints: minimum 20, maximum 100.
5397
+ #
5398
+ # @option params [String] :marker
5399
+ # An optional parameter that specifies the starting point to return a
5400
+ # set of response records. When the results of a DescribeUsageLimits
5401
+ # request exceed the value specified in `MaxRecords`, AWS returns a
5402
+ # value in the `Marker` field of the response. You can retrieve the next
5403
+ # set of response records by providing the returned marker value in the
5404
+ # `Marker` parameter and retrying the request.
5405
+ #
5406
+ # @option params [Array<String>] :tag_keys
5407
+ # A tag key or keys for which you want to return all matching usage
5408
+ # limit objects that are associated with the specified key or keys. For
5409
+ # example, suppose that you have parameter groups that are tagged with
5410
+ # keys called `owner` and `environment`. If you specify both of these
5411
+ # tag keys in the request, Amazon Redshift returns a response with the
5412
+ # usage limit objects have either or both of these tag keys associated
5413
+ # with them.
5414
+ #
5415
+ # @option params [Array<String>] :tag_values
5416
+ # A tag value or values for which you want to return all matching usage
5417
+ # limit objects that are associated with the specified tag value or
5418
+ # values. For example, suppose that you have parameter groups that are
5419
+ # tagged with values called `admin` and `test`. If you specify both of
5420
+ # these tag values in the request, Amazon Redshift returns a response
5421
+ # with the usage limit objects that have either or both of these tag
5422
+ # values associated with them.
5423
+ #
5424
+ # @return [Types::UsageLimitList] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5425
+ #
5426
+ # * {Types::UsageLimitList#usage_limits #usage_limits} => Array&lt;Types::UsageLimit&gt;
5427
+ # * {Types::UsageLimitList#marker #marker} => String
5428
+ #
5429
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
5430
+ #
5431
+ # @example Request syntax with placeholder values
5432
+ #
5433
+ # resp = client.describe_usage_limits({
5434
+ # usage_limit_id: "String",
5435
+ # cluster_identifier: "String",
5436
+ # feature_type: "spectrum", # accepts spectrum, concurrency-scaling
5437
+ # max_records: 1,
5438
+ # marker: "String",
5439
+ # tag_keys: ["String"],
5440
+ # tag_values: ["String"],
5441
+ # })
5442
+ #
5443
+ # @example Response structure
5444
+ #
5445
+ # resp.usage_limits #=> Array
5446
+ # resp.usage_limits[0].usage_limit_id #=> String
5447
+ # resp.usage_limits[0].cluster_identifier #=> String
5448
+ # resp.usage_limits[0].feature_type #=> String, one of "spectrum", "concurrency-scaling"
5449
+ # resp.usage_limits[0].limit_type #=> String, one of "time", "data-scanned"
5450
+ # resp.usage_limits[0].amount #=> Integer
5451
+ # resp.usage_limits[0].period #=> String, one of "daily", "weekly", "monthly"
5452
+ # resp.usage_limits[0].breach_action #=> String, one of "log", "emit-metric", "disable"
5453
+ # resp.usage_limits[0].tags #=> Array
5454
+ # resp.usage_limits[0].tags[0].key #=> String
5455
+ # resp.usage_limits[0].tags[0].value #=> String
5456
+ # resp.marker #=> String
5457
+ #
5458
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeUsageLimits AWS API Documentation
5459
+ #
5460
+ # @overload describe_usage_limits(params = {})
5461
+ # @param [Hash] params ({})
5462
+ def describe_usage_limits(params = {}, options = {})
5463
+ req = build_request(:describe_usage_limits, params)
5464
+ req.send_request(options)
5465
+ end
5466
+
5250
5467
  # Stops logging information, such as queries and connection attempts,
5251
5468
  # for the specified Amazon Redshift cluster.
5252
5469
  #
@@ -7325,6 +7542,61 @@ module Aws::Redshift
7325
7542
  req.send_request(options)
7326
7543
  end
7327
7544
 
7545
+ # Modifies a usage limit in a cluster. You can't modify the feature
7546
+ # type or period of a usage limit.
7547
+ #
7548
+ # @option params [required, String] :usage_limit_id
7549
+ # The identifier of the usage limit to modify.
7550
+ #
7551
+ # @option params [Integer] :amount
7552
+ # The new limit amount. For more information about this parameter, see
7553
+ # UsageLimit.
7554
+ #
7555
+ # @option params [String] :breach_action
7556
+ # The new action that Amazon Redshift takes when the limit is reached.
7557
+ # For more information about this parameter, see UsageLimit.
7558
+ #
7559
+ # @return [Types::UsageLimit] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7560
+ #
7561
+ # * {Types::UsageLimit#usage_limit_id #usage_limit_id} => String
7562
+ # * {Types::UsageLimit#cluster_identifier #cluster_identifier} => String
7563
+ # * {Types::UsageLimit#feature_type #feature_type} => String
7564
+ # * {Types::UsageLimit#limit_type #limit_type} => String
7565
+ # * {Types::UsageLimit#amount #amount} => Integer
7566
+ # * {Types::UsageLimit#period #period} => String
7567
+ # * {Types::UsageLimit#breach_action #breach_action} => String
7568
+ # * {Types::UsageLimit#tags #tags} => Array&lt;Types::Tag&gt;
7569
+ #
7570
+ # @example Request syntax with placeholder values
7571
+ #
7572
+ # resp = client.modify_usage_limit({
7573
+ # usage_limit_id: "String", # required
7574
+ # amount: 1,
7575
+ # breach_action: "log", # accepts log, emit-metric, disable
7576
+ # })
7577
+ #
7578
+ # @example Response structure
7579
+ #
7580
+ # resp.usage_limit_id #=> String
7581
+ # resp.cluster_identifier #=> String
7582
+ # resp.feature_type #=> String, one of "spectrum", "concurrency-scaling"
7583
+ # resp.limit_type #=> String, one of "time", "data-scanned"
7584
+ # resp.amount #=> Integer
7585
+ # resp.period #=> String, one of "daily", "weekly", "monthly"
7586
+ # resp.breach_action #=> String, one of "log", "emit-metric", "disable"
7587
+ # resp.tags #=> Array
7588
+ # resp.tags[0].key #=> String
7589
+ # resp.tags[0].value #=> String
7590
+ #
7591
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyUsageLimit AWS API Documentation
7592
+ #
7593
+ # @overload modify_usage_limit(params = {})
7594
+ # @param [Hash] params ({})
7595
+ def modify_usage_limit(params = {}, options = {})
7596
+ req = build_request(:modify_usage_limit, params)
7597
+ req.send_request(options)
7598
+ end
7599
+
7328
7600
  # Pauses a cluster.
7329
7601
  #
7330
7602
  # @option params [required, String] :cluster_identifier
@@ -8050,7 +8322,7 @@ module Aws::Redshift
8050
8322
  # restore into that same instance type and size. In other words, you can
8051
8323
  # only restore a dc1.large instance type into another dc1.large instance
8052
8324
  # type or dc2.large instance type. You can't restore dc1.8xlarge to
8053
- # dc2.8xlarge. First restore to a dc1.8xlareg cluster, then resize to a
8325
+ # dc2.8xlarge. First restore to a dc1.8xlarge cluster, then resize to a
8054
8326
  # dc2.8large cluster. For more information about node types, see [ About
8055
8327
  # Clusters and Nodes][1] in the *Amazon Redshift Cluster Management
8056
8328
  # Guide*.
@@ -8754,7 +9026,7 @@ module Aws::Redshift
8754
9026
  params: params,
8755
9027
  config: config)
8756
9028
  context[:gem_name] = 'aws-sdk-redshift'
8757
- context[:gem_version] = '1.40.0'
9029
+ context[:gem_version] = '1.45.0'
8758
9030
  Seahorse::Client::Request.new(handlers, context)
8759
9031
  end
8760
9032
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -119,6 +121,7 @@ module Aws::Redshift
119
121
  CreateSnapshotCopyGrantResult = Shapes::StructureShape.new(name: 'CreateSnapshotCopyGrantResult')
120
122
  CreateSnapshotScheduleMessage = Shapes::StructureShape.new(name: 'CreateSnapshotScheduleMessage')
121
123
  CreateTagsMessage = Shapes::StructureShape.new(name: 'CreateTagsMessage')
124
+ CreateUsageLimitMessage = Shapes::StructureShape.new(name: 'CreateUsageLimitMessage')
122
125
  CustomerStorageMessage = Shapes::StructureShape.new(name: 'CustomerStorageMessage')
123
126
  DataTransferProgress = Shapes::StructureShape.new(name: 'DataTransferProgress')
124
127
  DbGroupList = Shapes::ListShape.new(name: 'DbGroupList')
@@ -140,6 +143,7 @@ module Aws::Redshift
140
143
  DeleteSnapshotCopyGrantMessage = Shapes::StructureShape.new(name: 'DeleteSnapshotCopyGrantMessage')
141
144
  DeleteSnapshotScheduleMessage = Shapes::StructureShape.new(name: 'DeleteSnapshotScheduleMessage')
142
145
  DeleteTagsMessage = Shapes::StructureShape.new(name: 'DeleteTagsMessage')
146
+ DeleteUsageLimitMessage = Shapes::StructureShape.new(name: 'DeleteUsageLimitMessage')
143
147
  DependentServiceRequestThrottlingFault = Shapes::StructureShape.new(name: 'DependentServiceRequestThrottlingFault')
144
148
  DependentServiceUnavailableFault = Shapes::StructureShape.new(name: 'DependentServiceUnavailableFault')
145
149
  DescribeAccountAttributesMessage = Shapes::StructureShape.new(name: 'DescribeAccountAttributesMessage')
@@ -171,6 +175,7 @@ module Aws::Redshift
171
175
  DescribeSnapshotSchedulesOutputMessage = Shapes::StructureShape.new(name: 'DescribeSnapshotSchedulesOutputMessage')
172
176
  DescribeTableRestoreStatusMessage = Shapes::StructureShape.new(name: 'DescribeTableRestoreStatusMessage')
173
177
  DescribeTagsMessage = Shapes::StructureShape.new(name: 'DescribeTagsMessage')
178
+ DescribeUsageLimitsMessage = Shapes::StructureShape.new(name: 'DescribeUsageLimitsMessage')
174
179
  DisableLoggingMessage = Shapes::StructureShape.new(name: 'DisableLoggingMessage')
175
180
  DisableSnapshotCopyMessage = Shapes::StructureShape.new(name: 'DisableSnapshotCopyMessage')
176
181
  DisableSnapshotCopyResult = Shapes::StructureShape.new(name: 'DisableSnapshotCopyResult')
@@ -248,6 +253,7 @@ module Aws::Redshift
248
253
  InvalidSubscriptionStateFault = Shapes::StructureShape.new(name: 'InvalidSubscriptionStateFault')
249
254
  InvalidTableRestoreArgumentFault = Shapes::StructureShape.new(name: 'InvalidTableRestoreArgumentFault')
250
255
  InvalidTagFault = Shapes::StructureShape.new(name: 'InvalidTagFault')
256
+ InvalidUsageLimitFault = Shapes::StructureShape.new(name: 'InvalidUsageLimitFault')
251
257
  InvalidVPCNetworkStateFault = Shapes::StructureShape.new(name: 'InvalidVPCNetworkStateFault')
252
258
  LimitExceededFault = Shapes::StructureShape.new(name: 'LimitExceededFault')
253
259
  LoggingStatus = Shapes::StructureShape.new(name: 'LoggingStatus')
@@ -275,6 +281,7 @@ module Aws::Redshift
275
281
  ModifySnapshotCopyRetentionPeriodMessage = Shapes::StructureShape.new(name: 'ModifySnapshotCopyRetentionPeriodMessage')
276
282
  ModifySnapshotCopyRetentionPeriodResult = Shapes::StructureShape.new(name: 'ModifySnapshotCopyRetentionPeriodResult')
277
283
  ModifySnapshotScheduleMessage = Shapes::StructureShape.new(name: 'ModifySnapshotScheduleMessage')
284
+ ModifyUsageLimitMessage = Shapes::StructureShape.new(name: 'ModifyUsageLimitMessage')
278
285
  NodeConfigurationOption = Shapes::StructureShape.new(name: 'NodeConfigurationOption')
279
286
  NodeConfigurationOptionList = Shapes::ListShape.new(name: 'NodeConfigurationOptionList')
280
287
  NodeConfigurationOptionsFilter = Shapes::StructureShape.new(name: 'NodeConfigurationOptionsFilter')
@@ -421,6 +428,15 @@ module Aws::Redshift
421
428
  UnsupportedOperationFault = Shapes::StructureShape.new(name: 'UnsupportedOperationFault')
422
429
  UnsupportedOptionFault = Shapes::StructureShape.new(name: 'UnsupportedOptionFault')
423
430
  UpdateTarget = Shapes::StructureShape.new(name: 'UpdateTarget')
431
+ UsageLimit = Shapes::StructureShape.new(name: 'UsageLimit')
432
+ UsageLimitAlreadyExistsFault = Shapes::StructureShape.new(name: 'UsageLimitAlreadyExistsFault')
433
+ UsageLimitBreachAction = Shapes::StringShape.new(name: 'UsageLimitBreachAction')
434
+ UsageLimitFeatureType = Shapes::StringShape.new(name: 'UsageLimitFeatureType')
435
+ UsageLimitLimitType = Shapes::StringShape.new(name: 'UsageLimitLimitType')
436
+ UsageLimitList = Shapes::StructureShape.new(name: 'UsageLimitList')
437
+ UsageLimitNotFoundFault = Shapes::StructureShape.new(name: 'UsageLimitNotFoundFault')
438
+ UsageLimitPeriod = Shapes::StringShape.new(name: 'UsageLimitPeriod')
439
+ UsageLimits = Shapes::ListShape.new(name: 'UsageLimits')
424
440
  ValueStringList = Shapes::ListShape.new(name: 'ValueStringList')
425
441
  VpcSecurityGroupIdList = Shapes::ListShape.new(name: 'VpcSecurityGroupIdList')
426
442
  VpcSecurityGroupMembership = Shapes::StructureShape.new(name: 'VpcSecurityGroupMembership')
@@ -866,6 +882,15 @@ module Aws::Redshift
866
882
  CreateTagsMessage.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, required: true, location_name: "Tags"))
867
883
  CreateTagsMessage.struct_class = Types::CreateTagsMessage
868
884
 
885
+ CreateUsageLimitMessage.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ClusterIdentifier"))
886
+ CreateUsageLimitMessage.add_member(:feature_type, Shapes::ShapeRef.new(shape: UsageLimitFeatureType, required: true, location_name: "FeatureType"))
887
+ CreateUsageLimitMessage.add_member(:limit_type, Shapes::ShapeRef.new(shape: UsageLimitLimitType, required: true, location_name: "LimitType"))
888
+ CreateUsageLimitMessage.add_member(:amount, Shapes::ShapeRef.new(shape: Long, required: true, location_name: "Amount"))
889
+ CreateUsageLimitMessage.add_member(:period, Shapes::ShapeRef.new(shape: UsageLimitPeriod, location_name: "Period"))
890
+ CreateUsageLimitMessage.add_member(:breach_action, Shapes::ShapeRef.new(shape: UsageLimitBreachAction, location_name: "BreachAction"))
891
+ CreateUsageLimitMessage.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
892
+ CreateUsageLimitMessage.struct_class = Types::CreateUsageLimitMessage
893
+
869
894
  CustomerStorageMessage.add_member(:total_backup_size_in_mega_bytes, Shapes::ShapeRef.new(shape: Double, location_name: "TotalBackupSizeInMegaBytes"))
870
895
  CustomerStorageMessage.add_member(:total_provisioned_storage_in_mega_bytes, Shapes::ShapeRef.new(shape: Double, location_name: "TotalProvisionedStorageInMegaBytes"))
871
896
  CustomerStorageMessage.struct_class = Types::CustomerStorageMessage
@@ -941,6 +966,9 @@ module Aws::Redshift
941
966
  DeleteTagsMessage.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, required: true, location_name: "TagKeys"))
942
967
  DeleteTagsMessage.struct_class = Types::DeleteTagsMessage
943
968
 
969
+ DeleteUsageLimitMessage.add_member(:usage_limit_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "UsageLimitId"))
970
+ DeleteUsageLimitMessage.struct_class = Types::DeleteUsageLimitMessage
971
+
944
972
  DependentServiceRequestThrottlingFault.struct_class = Types::DependentServiceRequestThrottlingFault
945
973
 
946
974
  DependentServiceUnavailableFault.struct_class = Types::DependentServiceUnavailableFault
@@ -1127,6 +1155,15 @@ module Aws::Redshift
1127
1155
  DescribeTagsMessage.add_member(:tag_values, Shapes::ShapeRef.new(shape: TagValueList, location_name: "TagValues"))
1128
1156
  DescribeTagsMessage.struct_class = Types::DescribeTagsMessage
1129
1157
 
1158
+ DescribeUsageLimitsMessage.add_member(:usage_limit_id, Shapes::ShapeRef.new(shape: String, location_name: "UsageLimitId"))
1159
+ DescribeUsageLimitsMessage.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: String, location_name: "ClusterIdentifier"))
1160
+ DescribeUsageLimitsMessage.add_member(:feature_type, Shapes::ShapeRef.new(shape: UsageLimitFeatureType, location_name: "FeatureType"))
1161
+ DescribeUsageLimitsMessage.add_member(:max_records, Shapes::ShapeRef.new(shape: IntegerOptional, location_name: "MaxRecords"))
1162
+ DescribeUsageLimitsMessage.add_member(:marker, Shapes::ShapeRef.new(shape: String, location_name: "Marker"))
1163
+ DescribeUsageLimitsMessage.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, location_name: "TagKeys"))
1164
+ DescribeUsageLimitsMessage.add_member(:tag_values, Shapes::ShapeRef.new(shape: TagValueList, location_name: "TagValues"))
1165
+ DescribeUsageLimitsMessage.struct_class = Types::DescribeUsageLimitsMessage
1166
+
1130
1167
  DisableLoggingMessage.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ClusterIdentifier"))
1131
1168
  DisableLoggingMessage.struct_class = Types::DisableLoggingMessage
1132
1169
 
@@ -1351,6 +1388,8 @@ module Aws::Redshift
1351
1388
 
1352
1389
  InvalidTagFault.struct_class = Types::InvalidTagFault
1353
1390
 
1391
+ InvalidUsageLimitFault.struct_class = Types::InvalidUsageLimitFault
1392
+
1354
1393
  InvalidVPCNetworkStateFault.struct_class = Types::InvalidVPCNetworkStateFault
1355
1394
 
1356
1395
  LimitExceededFault.struct_class = Types::LimitExceededFault
@@ -1480,6 +1519,11 @@ module Aws::Redshift
1480
1519
  ModifySnapshotScheduleMessage.add_member(:schedule_definitions, Shapes::ShapeRef.new(shape: ScheduleDefinitionList, required: true, location_name: "ScheduleDefinitions"))
1481
1520
  ModifySnapshotScheduleMessage.struct_class = Types::ModifySnapshotScheduleMessage
1482
1521
 
1522
+ ModifyUsageLimitMessage.add_member(:usage_limit_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "UsageLimitId"))
1523
+ ModifyUsageLimitMessage.add_member(:amount, Shapes::ShapeRef.new(shape: LongOptional, location_name: "Amount"))
1524
+ ModifyUsageLimitMessage.add_member(:breach_action, Shapes::ShapeRef.new(shape: UsageLimitBreachAction, location_name: "BreachAction"))
1525
+ ModifyUsageLimitMessage.struct_class = Types::ModifyUsageLimitMessage
1526
+
1483
1527
  NodeConfigurationOption.add_member(:node_type, Shapes::ShapeRef.new(shape: String, location_name: "NodeType"))
1484
1528
  NodeConfigurationOption.add_member(:number_of_nodes, Shapes::ShapeRef.new(shape: Integer, location_name: "NumberOfNodes"))
1485
1529
  NodeConfigurationOption.add_member(:estimated_disk_utilization_percent, Shapes::ShapeRef.new(shape: DoubleOptional, location_name: "EstimatedDiskUtilizationPercent"))
@@ -1999,6 +2043,26 @@ module Aws::Redshift
1999
2043
  UpdateTarget.add_member(:supported_operations, Shapes::ShapeRef.new(shape: SupportedOperationList, location_name: "SupportedOperations"))
2000
2044
  UpdateTarget.struct_class = Types::UpdateTarget
2001
2045
 
2046
+ UsageLimit.add_member(:usage_limit_id, Shapes::ShapeRef.new(shape: String, location_name: "UsageLimitId"))
2047
+ UsageLimit.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: String, location_name: "ClusterIdentifier"))
2048
+ UsageLimit.add_member(:feature_type, Shapes::ShapeRef.new(shape: UsageLimitFeatureType, location_name: "FeatureType"))
2049
+ UsageLimit.add_member(:limit_type, Shapes::ShapeRef.new(shape: UsageLimitLimitType, location_name: "LimitType"))
2050
+ UsageLimit.add_member(:amount, Shapes::ShapeRef.new(shape: Long, location_name: "Amount"))
2051
+ UsageLimit.add_member(:period, Shapes::ShapeRef.new(shape: UsageLimitPeriod, location_name: "Period"))
2052
+ UsageLimit.add_member(:breach_action, Shapes::ShapeRef.new(shape: UsageLimitBreachAction, location_name: "BreachAction"))
2053
+ UsageLimit.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
2054
+ UsageLimit.struct_class = Types::UsageLimit
2055
+
2056
+ UsageLimitAlreadyExistsFault.struct_class = Types::UsageLimitAlreadyExistsFault
2057
+
2058
+ UsageLimitList.add_member(:usage_limits, Shapes::ShapeRef.new(shape: UsageLimits, location_name: "UsageLimits"))
2059
+ UsageLimitList.add_member(:marker, Shapes::ShapeRef.new(shape: String, location_name: "Marker"))
2060
+ UsageLimitList.struct_class = Types::UsageLimitList
2061
+
2062
+ UsageLimitNotFoundFault.struct_class = Types::UsageLimitNotFoundFault
2063
+
2064
+ UsageLimits.member = Shapes::ShapeRef.new(shape: UsageLimit)
2065
+
2002
2066
  ValueStringList.member = Shapes::ShapeRef.new(shape: String, location_name: "item")
2003
2067
 
2004
2068
  VpcSecurityGroupIdList.member = Shapes::ShapeRef.new(shape: String, location_name: "VpcSecurityGroupId")
@@ -2291,6 +2355,21 @@ module Aws::Redshift
2291
2355
  o.errors << Shapes::ShapeRef.new(shape: InvalidTagFault)
2292
2356
  end)
2293
2357
 
2358
+ api.add_operation(:create_usage_limit, Seahorse::Model::Operation.new.tap do |o|
2359
+ o.name = "CreateUsageLimit"
2360
+ o.http_method = "POST"
2361
+ o.http_request_uri = "/"
2362
+ o.input = Shapes::ShapeRef.new(shape: CreateUsageLimitMessage)
2363
+ o.output = Shapes::ShapeRef.new(shape: UsageLimit)
2364
+ o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundFault)
2365
+ o.errors << Shapes::ShapeRef.new(shape: InvalidClusterStateFault)
2366
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededFault)
2367
+ o.errors << Shapes::ShapeRef.new(shape: UsageLimitAlreadyExistsFault)
2368
+ o.errors << Shapes::ShapeRef.new(shape: InvalidUsageLimitFault)
2369
+ o.errors << Shapes::ShapeRef.new(shape: TagLimitExceededFault)
2370
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationFault)
2371
+ end)
2372
+
2294
2373
  api.add_operation(:delete_cluster, Seahorse::Model::Operation.new.tap do |o|
2295
2374
  o.name = "DeleteCluster"
2296
2375
  o.http_method = "POST"
@@ -2415,6 +2494,16 @@ module Aws::Redshift
2415
2494
  o.errors << Shapes::ShapeRef.new(shape: InvalidTagFault)
2416
2495
  end)
2417
2496
 
2497
+ api.add_operation(:delete_usage_limit, Seahorse::Model::Operation.new.tap do |o|
2498
+ o.name = "DeleteUsageLimit"
2499
+ o.http_method = "POST"
2500
+ o.http_request_uri = "/"
2501
+ o.input = Shapes::ShapeRef.new(shape: DeleteUsageLimitMessage)
2502
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2503
+ o.errors << Shapes::ShapeRef.new(shape: UsageLimitNotFoundFault)
2504
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationFault)
2505
+ end)
2506
+
2418
2507
  api.add_operation(:describe_account_attributes, Seahorse::Model::Operation.new.tap do |o|
2419
2508
  o.name = "DescribeAccountAttributes"
2420
2509
  o.http_method = "POST"
@@ -2783,6 +2872,22 @@ module Aws::Redshift
2783
2872
  o.errors << Shapes::ShapeRef.new(shape: InvalidTagFault)
2784
2873
  end)
2785
2874
 
2875
+ api.add_operation(:describe_usage_limits, Seahorse::Model::Operation.new.tap do |o|
2876
+ o.name = "DescribeUsageLimits"
2877
+ o.http_method = "POST"
2878
+ o.http_request_uri = "/"
2879
+ o.input = Shapes::ShapeRef.new(shape: DescribeUsageLimitsMessage)
2880
+ o.output = Shapes::ShapeRef.new(shape: UsageLimitList)
2881
+ o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundFault)
2882
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationFault)
2883
+ o[:pager] = Aws::Pager.new(
2884
+ limit_key: "max_records",
2885
+ tokens: {
2886
+ "marker" => "marker"
2887
+ }
2888
+ )
2889
+ end)
2890
+
2786
2891
  api.add_operation(:disable_logging, Seahorse::Model::Operation.new.tap do |o|
2787
2892
  o.name = "DisableLogging"
2788
2893
  o.http_method = "POST"
@@ -3019,6 +3124,17 @@ module Aws::Redshift
3019
3124
  o.errors << Shapes::ShapeRef.new(shape: SnapshotScheduleUpdateInProgressFault)
3020
3125
  end)
3021
3126
 
3127
+ api.add_operation(:modify_usage_limit, Seahorse::Model::Operation.new.tap do |o|
3128
+ o.name = "ModifyUsageLimit"
3129
+ o.http_method = "POST"
3130
+ o.http_request_uri = "/"
3131
+ o.input = Shapes::ShapeRef.new(shape: ModifyUsageLimitMessage)
3132
+ o.output = Shapes::ShapeRef.new(shape: UsageLimit)
3133
+ o.errors << Shapes::ShapeRef.new(shape: InvalidUsageLimitFault)
3134
+ o.errors << Shapes::ShapeRef.new(shape: UsageLimitNotFoundFault)
3135
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationFault)
3136
+ end)
3137
+
3022
3138
  api.add_operation(:pause_cluster, Seahorse::Model::Operation.new.tap do |o|
3023
3139
  o.name = "PauseCluster"
3024
3140
  o.http_method = "POST"