aws-sdk-redshift 1.38.0 → 1.43.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.
@@ -119,6 +119,7 @@ module Aws::Redshift
119
119
  CreateSnapshotCopyGrantResult = Shapes::StructureShape.new(name: 'CreateSnapshotCopyGrantResult')
120
120
  CreateSnapshotScheduleMessage = Shapes::StructureShape.new(name: 'CreateSnapshotScheduleMessage')
121
121
  CreateTagsMessage = Shapes::StructureShape.new(name: 'CreateTagsMessage')
122
+ CreateUsageLimitMessage = Shapes::StructureShape.new(name: 'CreateUsageLimitMessage')
122
123
  CustomerStorageMessage = Shapes::StructureShape.new(name: 'CustomerStorageMessage')
123
124
  DataTransferProgress = Shapes::StructureShape.new(name: 'DataTransferProgress')
124
125
  DbGroupList = Shapes::ListShape.new(name: 'DbGroupList')
@@ -140,6 +141,7 @@ module Aws::Redshift
140
141
  DeleteSnapshotCopyGrantMessage = Shapes::StructureShape.new(name: 'DeleteSnapshotCopyGrantMessage')
141
142
  DeleteSnapshotScheduleMessage = Shapes::StructureShape.new(name: 'DeleteSnapshotScheduleMessage')
142
143
  DeleteTagsMessage = Shapes::StructureShape.new(name: 'DeleteTagsMessage')
144
+ DeleteUsageLimitMessage = Shapes::StructureShape.new(name: 'DeleteUsageLimitMessage')
143
145
  DependentServiceRequestThrottlingFault = Shapes::StructureShape.new(name: 'DependentServiceRequestThrottlingFault')
144
146
  DependentServiceUnavailableFault = Shapes::StructureShape.new(name: 'DependentServiceUnavailableFault')
145
147
  DescribeAccountAttributesMessage = Shapes::StructureShape.new(name: 'DescribeAccountAttributesMessage')
@@ -171,6 +173,7 @@ module Aws::Redshift
171
173
  DescribeSnapshotSchedulesOutputMessage = Shapes::StructureShape.new(name: 'DescribeSnapshotSchedulesOutputMessage')
172
174
  DescribeTableRestoreStatusMessage = Shapes::StructureShape.new(name: 'DescribeTableRestoreStatusMessage')
173
175
  DescribeTagsMessage = Shapes::StructureShape.new(name: 'DescribeTagsMessage')
176
+ DescribeUsageLimitsMessage = Shapes::StructureShape.new(name: 'DescribeUsageLimitsMessage')
174
177
  DisableLoggingMessage = Shapes::StructureShape.new(name: 'DisableLoggingMessage')
175
178
  DisableSnapshotCopyMessage = Shapes::StructureShape.new(name: 'DisableSnapshotCopyMessage')
176
179
  DisableSnapshotCopyResult = Shapes::StructureShape.new(name: 'DisableSnapshotCopyResult')
@@ -248,6 +251,7 @@ module Aws::Redshift
248
251
  InvalidSubscriptionStateFault = Shapes::StructureShape.new(name: 'InvalidSubscriptionStateFault')
249
252
  InvalidTableRestoreArgumentFault = Shapes::StructureShape.new(name: 'InvalidTableRestoreArgumentFault')
250
253
  InvalidTagFault = Shapes::StructureShape.new(name: 'InvalidTagFault')
254
+ InvalidUsageLimitFault = Shapes::StructureShape.new(name: 'InvalidUsageLimitFault')
251
255
  InvalidVPCNetworkStateFault = Shapes::StructureShape.new(name: 'InvalidVPCNetworkStateFault')
252
256
  LimitExceededFault = Shapes::StructureShape.new(name: 'LimitExceededFault')
253
257
  LoggingStatus = Shapes::StructureShape.new(name: 'LoggingStatus')
@@ -275,6 +279,7 @@ module Aws::Redshift
275
279
  ModifySnapshotCopyRetentionPeriodMessage = Shapes::StructureShape.new(name: 'ModifySnapshotCopyRetentionPeriodMessage')
276
280
  ModifySnapshotCopyRetentionPeriodResult = Shapes::StructureShape.new(name: 'ModifySnapshotCopyRetentionPeriodResult')
277
281
  ModifySnapshotScheduleMessage = Shapes::StructureShape.new(name: 'ModifySnapshotScheduleMessage')
282
+ ModifyUsageLimitMessage = Shapes::StructureShape.new(name: 'ModifyUsageLimitMessage')
278
283
  NodeConfigurationOption = Shapes::StructureShape.new(name: 'NodeConfigurationOption')
279
284
  NodeConfigurationOptionList = Shapes::ListShape.new(name: 'NodeConfigurationOptionList')
280
285
  NodeConfigurationOptionsFilter = Shapes::StructureShape.new(name: 'NodeConfigurationOptionsFilter')
@@ -291,6 +296,8 @@ module Aws::Redshift
291
296
  ParameterApplyType = Shapes::StringShape.new(name: 'ParameterApplyType')
292
297
  ParameterGroupList = Shapes::ListShape.new(name: 'ParameterGroupList')
293
298
  ParametersList = Shapes::ListShape.new(name: 'ParametersList')
299
+ PauseClusterMessage = Shapes::StructureShape.new(name: 'PauseClusterMessage')
300
+ PauseClusterResult = Shapes::StructureShape.new(name: 'PauseClusterResult')
294
301
  PendingActionsList = Shapes::ListShape.new(name: 'PendingActionsList')
295
302
  PendingModifiedValues = Shapes::StructureShape.new(name: 'PendingModifiedValues')
296
303
  PurchaseReservedNodeOfferingMessage = Shapes::StructureShape.new(name: 'PurchaseReservedNodeOfferingMessage')
@@ -324,6 +331,8 @@ module Aws::Redshift
324
331
  RestoreStatus = Shapes::StructureShape.new(name: 'RestoreStatus')
325
332
  RestoreTableFromClusterSnapshotMessage = Shapes::StructureShape.new(name: 'RestoreTableFromClusterSnapshotMessage')
326
333
  RestoreTableFromClusterSnapshotResult = Shapes::StructureShape.new(name: 'RestoreTableFromClusterSnapshotResult')
334
+ ResumeClusterMessage = Shapes::StructureShape.new(name: 'ResumeClusterMessage')
335
+ ResumeClusterResult = Shapes::StructureShape.new(name: 'ResumeClusterResult')
327
336
  RevisionTarget = Shapes::StructureShape.new(name: 'RevisionTarget')
328
337
  RevisionTargetsList = Shapes::ListShape.new(name: 'RevisionTargetsList')
329
338
  RevokeClusterSecurityGroupIngressMessage = Shapes::StructureShape.new(name: 'RevokeClusterSecurityGroupIngressMessage')
@@ -417,6 +426,15 @@ module Aws::Redshift
417
426
  UnsupportedOperationFault = Shapes::StructureShape.new(name: 'UnsupportedOperationFault')
418
427
  UnsupportedOptionFault = Shapes::StructureShape.new(name: 'UnsupportedOptionFault')
419
428
  UpdateTarget = Shapes::StructureShape.new(name: 'UpdateTarget')
429
+ UsageLimit = Shapes::StructureShape.new(name: 'UsageLimit')
430
+ UsageLimitAlreadyExistsFault = Shapes::StructureShape.new(name: 'UsageLimitAlreadyExistsFault')
431
+ UsageLimitBreachAction = Shapes::StringShape.new(name: 'UsageLimitBreachAction')
432
+ UsageLimitFeatureType = Shapes::StringShape.new(name: 'UsageLimitFeatureType')
433
+ UsageLimitLimitType = Shapes::StringShape.new(name: 'UsageLimitLimitType')
434
+ UsageLimitList = Shapes::StructureShape.new(name: 'UsageLimitList')
435
+ UsageLimitNotFoundFault = Shapes::StructureShape.new(name: 'UsageLimitNotFoundFault')
436
+ UsageLimitPeriod = Shapes::StringShape.new(name: 'UsageLimitPeriod')
437
+ UsageLimits = Shapes::ListShape.new(name: 'UsageLimits')
420
438
  ValueStringList = Shapes::ListShape.new(name: 'ValueStringList')
421
439
  VpcSecurityGroupIdList = Shapes::ListShape.new(name: 'VpcSecurityGroupIdList')
422
440
  VpcSecurityGroupMembership = Shapes::StructureShape.new(name: 'VpcSecurityGroupMembership')
@@ -862,6 +880,15 @@ module Aws::Redshift
862
880
  CreateTagsMessage.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, required: true, location_name: "Tags"))
863
881
  CreateTagsMessage.struct_class = Types::CreateTagsMessage
864
882
 
883
+ CreateUsageLimitMessage.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ClusterIdentifier"))
884
+ CreateUsageLimitMessage.add_member(:feature_type, Shapes::ShapeRef.new(shape: UsageLimitFeatureType, required: true, location_name: "FeatureType"))
885
+ CreateUsageLimitMessage.add_member(:limit_type, Shapes::ShapeRef.new(shape: UsageLimitLimitType, required: true, location_name: "LimitType"))
886
+ CreateUsageLimitMessage.add_member(:amount, Shapes::ShapeRef.new(shape: Long, required: true, location_name: "Amount"))
887
+ CreateUsageLimitMessage.add_member(:period, Shapes::ShapeRef.new(shape: UsageLimitPeriod, location_name: "Period"))
888
+ CreateUsageLimitMessage.add_member(:breach_action, Shapes::ShapeRef.new(shape: UsageLimitBreachAction, location_name: "BreachAction"))
889
+ CreateUsageLimitMessage.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
890
+ CreateUsageLimitMessage.struct_class = Types::CreateUsageLimitMessage
891
+
865
892
  CustomerStorageMessage.add_member(:total_backup_size_in_mega_bytes, Shapes::ShapeRef.new(shape: Double, location_name: "TotalBackupSizeInMegaBytes"))
866
893
  CustomerStorageMessage.add_member(:total_provisioned_storage_in_mega_bytes, Shapes::ShapeRef.new(shape: Double, location_name: "TotalProvisionedStorageInMegaBytes"))
867
894
  CustomerStorageMessage.struct_class = Types::CustomerStorageMessage
@@ -937,6 +964,9 @@ module Aws::Redshift
937
964
  DeleteTagsMessage.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, required: true, location_name: "TagKeys"))
938
965
  DeleteTagsMessage.struct_class = Types::DeleteTagsMessage
939
966
 
967
+ DeleteUsageLimitMessage.add_member(:usage_limit_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "UsageLimitId"))
968
+ DeleteUsageLimitMessage.struct_class = Types::DeleteUsageLimitMessage
969
+
940
970
  DependentServiceRequestThrottlingFault.struct_class = Types::DependentServiceRequestThrottlingFault
941
971
 
942
972
  DependentServiceUnavailableFault.struct_class = Types::DependentServiceUnavailableFault
@@ -1123,6 +1153,15 @@ module Aws::Redshift
1123
1153
  DescribeTagsMessage.add_member(:tag_values, Shapes::ShapeRef.new(shape: TagValueList, location_name: "TagValues"))
1124
1154
  DescribeTagsMessage.struct_class = Types::DescribeTagsMessage
1125
1155
 
1156
+ DescribeUsageLimitsMessage.add_member(:usage_limit_id, Shapes::ShapeRef.new(shape: String, location_name: "UsageLimitId"))
1157
+ DescribeUsageLimitsMessage.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: String, location_name: "ClusterIdentifier"))
1158
+ DescribeUsageLimitsMessage.add_member(:feature_type, Shapes::ShapeRef.new(shape: UsageLimitFeatureType, location_name: "FeatureType"))
1159
+ DescribeUsageLimitsMessage.add_member(:max_records, Shapes::ShapeRef.new(shape: IntegerOptional, location_name: "MaxRecords"))
1160
+ DescribeUsageLimitsMessage.add_member(:marker, Shapes::ShapeRef.new(shape: String, location_name: "Marker"))
1161
+ DescribeUsageLimitsMessage.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, location_name: "TagKeys"))
1162
+ DescribeUsageLimitsMessage.add_member(:tag_values, Shapes::ShapeRef.new(shape: TagValueList, location_name: "TagValues"))
1163
+ DescribeUsageLimitsMessage.struct_class = Types::DescribeUsageLimitsMessage
1164
+
1126
1165
  DisableLoggingMessage.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ClusterIdentifier"))
1127
1166
  DisableLoggingMessage.struct_class = Types::DisableLoggingMessage
1128
1167
 
@@ -1347,6 +1386,8 @@ module Aws::Redshift
1347
1386
 
1348
1387
  InvalidTagFault.struct_class = Types::InvalidTagFault
1349
1388
 
1389
+ InvalidUsageLimitFault.struct_class = Types::InvalidUsageLimitFault
1390
+
1350
1391
  InvalidVPCNetworkStateFault.struct_class = Types::InvalidVPCNetworkStateFault
1351
1392
 
1352
1393
  LimitExceededFault.struct_class = Types::LimitExceededFault
@@ -1476,6 +1517,11 @@ module Aws::Redshift
1476
1517
  ModifySnapshotScheduleMessage.add_member(:schedule_definitions, Shapes::ShapeRef.new(shape: ScheduleDefinitionList, required: true, location_name: "ScheduleDefinitions"))
1477
1518
  ModifySnapshotScheduleMessage.struct_class = Types::ModifySnapshotScheduleMessage
1478
1519
 
1520
+ ModifyUsageLimitMessage.add_member(:usage_limit_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "UsageLimitId"))
1521
+ ModifyUsageLimitMessage.add_member(:amount, Shapes::ShapeRef.new(shape: LongOptional, location_name: "Amount"))
1522
+ ModifyUsageLimitMessage.add_member(:breach_action, Shapes::ShapeRef.new(shape: UsageLimitBreachAction, location_name: "BreachAction"))
1523
+ ModifyUsageLimitMessage.struct_class = Types::ModifyUsageLimitMessage
1524
+
1479
1525
  NodeConfigurationOption.add_member(:node_type, Shapes::ShapeRef.new(shape: String, location_name: "NodeType"))
1480
1526
  NodeConfigurationOption.add_member(:number_of_nodes, Shapes::ShapeRef.new(shape: Integer, location_name: "NumberOfNodes"))
1481
1527
  NodeConfigurationOption.add_member(:estimated_disk_utilization_percent, Shapes::ShapeRef.new(shape: DoubleOptional, location_name: "EstimatedDiskUtilizationPercent"))
@@ -1526,6 +1572,12 @@ module Aws::Redshift
1526
1572
 
1527
1573
  ParametersList.member = Shapes::ShapeRef.new(shape: Parameter, location_name: "Parameter")
1528
1574
 
1575
+ PauseClusterMessage.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ClusterIdentifier"))
1576
+ PauseClusterMessage.struct_class = Types::PauseClusterMessage
1577
+
1578
+ PauseClusterResult.add_member(:cluster, Shapes::ShapeRef.new(shape: Cluster, location_name: "Cluster"))
1579
+ PauseClusterResult.struct_class = Types::PauseClusterResult
1580
+
1529
1581
  PendingActionsList.member = Shapes::ShapeRef.new(shape: String)
1530
1582
 
1531
1583
  PendingModifiedValues.add_member(:master_user_password, Shapes::ShapeRef.new(shape: String, location_name: "MasterUserPassword"))
@@ -1703,6 +1755,12 @@ module Aws::Redshift
1703
1755
  RestoreTableFromClusterSnapshotResult.add_member(:table_restore_status, Shapes::ShapeRef.new(shape: TableRestoreStatus, location_name: "TableRestoreStatus"))
1704
1756
  RestoreTableFromClusterSnapshotResult.struct_class = Types::RestoreTableFromClusterSnapshotResult
1705
1757
 
1758
+ ResumeClusterMessage.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ClusterIdentifier"))
1759
+ ResumeClusterMessage.struct_class = Types::ResumeClusterMessage
1760
+
1761
+ ResumeClusterResult.add_member(:cluster, Shapes::ShapeRef.new(shape: Cluster, location_name: "Cluster"))
1762
+ ResumeClusterResult.struct_class = Types::ResumeClusterResult
1763
+
1706
1764
  RevisionTarget.add_member(:database_revision, Shapes::ShapeRef.new(shape: String, location_name: "DatabaseRevision"))
1707
1765
  RevisionTarget.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
1708
1766
  RevisionTarget.add_member(:database_revision_release_date, Shapes::ShapeRef.new(shape: TStamp, location_name: "DatabaseRevisionReleaseDate"))
@@ -1771,6 +1829,8 @@ module Aws::Redshift
1771
1829
  ScheduledActionTimeList.member = Shapes::ShapeRef.new(shape: TStamp, location_name: "ScheduledActionTime")
1772
1830
 
1773
1831
  ScheduledActionType.add_member(:resize_cluster, Shapes::ShapeRef.new(shape: ResizeClusterMessage, location_name: "ResizeCluster"))
1832
+ ScheduledActionType.add_member(:pause_cluster, Shapes::ShapeRef.new(shape: PauseClusterMessage, location_name: "PauseCluster"))
1833
+ ScheduledActionType.add_member(:resume_cluster, Shapes::ShapeRef.new(shape: ResumeClusterMessage, location_name: "ResumeCluster"))
1774
1834
  ScheduledActionType.struct_class = Types::ScheduledActionType
1775
1835
 
1776
1836
  ScheduledActionTypeUnsupportedFault.struct_class = Types::ScheduledActionTypeUnsupportedFault
@@ -1981,6 +2041,26 @@ module Aws::Redshift
1981
2041
  UpdateTarget.add_member(:supported_operations, Shapes::ShapeRef.new(shape: SupportedOperationList, location_name: "SupportedOperations"))
1982
2042
  UpdateTarget.struct_class = Types::UpdateTarget
1983
2043
 
2044
+ UsageLimit.add_member(:usage_limit_id, Shapes::ShapeRef.new(shape: String, location_name: "UsageLimitId"))
2045
+ UsageLimit.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: String, location_name: "ClusterIdentifier"))
2046
+ UsageLimit.add_member(:feature_type, Shapes::ShapeRef.new(shape: UsageLimitFeatureType, location_name: "FeatureType"))
2047
+ UsageLimit.add_member(:limit_type, Shapes::ShapeRef.new(shape: UsageLimitLimitType, location_name: "LimitType"))
2048
+ UsageLimit.add_member(:amount, Shapes::ShapeRef.new(shape: Long, location_name: "Amount"))
2049
+ UsageLimit.add_member(:period, Shapes::ShapeRef.new(shape: UsageLimitPeriod, location_name: "Period"))
2050
+ UsageLimit.add_member(:breach_action, Shapes::ShapeRef.new(shape: UsageLimitBreachAction, location_name: "BreachAction"))
2051
+ UsageLimit.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
2052
+ UsageLimit.struct_class = Types::UsageLimit
2053
+
2054
+ UsageLimitAlreadyExistsFault.struct_class = Types::UsageLimitAlreadyExistsFault
2055
+
2056
+ UsageLimitList.add_member(:usage_limits, Shapes::ShapeRef.new(shape: UsageLimits, location_name: "UsageLimits"))
2057
+ UsageLimitList.add_member(:marker, Shapes::ShapeRef.new(shape: String, location_name: "Marker"))
2058
+ UsageLimitList.struct_class = Types::UsageLimitList
2059
+
2060
+ UsageLimitNotFoundFault.struct_class = Types::UsageLimitNotFoundFault
2061
+
2062
+ UsageLimits.member = Shapes::ShapeRef.new(shape: UsageLimit)
2063
+
1984
2064
  ValueStringList.member = Shapes::ShapeRef.new(shape: String, location_name: "item")
1985
2065
 
1986
2066
  VpcSecurityGroupIdList.member = Shapes::ShapeRef.new(shape: String, location_name: "VpcSecurityGroupId")
@@ -2273,6 +2353,21 @@ module Aws::Redshift
2273
2353
  o.errors << Shapes::ShapeRef.new(shape: InvalidTagFault)
2274
2354
  end)
2275
2355
 
2356
+ api.add_operation(:create_usage_limit, Seahorse::Model::Operation.new.tap do |o|
2357
+ o.name = "CreateUsageLimit"
2358
+ o.http_method = "POST"
2359
+ o.http_request_uri = "/"
2360
+ o.input = Shapes::ShapeRef.new(shape: CreateUsageLimitMessage)
2361
+ o.output = Shapes::ShapeRef.new(shape: UsageLimit)
2362
+ o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundFault)
2363
+ o.errors << Shapes::ShapeRef.new(shape: InvalidClusterStateFault)
2364
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededFault)
2365
+ o.errors << Shapes::ShapeRef.new(shape: UsageLimitAlreadyExistsFault)
2366
+ o.errors << Shapes::ShapeRef.new(shape: InvalidUsageLimitFault)
2367
+ o.errors << Shapes::ShapeRef.new(shape: TagLimitExceededFault)
2368
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationFault)
2369
+ end)
2370
+
2276
2371
  api.add_operation(:delete_cluster, Seahorse::Model::Operation.new.tap do |o|
2277
2372
  o.name = "DeleteCluster"
2278
2373
  o.http_method = "POST"
@@ -2397,6 +2492,16 @@ module Aws::Redshift
2397
2492
  o.errors << Shapes::ShapeRef.new(shape: InvalidTagFault)
2398
2493
  end)
2399
2494
 
2495
+ api.add_operation(:delete_usage_limit, Seahorse::Model::Operation.new.tap do |o|
2496
+ o.name = "DeleteUsageLimit"
2497
+ o.http_method = "POST"
2498
+ o.http_request_uri = "/"
2499
+ o.input = Shapes::ShapeRef.new(shape: DeleteUsageLimitMessage)
2500
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2501
+ o.errors << Shapes::ShapeRef.new(shape: UsageLimitNotFoundFault)
2502
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationFault)
2503
+ end)
2504
+
2400
2505
  api.add_operation(:describe_account_attributes, Seahorse::Model::Operation.new.tap do |o|
2401
2506
  o.name = "DescribeAccountAttributes"
2402
2507
  o.http_method = "POST"
@@ -2765,6 +2870,22 @@ module Aws::Redshift
2765
2870
  o.errors << Shapes::ShapeRef.new(shape: InvalidTagFault)
2766
2871
  end)
2767
2872
 
2873
+ api.add_operation(:describe_usage_limits, Seahorse::Model::Operation.new.tap do |o|
2874
+ o.name = "DescribeUsageLimits"
2875
+ o.http_method = "POST"
2876
+ o.http_request_uri = "/"
2877
+ o.input = Shapes::ShapeRef.new(shape: DescribeUsageLimitsMessage)
2878
+ o.output = Shapes::ShapeRef.new(shape: UsageLimitList)
2879
+ o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundFault)
2880
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationFault)
2881
+ o[:pager] = Aws::Pager.new(
2882
+ limit_key: "max_records",
2883
+ tokens: {
2884
+ "marker" => "marker"
2885
+ }
2886
+ )
2887
+ end)
2888
+
2768
2889
  api.add_operation(:disable_logging, Seahorse::Model::Operation.new.tap do |o|
2769
2890
  o.name = "DisableLogging"
2770
2891
  o.http_method = "POST"
@@ -2797,6 +2918,7 @@ module Aws::Redshift
2797
2918
  o.errors << Shapes::ShapeRef.new(shape: InsufficientS3BucketPolicyFault)
2798
2919
  o.errors << Shapes::ShapeRef.new(shape: InvalidS3KeyPrefixFault)
2799
2920
  o.errors << Shapes::ShapeRef.new(shape: InvalidS3BucketNameFault)
2921
+ o.errors << Shapes::ShapeRef.new(shape: InvalidClusterStateFault)
2800
2922
  end)
2801
2923
 
2802
2924
  api.add_operation(:enable_snapshot_copy, Seahorse::Model::Operation.new.tap do |o|
@@ -2897,6 +3019,7 @@ module Aws::Redshift
2897
3019
  o.input = Shapes::ShapeRef.new(shape: ModifyClusterMaintenanceMessage)
2898
3020
  o.output = Shapes::ShapeRef.new(shape: ModifyClusterMaintenanceResult)
2899
3021
  o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundFault)
3022
+ o.errors << Shapes::ShapeRef.new(shape: InvalidClusterStateFault)
2900
3023
  end)
2901
3024
 
2902
3025
  api.add_operation(:modify_cluster_parameter_group, Seahorse::Model::Operation.new.tap do |o|
@@ -2999,6 +3122,27 @@ module Aws::Redshift
2999
3122
  o.errors << Shapes::ShapeRef.new(shape: SnapshotScheduleUpdateInProgressFault)
3000
3123
  end)
3001
3124
 
3125
+ api.add_operation(:modify_usage_limit, Seahorse::Model::Operation.new.tap do |o|
3126
+ o.name = "ModifyUsageLimit"
3127
+ o.http_method = "POST"
3128
+ o.http_request_uri = "/"
3129
+ o.input = Shapes::ShapeRef.new(shape: ModifyUsageLimitMessage)
3130
+ o.output = Shapes::ShapeRef.new(shape: UsageLimit)
3131
+ o.errors << Shapes::ShapeRef.new(shape: InvalidUsageLimitFault)
3132
+ o.errors << Shapes::ShapeRef.new(shape: UsageLimitNotFoundFault)
3133
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationFault)
3134
+ end)
3135
+
3136
+ api.add_operation(:pause_cluster, Seahorse::Model::Operation.new.tap do |o|
3137
+ o.name = "PauseCluster"
3138
+ o.http_method = "POST"
3139
+ o.http_request_uri = "/"
3140
+ o.input = Shapes::ShapeRef.new(shape: PauseClusterMessage)
3141
+ o.output = Shapes::ShapeRef.new(shape: PauseClusterResult)
3142
+ o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundFault)
3143
+ o.errors << Shapes::ShapeRef.new(shape: InvalidClusterStateFault)
3144
+ end)
3145
+
3002
3146
  api.add_operation(:purchase_reserved_node_offering, Seahorse::Model::Operation.new.tap do |o|
3003
3147
  o.name = "PurchaseReservedNodeOffering"
3004
3148
  o.http_method = "POST"
@@ -3096,6 +3240,16 @@ module Aws::Redshift
3096
3240
  o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationFault)
3097
3241
  end)
3098
3242
 
3243
+ api.add_operation(:resume_cluster, Seahorse::Model::Operation.new.tap do |o|
3244
+ o.name = "ResumeCluster"
3245
+ o.http_method = "POST"
3246
+ o.http_request_uri = "/"
3247
+ o.input = Shapes::ShapeRef.new(shape: ResumeClusterMessage)
3248
+ o.output = Shapes::ShapeRef.new(shape: ResumeClusterResult)
3249
+ o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundFault)
3250
+ o.errors << Shapes::ShapeRef.new(shape: InvalidClusterStateFault)
3251
+ end)
3252
+
3099
3253
  api.add_operation(:revoke_cluster_security_group_ingress, Seahorse::Model::Operation.new.tap do |o|
3100
3254
  o.name = "RevokeClusterSecurityGroupIngress"
3101
3255
  o.http_method = "POST"
@@ -86,6 +86,7 @@ module Aws::Redshift
86
86
  # * {InvalidSubscriptionStateFault}
87
87
  # * {InvalidTableRestoreArgumentFault}
88
88
  # * {InvalidTagFault}
89
+ # * {InvalidUsageLimitFault}
89
90
  # * {InvalidVPCNetworkStateFault}
90
91
  # * {LimitExceededFault}
91
92
  # * {NumberOfNodesPerClusterLimitExceededFault}
@@ -129,6 +130,8 @@ module Aws::Redshift
129
130
  # * {UnknownSnapshotCopyRegionFault}
130
131
  # * {UnsupportedOperationFault}
131
132
  # * {UnsupportedOptionFault}
133
+ # * {UsageLimitAlreadyExistsFault}
134
+ # * {UsageLimitNotFoundFault}
132
135
  #
133
136
  # Additionally, error classes are dynamically generated for service errors based on the error code
134
137
  # if they are not defined above.
@@ -746,6 +749,16 @@ module Aws::Redshift
746
749
  end
747
750
  end
748
751
 
752
+ class InvalidUsageLimitFault < ServiceError
753
+
754
+ # @param [Seahorse::Client::RequestContext] context
755
+ # @param [String] message
756
+ # @param [Aws::Redshift::Types::InvalidUsageLimitFault] data
757
+ def initialize(context, message, data = Aws::EmptyStructure.new)
758
+ super(context, message, data)
759
+ end
760
+ end
761
+
749
762
  class InvalidVPCNetworkStateFault < ServiceError
750
763
 
751
764
  # @param [Seahorse::Client::RequestContext] context
@@ -1176,5 +1189,25 @@ module Aws::Redshift
1176
1189
  end
1177
1190
  end
1178
1191
 
1192
+ class UsageLimitAlreadyExistsFault < ServiceError
1193
+
1194
+ # @param [Seahorse::Client::RequestContext] context
1195
+ # @param [String] message
1196
+ # @param [Aws::Redshift::Types::UsageLimitAlreadyExistsFault] data
1197
+ def initialize(context, message, data = Aws::EmptyStructure.new)
1198
+ super(context, message, data)
1199
+ end
1200
+ end
1201
+
1202
+ class UsageLimitNotFoundFault < ServiceError
1203
+
1204
+ # @param [Seahorse::Client::RequestContext] context
1205
+ # @param [String] message
1206
+ # @param [Aws::Redshift::Types::UsageLimitNotFoundFault] data
1207
+ def initialize(context, message, data = Aws::EmptyStructure.new)
1208
+ super(context, message, data)
1209
+ end
1210
+ end
1211
+
1179
1212
  end
1180
1213
  end
@@ -6,13 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::Redshift
9
- # This class provides a resource oriented interface for Redshift.
10
- # To create a resource object:
11
- # resource = Aws::Redshift::Resource.new(region: 'us-west-2')
12
- # You can supply a client object with custom configuration that will be used for all resource operations.
13
- # If you do not pass +:client+, a default client will be constructed.
14
- # client = Aws::Redshift::Client.new(region: 'us-west-2')
15
- # resource = Aws::Redshift::Resource.new(client: client)
9
+
16
10
  class Resource
17
11
 
18
12
  # @param options ({})
@@ -425,6 +425,8 @@ module Aws::Redshift
425
425
  #
426
426
  # * `modifying`
427
427
  #
428
+ # * `paused`
429
+ #
428
430
  # * `rebooting`
429
431
  #
430
432
  # * `renaming`
@@ -1640,7 +1642,8 @@ module Aws::Redshift
1640
1642
  # Redshift Cluster Management Guide*.
1641
1643
  #
1642
1644
  # Valid Values: `ds2.xlarge` \| `ds2.8xlarge` \| `dc1.large` \|
1643
- # `dc1.8xlarge` \| `dc2.large` \| `dc2.8xlarge` \| `ra3.16xlarge`
1645
+ # `dc1.8xlarge` \| `dc2.large` \| `dc2.8xlarge` \| `ra3.4xlarge` \|
1646
+ # `ra3.16xlarge`
1644
1647
  #
1645
1648
  #
1646
1649
  #
@@ -2486,6 +2489,12 @@ module Aws::Redshift
2486
2489
  # number_of_nodes: 1,
2487
2490
  # classic: false,
2488
2491
  # },
2492
+ # pause_cluster: {
2493
+ # cluster_identifier: "String", # required
2494
+ # },
2495
+ # resume_cluster: {
2496
+ # cluster_identifier: "String", # required
2497
+ # },
2489
2498
  # },
2490
2499
  # schedule: "String", # required
2491
2500
  # iam_role: "String", # required
@@ -2719,6 +2728,73 @@ module Aws::Redshift
2719
2728
  include Aws::Structure
2720
2729
  end
2721
2730
 
2731
+ # @note When making an API call, you may pass CreateUsageLimitMessage
2732
+ # data as a hash:
2733
+ #
2734
+ # {
2735
+ # cluster_identifier: "String", # required
2736
+ # feature_type: "spectrum", # required, accepts spectrum, concurrency-scaling
2737
+ # limit_type: "time", # required, accepts time, data-scanned
2738
+ # amount: 1, # required
2739
+ # period: "daily", # accepts daily, weekly, monthly
2740
+ # breach_action: "log", # accepts log, emit-metric, disable
2741
+ # tags: [
2742
+ # {
2743
+ # key: "String",
2744
+ # value: "String",
2745
+ # },
2746
+ # ],
2747
+ # }
2748
+ #
2749
+ # @!attribute [rw] cluster_identifier
2750
+ # The identifier of the cluster that you want to limit usage.
2751
+ # @return [String]
2752
+ #
2753
+ # @!attribute [rw] feature_type
2754
+ # The Amazon Redshift feature that you want to limit.
2755
+ # @return [String]
2756
+ #
2757
+ # @!attribute [rw] limit_type
2758
+ # The type of limit. Depending on the feature type, this can be based
2759
+ # on a time duration or data size. If `FeatureType` is `spectrum`,
2760
+ # then `LimitType` must be `data-scanned`. If `FeatureType` is
2761
+ # `concurrency-scaling`, then `LimitType` must be `time`.
2762
+ # @return [String]
2763
+ #
2764
+ # @!attribute [rw] amount
2765
+ # The limit amount. If time-based, this amount is in minutes. If
2766
+ # data-based, this amount is in terabytes (TB). The value must be a
2767
+ # positive number.
2768
+ # @return [Integer]
2769
+ #
2770
+ # @!attribute [rw] period
2771
+ # The time period that the amount applies to. A `weekly` period begins
2772
+ # on Sunday. The default is `monthly`.
2773
+ # @return [String]
2774
+ #
2775
+ # @!attribute [rw] breach_action
2776
+ # The action that Amazon Redshift takes when the limit is reached. The
2777
+ # default is log. For more information about this parameter, see
2778
+ # UsageLimit.
2779
+ # @return [String]
2780
+ #
2781
+ # @!attribute [rw] tags
2782
+ # A list of tag instances.
2783
+ # @return [Array<Types::Tag>]
2784
+ #
2785
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateUsageLimitMessage AWS API Documentation
2786
+ #
2787
+ class CreateUsageLimitMessage < Struct.new(
2788
+ :cluster_identifier,
2789
+ :feature_type,
2790
+ :limit_type,
2791
+ :amount,
2792
+ :period,
2793
+ :breach_action,
2794
+ :tags)
2795
+ include Aws::Structure
2796
+ end
2797
+
2722
2798
  # @!attribute [rw] total_backup_size_in_mega_bytes
2723
2799
  # The total amount of storage currently used for snapshots.
2724
2800
  # @return [Float]
@@ -3157,6 +3233,24 @@ module Aws::Redshift
3157
3233
  include Aws::Structure
3158
3234
  end
3159
3235
 
3236
+ # @note When making an API call, you may pass DeleteUsageLimitMessage
3237
+ # data as a hash:
3238
+ #
3239
+ # {
3240
+ # usage_limit_id: "String", # required
3241
+ # }
3242
+ #
3243
+ # @!attribute [rw] usage_limit_id
3244
+ # The identifier of the usage limit to delete.
3245
+ # @return [String]
3246
+ #
3247
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteUsageLimitMessage AWS API Documentation
3248
+ #
3249
+ class DeleteUsageLimitMessage < Struct.new(
3250
+ :usage_limit_id)
3251
+ include Aws::Structure
3252
+ end
3253
+
3160
3254
  # The request cannot be completed because a dependent service is
3161
3255
  # throttling requests made by Amazon Redshift on your behalf. Wait and
3162
3256
  # retry the request.
@@ -4524,7 +4618,7 @@ module Aws::Redshift
4524
4618
  #
4525
4619
  # {
4526
4620
  # scheduled_action_name: "String",
4527
- # target_action_type: "ResizeCluster", # accepts ResizeCluster
4621
+ # target_action_type: "ResizeCluster", # accepts ResizeCluster, PauseCluster, ResumeCluster
4528
4622
  # start_time: Time.now,
4529
4623
  # end_time: Time.now,
4530
4624
  # active: false,
@@ -4899,6 +4993,86 @@ module Aws::Redshift
4899
4993
  include Aws::Structure
4900
4994
  end
4901
4995
 
4996
+ # @note When making an API call, you may pass DescribeUsageLimitsMessage
4997
+ # data as a hash:
4998
+ #
4999
+ # {
5000
+ # usage_limit_id: "String",
5001
+ # cluster_identifier: "String",
5002
+ # feature_type: "spectrum", # accepts spectrum, concurrency-scaling
5003
+ # max_records: 1,
5004
+ # marker: "String",
5005
+ # tag_keys: ["String"],
5006
+ # tag_values: ["String"],
5007
+ # }
5008
+ #
5009
+ # @!attribute [rw] usage_limit_id
5010
+ # The identifier of the usage limit to describe.
5011
+ # @return [String]
5012
+ #
5013
+ # @!attribute [rw] cluster_identifier
5014
+ # The identifier of the cluster for which you want to describe usage
5015
+ # limits.
5016
+ # @return [String]
5017
+ #
5018
+ # @!attribute [rw] feature_type
5019
+ # The feature type for which you want to describe usage limits.
5020
+ # @return [String]
5021
+ #
5022
+ # @!attribute [rw] max_records
5023
+ # The maximum number of response records to return in each call. If
5024
+ # the number of remaining response records exceeds the specified
5025
+ # `MaxRecords` value, a value is returned in a `marker` field of the
5026
+ # response. You can retrieve the next set of records by retrying the
5027
+ # command with the returned marker value.
5028
+ #
5029
+ # Default: `100`
5030
+ #
5031
+ # Constraints: minimum 20, maximum 100.
5032
+ # @return [Integer]
5033
+ #
5034
+ # @!attribute [rw] marker
5035
+ # An optional parameter that specifies the starting point to return a
5036
+ # set of response records. When the results of a DescribeUsageLimits
5037
+ # request exceed the value specified in `MaxRecords`, AWS returns a
5038
+ # value in the `Marker` field of the response. You can retrieve the
5039
+ # next set of response records by providing the returned marker value
5040
+ # in the `Marker` parameter and retrying the request.
5041
+ # @return [String]
5042
+ #
5043
+ # @!attribute [rw] tag_keys
5044
+ # A tag key or keys for which you want to return all matching usage
5045
+ # limit objects that are associated with the specified key or keys.
5046
+ # For example, suppose that you have parameter groups that are tagged
5047
+ # with keys called `owner` and `environment`. If you specify both of
5048
+ # these tag keys in the request, Amazon Redshift returns a response
5049
+ # with the usage limit objects have either or both of these tag keys
5050
+ # associated with them.
5051
+ # @return [Array<String>]
5052
+ #
5053
+ # @!attribute [rw] tag_values
5054
+ # A tag value or values for which you want to return all matching
5055
+ # usage limit objects that are associated with the specified tag value
5056
+ # or values. For example, suppose that you have parameter groups that
5057
+ # are tagged with values called `admin` and `test`. If you specify
5058
+ # both of these tag values in the request, Amazon Redshift returns a
5059
+ # response with the usage limit objects that have either or both of
5060
+ # these tag values associated with them.
5061
+ # @return [Array<String>]
5062
+ #
5063
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeUsageLimitsMessage AWS API Documentation
5064
+ #
5065
+ class DescribeUsageLimitsMessage < Struct.new(
5066
+ :usage_limit_id,
5067
+ :cluster_identifier,
5068
+ :feature_type,
5069
+ :max_records,
5070
+ :marker,
5071
+ :tag_keys,
5072
+ :tag_values)
5073
+ include Aws::Structure
5074
+ end
5075
+
4902
5076
  # @note When making an API call, you may pass DisableLoggingMessage
4903
5077
  # data as a hash:
4904
5078
  #
@@ -5983,6 +6157,12 @@ module Aws::Redshift
5983
6157
  #
5984
6158
  class InvalidTagFault < Aws::EmptyStructure; end
5985
6159
 
6160
+ # The usage limit is not valid.
6161
+ #
6162
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/InvalidUsageLimitFault AWS API Documentation
6163
+ #
6164
+ class InvalidUsageLimitFault < Aws::EmptyStructure; end
6165
+
5986
6166
  # The cluster subnet group does not cover all Availability Zones.
5987
6167
  #
5988
6168
  # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/InvalidVPCNetworkStateFault AWS API Documentation
@@ -6268,7 +6448,8 @@ module Aws::Redshift
6268
6448
  # Management Guide*.
6269
6449
  #
6270
6450
  # Valid Values: `ds2.xlarge` \| `ds2.8xlarge` \| `dc1.large` \|
6271
- # `dc1.8xlarge` \| `dc2.large` \| `dc2.8xlarge` \| `ra3.16xlarge`
6451
+ # `dc1.8xlarge` \| `dc2.large` \| `dc2.8xlarge` \| `ra3.4xlarge` \|
6452
+ # `ra3.16xlarge`
6272
6453
  #
6273
6454
  #
6274
6455
  #
@@ -6823,6 +7004,12 @@ module Aws::Redshift
6823
7004
  # number_of_nodes: 1,
6824
7005
  # classic: false,
6825
7006
  # },
7007
+ # pause_cluster: {
7008
+ # cluster_identifier: "String", # required
7009
+ # },
7010
+ # resume_cluster: {
7011
+ # cluster_identifier: "String", # required
7012
+ # },
6826
7013
  # },
6827
7014
  # schedule: "String",
6828
7015
  # iam_role: "String",
@@ -6979,6 +7166,38 @@ module Aws::Redshift
6979
7166
  include Aws::Structure
6980
7167
  end
6981
7168
 
7169
+ # @note When making an API call, you may pass ModifyUsageLimitMessage
7170
+ # data as a hash:
7171
+ #
7172
+ # {
7173
+ # usage_limit_id: "String", # required
7174
+ # amount: 1,
7175
+ # breach_action: "log", # accepts log, emit-metric, disable
7176
+ # }
7177
+ #
7178
+ # @!attribute [rw] usage_limit_id
7179
+ # The identifier of the usage limit to modify.
7180
+ # @return [String]
7181
+ #
7182
+ # @!attribute [rw] amount
7183
+ # The new limit amount. For more information about this parameter, see
7184
+ # UsageLimit.
7185
+ # @return [Integer]
7186
+ #
7187
+ # @!attribute [rw] breach_action
7188
+ # The new action that Amazon Redshift takes when the limit is reached.
7189
+ # For more information about this parameter, see UsageLimit.
7190
+ # @return [String]
7191
+ #
7192
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyUsageLimitMessage AWS API Documentation
7193
+ #
7194
+ class ModifyUsageLimitMessage < Struct.new(
7195
+ :usage_limit_id,
7196
+ :amount,
7197
+ :breach_action)
7198
+ include Aws::Structure
7199
+ end
7200
+
6982
7201
  # A list of node configurations.
6983
7202
  #
6984
7203
  # @!attribute [rw] node_type
@@ -7217,6 +7436,35 @@ module Aws::Redshift
7217
7436
  include Aws::Structure
7218
7437
  end
7219
7438
 
7439
+ # @note When making an API call, you may pass PauseClusterMessage
7440
+ # data as a hash:
7441
+ #
7442
+ # {
7443
+ # cluster_identifier: "String", # required
7444
+ # }
7445
+ #
7446
+ # @!attribute [rw] cluster_identifier
7447
+ # The identifier of the cluster to be paused.
7448
+ # @return [String]
7449
+ #
7450
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/PauseClusterMessage AWS API Documentation
7451
+ #
7452
+ class PauseClusterMessage < Struct.new(
7453
+ :cluster_identifier)
7454
+ include Aws::Structure
7455
+ end
7456
+
7457
+ # @!attribute [rw] cluster
7458
+ # Describes a cluster.
7459
+ # @return [Types::Cluster]
7460
+ #
7461
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/PauseClusterResult AWS API Documentation
7462
+ #
7463
+ class PauseClusterResult < Struct.new(
7464
+ :cluster)
7465
+ include Aws::Structure
7466
+ end
7467
+
7220
7468
  # Describes cluster attributes that are in a pending state. A change to
7221
7469
  # one or more the attributes was requested and is in progress or will be
7222
7470
  # applied.
@@ -8090,7 +8338,7 @@ module Aws::Redshift
8090
8338
  # size. In other words, you can only restore a dc1.large instance type
8091
8339
  # into another dc1.large instance type or dc2.large instance type. You
8092
8340
  # can't restore dc1.8xlarge to dc2.8xlarge. First restore to a
8093
- # dc1.8xlareg cluster, then resize to a dc2.8large cluster. For more
8341
+ # dc1.8xlarge cluster, then resize to a dc2.8large cluster. For more
8094
8342
  # information about node types, see [ About Clusters and Nodes][1] in
8095
8343
  # the *Amazon Redshift Cluster Management Guide*.
8096
8344
  #
@@ -8318,6 +8566,35 @@ module Aws::Redshift
8318
8566
  include Aws::Structure
8319
8567
  end
8320
8568
 
8569
+ # @note When making an API call, you may pass ResumeClusterMessage
8570
+ # data as a hash:
8571
+ #
8572
+ # {
8573
+ # cluster_identifier: "String", # required
8574
+ # }
8575
+ #
8576
+ # @!attribute [rw] cluster_identifier
8577
+ # The identifier of the cluster to be resumed.
8578
+ # @return [String]
8579
+ #
8580
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ResumeClusterMessage AWS API Documentation
8581
+ #
8582
+ class ResumeClusterMessage < Struct.new(
8583
+ :cluster_identifier)
8584
+ include Aws::Structure
8585
+ end
8586
+
8587
+ # @!attribute [rw] cluster
8588
+ # Describes a cluster.
8589
+ # @return [Types::Cluster]
8590
+ #
8591
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ResumeClusterResult AWS API Documentation
8592
+ #
8593
+ class ResumeClusterResult < Struct.new(
8594
+ :cluster)
8595
+ include Aws::Structure
8596
+ end
8597
+
8321
8598
  # Describes a `RevisionTarget`.
8322
8599
  #
8323
8600
  # @!attribute [rw] database_revision
@@ -8654,16 +8931,32 @@ module Aws::Redshift
8654
8931
  # number_of_nodes: 1,
8655
8932
  # classic: false,
8656
8933
  # },
8934
+ # pause_cluster: {
8935
+ # cluster_identifier: "String", # required
8936
+ # },
8937
+ # resume_cluster: {
8938
+ # cluster_identifier: "String", # required
8939
+ # },
8657
8940
  # }
8658
8941
  #
8659
8942
  # @!attribute [rw] resize_cluster
8660
8943
  # An action that runs a `ResizeCluster` API operation.
8661
8944
  # @return [Types::ResizeClusterMessage]
8662
8945
  #
8946
+ # @!attribute [rw] pause_cluster
8947
+ # An action that runs a `PauseCluster` API operation.
8948
+ # @return [Types::PauseClusterMessage]
8949
+ #
8950
+ # @!attribute [rw] resume_cluster
8951
+ # An action that runs a `ResumeCluster` API operation.
8952
+ # @return [Types::ResumeClusterMessage]
8953
+ #
8663
8954
  # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ScheduledActionType AWS API Documentation
8664
8955
  #
8665
8956
  class ScheduledActionType < Struct.new(
8666
- :resize_cluster)
8957
+ :resize_cluster,
8958
+ :pause_cluster,
8959
+ :resume_cluster)
8667
8960
  include Aws::Structure
8668
8961
  end
8669
8962
 
@@ -9550,6 +9843,98 @@ module Aws::Redshift
9550
9843
  include Aws::Structure
9551
9844
  end
9552
9845
 
9846
+ # Describes a usage limit object for a cluster.
9847
+ #
9848
+ # @!attribute [rw] usage_limit_id
9849
+ # The identifier of the usage limit.
9850
+ # @return [String]
9851
+ #
9852
+ # @!attribute [rw] cluster_identifier
9853
+ # The identifier of the cluster with a usage limit.
9854
+ # @return [String]
9855
+ #
9856
+ # @!attribute [rw] feature_type
9857
+ # The Amazon Redshift feature to which the limit applies.
9858
+ # @return [String]
9859
+ #
9860
+ # @!attribute [rw] limit_type
9861
+ # The type of limit. Depending on the feature type, this can be based
9862
+ # on a time duration or data size.
9863
+ # @return [String]
9864
+ #
9865
+ # @!attribute [rw] amount
9866
+ # The limit amount. If time-based, this amount is in minutes. If
9867
+ # data-based, this amount is in terabytes (TB).
9868
+ # @return [Integer]
9869
+ #
9870
+ # @!attribute [rw] period
9871
+ # The time period that the amount applies to. A `weekly` period begins
9872
+ # on Sunday. The default is `monthly`.
9873
+ # @return [String]
9874
+ #
9875
+ # @!attribute [rw] breach_action
9876
+ # The action that Amazon Redshift takes when the limit is reached.
9877
+ # Possible values are:
9878
+ #
9879
+ # * **log** - To log an event in a system table. The default is log.
9880
+ #
9881
+ # * **emit-metric** - To emit CloudWatch metrics.
9882
+ #
9883
+ # * **disable** - To disable the feature until the next usage period
9884
+ # begins.
9885
+ # @return [String]
9886
+ #
9887
+ # @!attribute [rw] tags
9888
+ # A list of tag instances.
9889
+ # @return [Array<Types::Tag>]
9890
+ #
9891
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/UsageLimit AWS API Documentation
9892
+ #
9893
+ class UsageLimit < Struct.new(
9894
+ :usage_limit_id,
9895
+ :cluster_identifier,
9896
+ :feature_type,
9897
+ :limit_type,
9898
+ :amount,
9899
+ :period,
9900
+ :breach_action,
9901
+ :tags)
9902
+ include Aws::Structure
9903
+ end
9904
+
9905
+ # The usage limit already exists.
9906
+ #
9907
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/UsageLimitAlreadyExistsFault AWS API Documentation
9908
+ #
9909
+ class UsageLimitAlreadyExistsFault < Aws::EmptyStructure; end
9910
+
9911
+ # @!attribute [rw] usage_limits
9912
+ # Contains the output from the DescribeUsageLimits action.
9913
+ # @return [Array<Types::UsageLimit>]
9914
+ #
9915
+ # @!attribute [rw] marker
9916
+ # A value that indicates the starting point for the next set of
9917
+ # response records in a subsequent request. If a value is returned in
9918
+ # a response, you can retrieve the next set of records by providing
9919
+ # this returned marker value in the `Marker` parameter and retrying
9920
+ # the command. If the `Marker` field is empty, all response records
9921
+ # have been retrieved for the request.
9922
+ # @return [String]
9923
+ #
9924
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/UsageLimitList AWS API Documentation
9925
+ #
9926
+ class UsageLimitList < Struct.new(
9927
+ :usage_limits,
9928
+ :marker)
9929
+ include Aws::Structure
9930
+ end
9931
+
9932
+ # The usage limit identifier can't be found.
9933
+ #
9934
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/UsageLimitNotFoundFault AWS API Documentation
9935
+ #
9936
+ class UsageLimitNotFoundFault < Aws::EmptyStructure; end
9937
+
9553
9938
  # Describes the members of a VPC security group.
9554
9939
  #
9555
9940
  # @!attribute [rw] vpc_security_group_id