aws-sdk-redshift 1.14.0 → 1.15.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -228,6 +228,100 @@ module Aws::Redshift
228
228
  include Aws::Structure
229
229
  end
230
230
 
231
+ # @note When making an API call, you may pass BatchDeleteClusterSnapshotsRequest
232
+ # data as a hash:
233
+ #
234
+ # {
235
+ # identifiers: [ # required
236
+ # {
237
+ # snapshot_identifier: "String", # required
238
+ # snapshot_cluster_identifier: "String",
239
+ # },
240
+ # ],
241
+ # }
242
+ #
243
+ # @!attribute [rw] identifiers
244
+ # A list of indentifiers for the snapshots you want to delete.
245
+ # @return [Array<Types::DeleteClusterSnapshotMessage>]
246
+ #
247
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/BatchDeleteClusterSnapshotsRequest AWS API Documentation
248
+ #
249
+ class BatchDeleteClusterSnapshotsRequest < Struct.new(
250
+ :identifiers)
251
+ include Aws::Structure
252
+ end
253
+
254
+ # @!attribute [rw] resources
255
+ # A list of the snapshot identifiers that were deleted.
256
+ # @return [Array<String>]
257
+ #
258
+ # @!attribute [rw] errors
259
+ # A list of any errors returned.
260
+ # @return [Array<Types::SnapshotErrorMessage>]
261
+ #
262
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/BatchDeleteClusterSnapshotsResult AWS API Documentation
263
+ #
264
+ class BatchDeleteClusterSnapshotsResult < Struct.new(
265
+ :resources,
266
+ :errors)
267
+ include Aws::Structure
268
+ end
269
+
270
+ # @note When making an API call, you may pass BatchModifyClusterSnapshotsMessage
271
+ # data as a hash:
272
+ #
273
+ # {
274
+ # snapshot_identifier_list: ["String"], # required
275
+ # manual_snapshot_retention_period: 1,
276
+ # force: false,
277
+ # }
278
+ #
279
+ # @!attribute [rw] snapshot_identifier_list
280
+ # A list of snapshot identifiers you want to modify.
281
+ # @return [Array<String>]
282
+ #
283
+ # @!attribute [rw] manual_snapshot_retention_period
284
+ # The number of days that a manual snapshot is retained. If you
285
+ # specify the value -1, the manual snapshot is retained indefinitely.
286
+ #
287
+ # The number must be either -1 or an integer between 1 and 3,653.
288
+ #
289
+ # If you decrease the manual snapshot retention period from its
290
+ # current value, existing manual snapshots that fall outside of the
291
+ # new retention period will return an error. If you want to suppress
292
+ # the errors and delete the snapshots, use the force option.
293
+ # @return [Integer]
294
+ #
295
+ # @!attribute [rw] force
296
+ # A boolean value indicating whether to override an exception if the
297
+ # retention period has passed.
298
+ # @return [Boolean]
299
+ #
300
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/BatchModifyClusterSnapshotsMessage AWS API Documentation
301
+ #
302
+ class BatchModifyClusterSnapshotsMessage < Struct.new(
303
+ :snapshot_identifier_list,
304
+ :manual_snapshot_retention_period,
305
+ :force)
306
+ include Aws::Structure
307
+ end
308
+
309
+ # @!attribute [rw] resources
310
+ # A list of the snapshots that were modified.
311
+ # @return [Array<String>]
312
+ #
313
+ # @!attribute [rw] errors
314
+ # A list of any errors returned.
315
+ # @return [Array<Types::SnapshotErrorMessage>]
316
+ #
317
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/BatchModifyClusterSnapshotsOutputMessage AWS API Documentation
318
+ #
319
+ class BatchModifyClusterSnapshotsOutputMessage < Struct.new(
320
+ :resources,
321
+ :errors)
322
+ include Aws::Structure
323
+ end
324
+
231
325
  # @note When making an API call, you may pass CancelResizeMessage
232
326
  # data as a hash:
233
327
  #
@@ -236,8 +330,8 @@ module Aws::Redshift
236
330
  # }
237
331
  #
238
332
  # @!attribute [rw] cluster_identifier
239
- # The unique identifier for the cluster whose resize operation you
240
- # wish to cancel.
333
+ # The unique identifier for the cluster that you want to cancel a
334
+ # resize operation for.
241
335
  # @return [String]
242
336
  #
243
337
  # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CancelResizeMessage AWS API Documentation
@@ -323,6 +417,14 @@ module Aws::Redshift
323
417
  # The number of days that automatic cluster snapshots are retained.
324
418
  # @return [Integer]
325
419
  #
420
+ # @!attribute [rw] manual_snapshot_retention_period
421
+ # The default number of days to retain a manual snapshot. If the value
422
+ # is -1, the snapshot is retained indefinitely. This setting does not
423
+ # change the retention period of existing snapshots.
424
+ #
425
+ # The value must be either -1 or an integer between 1 and 3,653
426
+ # @return [Integer]
427
+ #
326
428
  # @!attribute [rw] cluster_security_groups
327
429
  # A list of cluster security group that are associated with the
328
430
  # cluster. Each security group is represented by an element that
@@ -475,7 +577,7 @@ module Aws::Redshift
475
577
  # @return [String]
476
578
  #
477
579
  # @!attribute [rw] elastic_resize_number_of_node_options
478
- # Indicates the number of nodes the cluster can be resized to with the
580
+ # The number of nodes that you can resize the cluster to with the
479
581
  # elastic resize method.
480
582
  # @return [String]
481
583
  #
@@ -483,6 +585,14 @@ module Aws::Redshift
483
585
  # Describes a group of `DeferredMaintenanceWindow` objects.
484
586
  # @return [Array<Types::DeferredMaintenanceWindow>]
485
587
  #
588
+ # @!attribute [rw] snapshot_schedule_identifier
589
+ # A unique identifier for the cluster snapshot schedule.
590
+ # @return [String]
591
+ #
592
+ # @!attribute [rw] snapshot_schedule_state
593
+ # The current state of the cluster snapshot schedule.
594
+ # @return [String]
595
+ #
486
596
  # @!attribute [rw] resize_info
487
597
  # Returns the following:
488
598
  #
@@ -504,6 +614,7 @@ module Aws::Redshift
504
614
  :endpoint,
505
615
  :cluster_create_time,
506
616
  :automated_snapshot_retention_period,
617
+ :manual_snapshot_retention_period,
507
618
  :cluster_security_groups,
508
619
  :vpc_security_groups,
509
620
  :cluster_parameter_groups,
@@ -533,6 +644,8 @@ module Aws::Redshift
533
644
  :maintenance_track_name,
534
645
  :elastic_resize_number_of_node_options,
535
646
  :deferred_maintenance_windows,
647
+ :snapshot_schedule_identifier,
648
+ :snapshot_schedule_state,
536
649
  :resize_info)
537
650
  include Aws::Structure
538
651
  end
@@ -932,6 +1045,14 @@ module Aws::Redshift
932
1045
  # destination region after they are copied from a source region.
933
1046
  # @return [Integer]
934
1047
  #
1048
+ # @!attribute [rw] manual_snapshot_retention_period
1049
+ # The number of days that automated snapshots are retained in the
1050
+ # destination region after they are copied from a source region. If
1051
+ # the value is -1, the manual snapshot is retained indefinitely.
1052
+ #
1053
+ # The value must be either -1 or an integer between 1 and 3,653.
1054
+ # @return [Integer]
1055
+ #
935
1056
  # @!attribute [rw] snapshot_copy_grant_name
936
1057
  # The name of the snapshot copy grant.
937
1058
  # @return [String]
@@ -941,6 +1062,7 @@ module Aws::Redshift
941
1062
  class ClusterSnapshotCopyStatus < Struct.new(
942
1063
  :destination_region,
943
1064
  :retention_period,
1065
+ :manual_snapshot_retention_period,
944
1066
  :snapshot_copy_grant_name)
945
1067
  include Aws::Structure
946
1068
  end
@@ -1085,6 +1207,7 @@ module Aws::Redshift
1085
1207
  # source_snapshot_identifier: "String", # required
1086
1208
  # source_snapshot_cluster_identifier: "String",
1087
1209
  # target_snapshot_identifier: "String", # required
1210
+ # manual_snapshot_retention_period: 1,
1088
1211
  # }
1089
1212
  #
1090
1213
  # @!attribute [rw] source_snapshot_identifier
@@ -1127,12 +1250,22 @@ module Aws::Redshift
1127
1250
  # * Must be unique for the AWS account that is making the request.
1128
1251
  # @return [String]
1129
1252
  #
1253
+ # @!attribute [rw] manual_snapshot_retention_period
1254
+ # The number of days that a manual snapshot is retained. If the value
1255
+ # is -1, the manual snapshot is retained indefinitely.
1256
+ #
1257
+ # The value must be either -1 or an integer between 1 and 3,653.
1258
+ #
1259
+ # The default value is -1.
1260
+ # @return [Integer]
1261
+ #
1130
1262
  # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CopyClusterSnapshotMessage AWS API Documentation
1131
1263
  #
1132
1264
  class CopyClusterSnapshotMessage < Struct.new(
1133
1265
  :source_snapshot_identifier,
1134
1266
  :source_snapshot_cluster_identifier,
1135
- :target_snapshot_identifier)
1267
+ :target_snapshot_identifier,
1268
+ :manual_snapshot_retention_period)
1136
1269
  include Aws::Structure
1137
1270
  end
1138
1271
 
@@ -1164,6 +1297,7 @@ module Aws::Redshift
1164
1297
  # preferred_maintenance_window: "String",
1165
1298
  # cluster_parameter_group_name: "String",
1166
1299
  # automated_snapshot_retention_period: 1,
1300
+ # manual_snapshot_retention_period: 1,
1167
1301
  # port: 1,
1168
1302
  # cluster_version: "String",
1169
1303
  # allow_version_upgrade: false,
@@ -1184,6 +1318,7 @@ module Aws::Redshift
1184
1318
  # additional_info: "String",
1185
1319
  # iam_roles: ["String"],
1186
1320
  # maintenance_track_name: "String",
1321
+ # snapshot_schedule_identifier: "String",
1187
1322
  # }
1188
1323
  #
1189
1324
  # @!attribute [rw] db_name
@@ -1387,6 +1522,14 @@ module Aws::Redshift
1387
1522
  # Constraints: Must be a value from 0 to 35.
1388
1523
  # @return [Integer]
1389
1524
  #
1525
+ # @!attribute [rw] manual_snapshot_retention_period
1526
+ # The default number of days to retain a manual snapshot. If the value
1527
+ # is -1, the snapshot is retained indefinitely. This setting does not
1528
+ # change the retention period of existing snapshots.
1529
+ #
1530
+ # The value must be either -1 or an integer between 1 and 3,653
1531
+ # @return [Integer]
1532
+ #
1390
1533
  # @!attribute [rw] port
1391
1534
  # The port number on which the cluster accepts incoming connections.
1392
1535
  #
@@ -1525,6 +1668,10 @@ module Aws::Redshift
1525
1668
  # is assigned to the `current` track.
1526
1669
  # @return [String]
1527
1670
  #
1671
+ # @!attribute [rw] snapshot_schedule_identifier
1672
+ # A unique identifier for the snapshot schedule.
1673
+ # @return [String]
1674
+ #
1528
1675
  # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateClusterMessage AWS API Documentation
1529
1676
  #
1530
1677
  class CreateClusterMessage < Struct.new(
@@ -1541,6 +1688,7 @@ module Aws::Redshift
1541
1688
  :preferred_maintenance_window,
1542
1689
  :cluster_parameter_group_name,
1543
1690
  :automated_snapshot_retention_period,
1691
+ :manual_snapshot_retention_period,
1544
1692
  :port,
1545
1693
  :cluster_version,
1546
1694
  :allow_version_upgrade,
@@ -1555,7 +1703,8 @@ module Aws::Redshift
1555
1703
  :enhanced_vpc_routing,
1556
1704
  :additional_info,
1557
1705
  :iam_roles,
1558
- :maintenance_track_name)
1706
+ :maintenance_track_name,
1707
+ :snapshot_schedule_identifier)
1559
1708
  include Aws::Structure
1560
1709
  end
1561
1710
 
@@ -1710,6 +1859,7 @@ module Aws::Redshift
1710
1859
  # {
1711
1860
  # snapshot_identifier: "String", # required
1712
1861
  # cluster_identifier: "String", # required
1862
+ # manual_snapshot_retention_period: 1,
1713
1863
  # tags: [
1714
1864
  # {
1715
1865
  # key: "String",
@@ -1739,6 +1889,15 @@ module Aws::Redshift
1739
1889
  # The cluster identifier for which you want a snapshot.
1740
1890
  # @return [String]
1741
1891
  #
1892
+ # @!attribute [rw] manual_snapshot_retention_period
1893
+ # The number of days that a manual snapshot is retained. If the value
1894
+ # is -1, the manual snapshot is retained indefinitely.
1895
+ #
1896
+ # The value must be either -1 or an integer between 1 and 3,653.
1897
+ #
1898
+ # The default value is -1.
1899
+ # @return [Integer]
1900
+ #
1742
1901
  # @!attribute [rw] tags
1743
1902
  # A list of tag instances.
1744
1903
  # @return [Array<Types::Tag>]
@@ -1748,6 +1907,7 @@ module Aws::Redshift
1748
1907
  class CreateClusterSnapshotMessage < Struct.new(
1749
1908
  :snapshot_identifier,
1750
1909
  :cluster_identifier,
1910
+ :manual_snapshot_retention_period,
1751
1911
  :tags)
1752
1912
  include Aws::Structure
1753
1913
  end
@@ -2134,6 +2294,59 @@ module Aws::Redshift
2134
2294
  include Aws::Structure
2135
2295
  end
2136
2296
 
2297
+ # @note When making an API call, you may pass CreateSnapshotScheduleMessage
2298
+ # data as a hash:
2299
+ #
2300
+ # {
2301
+ # schedule_definitions: ["String"],
2302
+ # schedule_identifier: "String",
2303
+ # schedule_description: "String",
2304
+ # tags: [
2305
+ # {
2306
+ # key: "String",
2307
+ # value: "String",
2308
+ # },
2309
+ # ],
2310
+ # dry_run: false,
2311
+ # next_invocations: 1,
2312
+ # }
2313
+ #
2314
+ # @!attribute [rw] schedule_definitions
2315
+ # The definition of the snapshot schedule. The definition is made up
2316
+ # of schedule expressions. For example, "cron(30 12 *)" or
2317
+ # "rate(12 hours)".
2318
+ # @return [Array<String>]
2319
+ #
2320
+ # @!attribute [rw] schedule_identifier
2321
+ # A unique identifier for a snapshot schedule. Only alphanumeric
2322
+ # characters are allowed for the identifier.
2323
+ # @return [String]
2324
+ #
2325
+ # @!attribute [rw] schedule_description
2326
+ # The description of the snapshot schedule.
2327
+ # @return [String]
2328
+ #
2329
+ # @!attribute [rw] tags
2330
+ # @return [Array<Types::Tag>]
2331
+ #
2332
+ # @!attribute [rw] dry_run
2333
+ # @return [Boolean]
2334
+ #
2335
+ # @!attribute [rw] next_invocations
2336
+ # @return [Integer]
2337
+ #
2338
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateSnapshotScheduleMessage AWS API Documentation
2339
+ #
2340
+ class CreateSnapshotScheduleMessage < Struct.new(
2341
+ :schedule_definitions,
2342
+ :schedule_identifier,
2343
+ :schedule_description,
2344
+ :tags,
2345
+ :dry_run,
2346
+ :next_invocations)
2347
+ include Aws::Structure
2348
+ end
2349
+
2137
2350
  # Contains the output from the `CreateTags` action.
2138
2351
  #
2139
2352
  # @note When making an API call, you may pass CreateTagsMessage
@@ -2173,6 +2386,22 @@ module Aws::Redshift
2173
2386
  include Aws::Structure
2174
2387
  end
2175
2388
 
2389
+ # @!attribute [rw] total_backup_size_in_mega_bytes
2390
+ # The total amount of storage currently used for snapshots.
2391
+ # @return [Float]
2392
+ #
2393
+ # @!attribute [rw] total_provisioned_storage_in_mega_bytes
2394
+ # The total amount of storage currently provisioned.
2395
+ # @return [Float]
2396
+ #
2397
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CustomerStorageMessage AWS API Documentation
2398
+ #
2399
+ class CustomerStorageMessage < Struct.new(
2400
+ :total_backup_size_in_mega_bytes,
2401
+ :total_provisioned_storage_in_mega_bytes)
2402
+ include Aws::Structure
2403
+ end
2404
+
2176
2405
  # Describes the status of a cluster while it is in the process of
2177
2406
  # resizing with an incremental resize.
2178
2407
  #
@@ -2277,6 +2506,7 @@ module Aws::Redshift
2277
2506
  # cluster_identifier: "String", # required
2278
2507
  # skip_final_cluster_snapshot: false,
2279
2508
  # final_cluster_snapshot_identifier: "String",
2509
+ # final_cluster_snapshot_retention_period: 1,
2280
2510
  # }
2281
2511
  #
2282
2512
  # @!attribute [rw] cluster_identifier
@@ -2321,12 +2551,22 @@ module Aws::Redshift
2321
2551
  # * Cannot end with a hyphen or contain two consecutive hyphens.
2322
2552
  # @return [String]
2323
2553
  #
2554
+ # @!attribute [rw] final_cluster_snapshot_retention_period
2555
+ # The number of days that a manual snapshot is retained. If the value
2556
+ # is -1, the manual snapshot is retained indefinitely.
2557
+ #
2558
+ # The value must be either -1 or an integer between 1 and 3,653.
2559
+ #
2560
+ # The default value is -1.
2561
+ # @return [Integer]
2562
+ #
2324
2563
  # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteClusterMessage AWS API Documentation
2325
2564
  #
2326
2565
  class DeleteClusterMessage < Struct.new(
2327
2566
  :cluster_identifier,
2328
2567
  :skip_final_cluster_snapshot,
2329
- :final_cluster_snapshot_identifier)
2568
+ :final_cluster_snapshot_identifier,
2569
+ :final_cluster_snapshot_retention_period)
2330
2570
  include Aws::Structure
2331
2571
  end
2332
2572
 
@@ -2395,7 +2635,7 @@ module Aws::Redshift
2395
2635
  # The unique identifier of the manual snapshot to be deleted.
2396
2636
  #
2397
2637
  # Constraints: Must be the name of an existing snapshot that is in the
2398
- # `available` state.
2638
+ # `available`, `failed`, or `cancelled` state.
2399
2639
  # @return [String]
2400
2640
  #
2401
2641
  # @!attribute [rw] snapshot_cluster_identifier
@@ -2520,6 +2760,24 @@ module Aws::Redshift
2520
2760
  include Aws::Structure
2521
2761
  end
2522
2762
 
2763
+ # @note When making an API call, you may pass DeleteSnapshotScheduleMessage
2764
+ # data as a hash:
2765
+ #
2766
+ # {
2767
+ # schedule_identifier: "String", # required
2768
+ # }
2769
+ #
2770
+ # @!attribute [rw] schedule_identifier
2771
+ # A unique identifier of the snapshot schedule to delete.
2772
+ # @return [String]
2773
+ #
2774
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteSnapshotScheduleMessage AWS API Documentation
2775
+ #
2776
+ class DeleteSnapshotScheduleMessage < Struct.new(
2777
+ :schedule_identifier)
2778
+ include Aws::Structure
2779
+ end
2780
+
2523
2781
  # Contains the output from the `DeleteTags` action.
2524
2782
  #
2525
2783
  # @note When making an API call, you may pass DeleteTagsMessage
@@ -2833,6 +3091,12 @@ module Aws::Redshift
2833
3091
  # tag_keys: ["String"],
2834
3092
  # tag_values: ["String"],
2835
3093
  # cluster_exists: false,
3094
+ # sorting_entities: [
3095
+ # {
3096
+ # attribute: "SOURCE_TYPE", # required, accepts SOURCE_TYPE, TOTAL_SIZE, CREATE_TIME
3097
+ # sort_order: "ASC", # accepts ASC, DESC
3098
+ # },
3099
+ # ],
2836
3100
  # }
2837
3101
  #
2838
3102
  # @!attribute [rw] cluster_identifier
@@ -2935,6 +3199,9 @@ module Aws::Redshift
2935
3199
  # `ClusterIdentifier` is required.
2936
3200
  # @return [Boolean]
2937
3201
  #
3202
+ # @!attribute [rw] sorting_entities
3203
+ # @return [Array<Types::SnapshotSortingEntity>]
3204
+ #
2938
3205
  # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterSnapshotsMessage AWS API Documentation
2939
3206
  #
2940
3207
  class DescribeClusterSnapshotsMessage < Struct.new(
@@ -2948,7 +3215,8 @@ module Aws::Redshift
2948
3215
  :owner_account,
2949
3216
  :tag_keys,
2950
3217
  :tag_values,
2951
- :cluster_exists)
3218
+ :cluster_exists,
3219
+ :sorting_entities)
2952
3220
  include Aws::Structure
2953
3221
  end
2954
3222
 
@@ -3861,6 +4129,85 @@ module Aws::Redshift
3861
4129
  include Aws::Structure
3862
4130
  end
3863
4131
 
4132
+ # @note When making an API call, you may pass DescribeSnapshotSchedulesMessage
4133
+ # data as a hash:
4134
+ #
4135
+ # {
4136
+ # cluster_identifier: "String",
4137
+ # schedule_identifier: "String",
4138
+ # tag_keys: ["String"],
4139
+ # tag_values: ["String"],
4140
+ # marker: "String",
4141
+ # max_records: 1,
4142
+ # }
4143
+ #
4144
+ # @!attribute [rw] cluster_identifier
4145
+ # The unique identifier for the cluster whose snapshot schedules you
4146
+ # want to view.
4147
+ # @return [String]
4148
+ #
4149
+ # @!attribute [rw] schedule_identifier
4150
+ # A unique identifier for a snapshot schedule.
4151
+ # @return [String]
4152
+ #
4153
+ # @!attribute [rw] tag_keys
4154
+ # The key value for a snapshot schedule tag.
4155
+ # @return [Array<String>]
4156
+ #
4157
+ # @!attribute [rw] tag_values
4158
+ # The value corresponding to the key of the snapshot schedule tag.
4159
+ # @return [Array<String>]
4160
+ #
4161
+ # @!attribute [rw] marker
4162
+ # A value that indicates the starting point for the next set of
4163
+ # response records in a subsequent request. If a value is returned in
4164
+ # a response, you can retrieve the next set of records by providing
4165
+ # this returned marker value in the `marker` parameter and retrying
4166
+ # the command. If the `marker` field is empty, all response records
4167
+ # have been retrieved for the request.
4168
+ # @return [String]
4169
+ #
4170
+ # @!attribute [rw] max_records
4171
+ # The maximum number or response records to return in each call. If
4172
+ # the number of remaining response records exceeds the specified
4173
+ # `MaxRecords` value, a value is returned in a `marker` field of the
4174
+ # response. You can retrieve the next set of records by retrying the
4175
+ # command with the returned `marker` value.
4176
+ # @return [Integer]
4177
+ #
4178
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeSnapshotSchedulesMessage AWS API Documentation
4179
+ #
4180
+ class DescribeSnapshotSchedulesMessage < Struct.new(
4181
+ :cluster_identifier,
4182
+ :schedule_identifier,
4183
+ :tag_keys,
4184
+ :tag_values,
4185
+ :marker,
4186
+ :max_records)
4187
+ include Aws::Structure
4188
+ end
4189
+
4190
+ # @!attribute [rw] snapshot_schedules
4191
+ # A list of SnapshotSchedules.
4192
+ # @return [Array<Types::SnapshotSchedule>]
4193
+ #
4194
+ # @!attribute [rw] marker
4195
+ # A value that indicates the starting point for the next set of
4196
+ # response records in a subsequent request. If a value is returned in
4197
+ # a response, you can retrieve the next set of records by providing
4198
+ # this returned marker value in the `marker` parameter and retrying
4199
+ # the command. If the `marker` field is empty, all response records
4200
+ # have been retrieved for the request.
4201
+ # @return [String]
4202
+ #
4203
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeSnapshotSchedulesOutputMessage AWS API Documentation
4204
+ #
4205
+ class DescribeSnapshotSchedulesOutputMessage < Struct.new(
4206
+ :snapshot_schedules,
4207
+ :marker)
4208
+ include Aws::Structure
4209
+ end
4210
+
3864
4211
  # @note When making an API call, you may pass DescribeTableRestoreStatusMessage
3865
4212
  # data as a hash:
3866
4213
  #
@@ -4171,6 +4518,7 @@ module Aws::Redshift
4171
4518
  # destination_region: "String", # required
4172
4519
  # retention_period: 1,
4173
4520
  # snapshot_copy_grant_name: "String",
4521
+ # manual_snapshot_retention_period: 1,
4174
4522
  # }
4175
4523
  #
4176
4524
  # @!attribute [rw] cluster_identifier
@@ -4206,13 +4554,22 @@ module Aws::Redshift
4206
4554
  # KMS-encrypted cluster are copied to the destination region.
4207
4555
  # @return [String]
4208
4556
  #
4557
+ # @!attribute [rw] manual_snapshot_retention_period
4558
+ # The number of days to retain newly copied snapshots in the
4559
+ # destination region after they are copied from the source region. If
4560
+ # the value is -1, the manual snapshot is retained indefinitely.
4561
+ #
4562
+ # The value must be either -1 or an integer between 1 and 3,653.
4563
+ # @return [Integer]
4564
+ #
4209
4565
  # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/EnableSnapshotCopyMessage AWS API Documentation
4210
4566
  #
4211
4567
  class EnableSnapshotCopyMessage < Struct.new(
4212
4568
  :cluster_identifier,
4213
4569
  :destination_region,
4214
4570
  :retention_period,
4215
- :snapshot_copy_grant_name)
4571
+ :snapshot_copy_grant_name,
4572
+ :manual_snapshot_retention_period)
4216
4573
  include Aws::Structure
4217
4574
  end
4218
4575
 
@@ -5055,6 +5412,7 @@ module Aws::Redshift
5055
5412
  # master_user_password: "String",
5056
5413
  # cluster_parameter_group_name: "String",
5057
5414
  # automated_snapshot_retention_period: 1,
5415
+ # manual_snapshot_retention_period: 1,
5058
5416
  # preferred_maintenance_window: "String",
5059
5417
  # cluster_version: "String",
5060
5418
  # allow_version_upgrade: false,
@@ -5198,6 +5556,17 @@ module Aws::Redshift
5198
5556
  # Constraints: Must be a value from 0 to 35.
5199
5557
  # @return [Integer]
5200
5558
  #
5559
+ # @!attribute [rw] manual_snapshot_retention_period
5560
+ # The default for number of days that a newly created manual snapshot
5561
+ # is retained. If the value is -1, the manual snapshot is retained
5562
+ # indefinitely. This value will not retroactively change the retention
5563
+ # periods of existing manual snapshots
5564
+ #
5565
+ # The value must be either -1 or an integer between 1 and 3,653.
5566
+ #
5567
+ # The default value is -1.
5568
+ # @return [Integer]
5569
+ #
5201
5570
  # @!attribute [rw] preferred_maintenance_window
5202
5571
  # The weekly time range (in UTC) during which system maintenance can
5203
5572
  # occur, if necessary. If system maintenance is necessary during the
@@ -5342,6 +5711,7 @@ module Aws::Redshift
5342
5711
  :master_user_password,
5343
5712
  :cluster_parameter_group_name,
5344
5713
  :automated_snapshot_retention_period,
5714
+ :manual_snapshot_retention_period,
5345
5715
  :preferred_maintenance_window,
5346
5716
  :cluster_version,
5347
5717
  :allow_version_upgrade,
@@ -5412,6 +5782,87 @@ module Aws::Redshift
5412
5782
  include Aws::Structure
5413
5783
  end
5414
5784
 
5785
+ # @note When making an API call, you may pass ModifyClusterSnapshotMessage
5786
+ # data as a hash:
5787
+ #
5788
+ # {
5789
+ # snapshot_identifier: "String", # required
5790
+ # manual_snapshot_retention_period: 1,
5791
+ # force: false,
5792
+ # }
5793
+ #
5794
+ # @!attribute [rw] snapshot_identifier
5795
+ # The identifier of the snapshot whose setting you want to modify.
5796
+ # @return [String]
5797
+ #
5798
+ # @!attribute [rw] manual_snapshot_retention_period
5799
+ # The number of days that a manual snapshot is retained. If the value
5800
+ # is -1, the manual snapshot is retained indefinitely.
5801
+ #
5802
+ # If the manual snapshot falls outside of the new retention period,
5803
+ # you can specify the force option to immediately delete the snapshot.
5804
+ #
5805
+ # The value must be either -1 or an integer between 1 and 3,653.
5806
+ # @return [Integer]
5807
+ #
5808
+ # @!attribute [rw] force
5809
+ # A Boolean option to override an exception if the retention period
5810
+ # has already passed.
5811
+ # @return [Boolean]
5812
+ #
5813
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterSnapshotMessage AWS API Documentation
5814
+ #
5815
+ class ModifyClusterSnapshotMessage < Struct.new(
5816
+ :snapshot_identifier,
5817
+ :manual_snapshot_retention_period,
5818
+ :force)
5819
+ include Aws::Structure
5820
+ end
5821
+
5822
+ # @!attribute [rw] snapshot
5823
+ # Describes a snapshot.
5824
+ # @return [Types::Snapshot]
5825
+ #
5826
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterSnapshotResult AWS API Documentation
5827
+ #
5828
+ class ModifyClusterSnapshotResult < Struct.new(
5829
+ :snapshot)
5830
+ include Aws::Structure
5831
+ end
5832
+
5833
+ # @note When making an API call, you may pass ModifyClusterSnapshotScheduleMessage
5834
+ # data as a hash:
5835
+ #
5836
+ # {
5837
+ # cluster_identifier: "String", # required
5838
+ # schedule_identifier: "String",
5839
+ # disassociate_schedule: false,
5840
+ # }
5841
+ #
5842
+ # @!attribute [rw] cluster_identifier
5843
+ # A unique identifier for the cluster whose snapshot schedule you want
5844
+ # to modify.
5845
+ # @return [String]
5846
+ #
5847
+ # @!attribute [rw] schedule_identifier
5848
+ # A unique alphanumeric identifier for the schedule you want to
5849
+ # associate with the cluster.
5850
+ # @return [String]
5851
+ #
5852
+ # @!attribute [rw] disassociate_schedule
5853
+ # A boolean to indicate whether to remove the assoiciation between the
5854
+ # cluster and the schedule.
5855
+ # @return [Boolean]
5856
+ #
5857
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterSnapshotScheduleMessage AWS API Documentation
5858
+ #
5859
+ class ModifyClusterSnapshotScheduleMessage < Struct.new(
5860
+ :cluster_identifier,
5861
+ :schedule_identifier,
5862
+ :disassociate_schedule)
5863
+ include Aws::Structure
5864
+ end
5865
+
5415
5866
  # @note When making an API call, you may pass ModifyClusterSubnetGroupMessage
5416
5867
  # data as a hash:
5417
5868
  #
@@ -5551,12 +6002,13 @@ module Aws::Redshift
5551
6002
  # {
5552
6003
  # cluster_identifier: "String", # required
5553
6004
  # retention_period: 1, # required
6005
+ # manual: false,
5554
6006
  # }
5555
6007
  #
5556
6008
  # @!attribute [rw] cluster_identifier
5557
6009
  # The unique identifier of the cluster for which you want to change
5558
- # the retention period for automated snapshots that are copied to a
5559
- # destination region.
6010
+ # the retention period for either automated or manual snapshots that
6011
+ # are copied to a destination region.
5560
6012
  #
5561
6013
  # Constraints: Must be the valid name of an existing cluster that has
5562
6014
  # cross-region snapshot copy enabled.
@@ -5566,19 +6018,38 @@ module Aws::Redshift
5566
6018
  # The number of days to retain automated snapshots in the destination
5567
6019
  # region after they are copied from the source region.
5568
6020
  #
6021
+ # By default, this only changes the retention period of copied
6022
+ # automated snapshots.
6023
+ #
5569
6024
  # If you decrease the retention period for automated snapshots that
5570
6025
  # are copied to a destination region, Amazon Redshift will delete any
5571
6026
  # existing automated snapshots that were copied to the destination
5572
6027
  # region and that fall outside of the new retention period.
5573
6028
  #
5574
- # Constraints: Must be at least 1 and no more than 35.
6029
+ # Constraints: Must be at least 1 and no more than 35 for automated
6030
+ # snapshots.
6031
+ #
6032
+ # If you specify the `manual` option, only newly copied manual
6033
+ # snapshots will have the new retention period.
6034
+ #
6035
+ # If you specify the value of -1 newly copied manual snapshots are
6036
+ # retained indefinitely.
6037
+ #
6038
+ # Constraints: The number of days must be either -1 or an integer
6039
+ # between 1 and 3,653 for manual snapshots.
5575
6040
  # @return [Integer]
5576
6041
  #
6042
+ # @!attribute [rw] manual
6043
+ # Indicates whether to apply the snapshot retention period to newly
6044
+ # copied manual snapshots instead of automated snapshots.
6045
+ # @return [Boolean]
6046
+ #
5577
6047
  # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifySnapshotCopyRetentionPeriodMessage AWS API Documentation
5578
6048
  #
5579
6049
  class ModifySnapshotCopyRetentionPeriodMessage < Struct.new(
5580
6050
  :cluster_identifier,
5581
- :retention_period)
6051
+ :retention_period,
6052
+ :manual)
5582
6053
  include Aws::Structure
5583
6054
  end
5584
6055
 
@@ -5593,6 +6064,32 @@ module Aws::Redshift
5593
6064
  include Aws::Structure
5594
6065
  end
5595
6066
 
6067
+ # @note When making an API call, you may pass ModifySnapshotScheduleMessage
6068
+ # data as a hash:
6069
+ #
6070
+ # {
6071
+ # schedule_identifier: "String", # required
6072
+ # schedule_definitions: ["String"], # required
6073
+ # }
6074
+ #
6075
+ # @!attribute [rw] schedule_identifier
6076
+ # A unique alphanumeric identifier of the schedule to modify.
6077
+ # @return [String]
6078
+ #
6079
+ # @!attribute [rw] schedule_definitions
6080
+ # An updated list of schedule definitions. A schedule definition is
6081
+ # made up of schedule expressions. For example, "cron(30 12 *)" or
6082
+ # "rate(12 hours)".
6083
+ # @return [Array<String>]
6084
+ #
6085
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifySnapshotScheduleMessage AWS API Documentation
6086
+ #
6087
+ class ModifySnapshotScheduleMessage < Struct.new(
6088
+ :schedule_identifier,
6089
+ :schedule_definitions)
6090
+ include Aws::Structure
6091
+ end
6092
+
5596
6093
  # Describes an orderable cluster option.
5597
6094
  #
5598
6095
  # @!attribute [rw] cluster_version
@@ -6169,7 +6666,7 @@ module Aws::Redshift
6169
6666
  # @!attribute [rw] classic
6170
6667
  # A boolean value indicating whether the resize operation is using the
6171
6668
  # classic resize process. If you don't provide this parameter or set
6172
- # the value to `false` the resize type is elastic.
6669
+ # the value to `false`, the resize type is elastic.
6173
6670
  # @return [Boolean]
6174
6671
  #
6175
6672
  # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ResizeClusterMessage AWS API Documentation
@@ -6290,7 +6787,7 @@ module Aws::Redshift
6290
6787
  # @return [Integer]
6291
6788
  #
6292
6789
  # @!attribute [rw] resize_type
6293
- # An enum with possible values of ClassicResize and ElasticResize.
6790
+ # An enum with possible values of `ClassicResize` and `ElasticResize`.
6294
6791
  # These values describe the type of resize operation being performed.
6295
6792
  # @return [String]
6296
6793
  #
@@ -6348,12 +6845,14 @@ module Aws::Redshift
6348
6845
  # vpc_security_group_ids: ["String"],
6349
6846
  # preferred_maintenance_window: "String",
6350
6847
  # automated_snapshot_retention_period: 1,
6848
+ # manual_snapshot_retention_period: 1,
6351
6849
  # kms_key_id: "String",
6352
6850
  # node_type: "String",
6353
6851
  # enhanced_vpc_routing: false,
6354
6852
  # additional_info: "String",
6355
6853
  # iam_roles: ["String"],
6356
6854
  # maintenance_track_name: "String",
6855
+ # snapshot_schedule_identifier: "String",
6357
6856
  # }
6358
6857
  #
6359
6858
  # @!attribute [rw] cluster_identifier
@@ -6514,6 +7013,9 @@ module Aws::Redshift
6514
7013
  # Constraints: Must be a value from 0 to 35.
6515
7014
  # @return [Integer]
6516
7015
  #
7016
+ # @!attribute [rw] manual_snapshot_retention_period
7017
+ # @return [Integer]
7018
+ #
6517
7019
  # @!attribute [rw] kms_key_id
6518
7020
  # The AWS Key Management Service (KMS) key ID of the encryption key
6519
7021
  # that you want to use to encrypt data in the cluster that you restore
@@ -6581,6 +7083,10 @@ module Aws::Redshift
6581
7083
  # tracks.
6582
7084
  # @return [String]
6583
7085
  #
7086
+ # @!attribute [rw] snapshot_schedule_identifier
7087
+ # A unique identifier for the snapshot schedule.
7088
+ # @return [String]
7089
+ #
6584
7090
  # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RestoreFromClusterSnapshotMessage AWS API Documentation
6585
7091
  #
6586
7092
  class RestoreFromClusterSnapshotMessage < Struct.new(
@@ -6601,12 +7107,14 @@ module Aws::Redshift
6601
7107
  :vpc_security_group_ids,
6602
7108
  :preferred_maintenance_window,
6603
7109
  :automated_snapshot_retention_period,
7110
+ :manual_snapshot_retention_period,
6604
7111
  :kms_key_id,
6605
7112
  :node_type,
6606
7113
  :enhanced_vpc_routing,
6607
7114
  :additional_info,
6608
7115
  :iam_roles,
6609
- :maintenance_track_name)
7116
+ :maintenance_track_name,
7117
+ :snapshot_schedule_identifier)
6610
7118
  include Aws::Structure
6611
7119
  end
6612
7120
 
@@ -7069,6 +7577,23 @@ module Aws::Redshift
7069
7577
  # The name of the maintenance track for the snapshot.
7070
7578
  # @return [String]
7071
7579
  #
7580
+ # @!attribute [rw] manual_snapshot_retention_period
7581
+ # The number of days that a manual snapshot is retained. If the value
7582
+ # is -1, the manual snapshot is retained indefinitely.
7583
+ #
7584
+ # The value must be either -1 or an integer between 1 and 3,653.
7585
+ # @return [Integer]
7586
+ #
7587
+ # @!attribute [rw] manual_snapshot_remaining_days
7588
+ # The number of days until a manual snapshot will pass its retention
7589
+ # period.
7590
+ # @return [Integer]
7591
+ #
7592
+ # @!attribute [rw] snapshot_retention_start_time
7593
+ # A timestamp representing the start of the retention period for the
7594
+ # snapshot.
7595
+ # @return [Time]
7596
+ #
7072
7597
  # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/Snapshot AWS API Documentation
7073
7598
  #
7074
7599
  class Snapshot < Struct.new(
@@ -7101,7 +7626,10 @@ module Aws::Redshift
7101
7626
  :tags,
7102
7627
  :restorable_node_types,
7103
7628
  :enhanced_vpc_routing,
7104
- :maintenance_track_name)
7629
+ :maintenance_track_name,
7630
+ :manual_snapshot_retention_period,
7631
+ :manual_snapshot_remaining_days,
7632
+ :snapshot_retention_start_time)
7105
7633
  include Aws::Structure
7106
7634
  end
7107
7635
 
@@ -7164,6 +7692,34 @@ module Aws::Redshift
7164
7692
  include Aws::Structure
7165
7693
  end
7166
7694
 
7695
+ # Describes the errors returned by a snapshot.
7696
+ #
7697
+ # @!attribute [rw] snapshot_identifier
7698
+ # A unique identifier for the snapshot returning the error.
7699
+ # @return [String]
7700
+ #
7701
+ # @!attribute [rw] snapshot_cluster_identifier
7702
+ # A unique identifier for the cluster.
7703
+ # @return [String]
7704
+ #
7705
+ # @!attribute [rw] failure_code
7706
+ # The failure code for the error.
7707
+ # @return [String]
7708
+ #
7709
+ # @!attribute [rw] failure_reason
7710
+ # The text message describing the error.
7711
+ # @return [String]
7712
+ #
7713
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/SnapshotErrorMessage AWS API Documentation
7714
+ #
7715
+ class SnapshotErrorMessage < Struct.new(
7716
+ :snapshot_identifier,
7717
+ :snapshot_cluster_identifier,
7718
+ :failure_code,
7719
+ :failure_reason)
7720
+ include Aws::Structure
7721
+ end
7722
+
7167
7723
  # Contains the output from the DescribeClusterSnapshots action.
7168
7724
  #
7169
7725
  # @!attribute [rw] marker
@@ -7187,6 +7743,66 @@ module Aws::Redshift
7187
7743
  include Aws::Structure
7188
7744
  end
7189
7745
 
7746
+ # Describes a snapshot schedule. You can set a regular interval for
7747
+ # creating snapshots of a cluster. You can also schedule snapshots for
7748
+ # specific dates.
7749
+ #
7750
+ # @!attribute [rw] schedule_definitions
7751
+ # A list of ScheduleDefinitions
7752
+ # @return [Array<String>]
7753
+ #
7754
+ # @!attribute [rw] schedule_identifier
7755
+ # A unique identifier for the schedule.
7756
+ # @return [String]
7757
+ #
7758
+ # @!attribute [rw] schedule_description
7759
+ # The description of the schedule.
7760
+ # @return [String]
7761
+ #
7762
+ # @!attribute [rw] tags
7763
+ # An optional set of tags describing the schedule.
7764
+ # @return [Array<Types::Tag>]
7765
+ #
7766
+ # @!attribute [rw] next_invocations
7767
+ # @return [Array<Time>]
7768
+ #
7769
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/SnapshotSchedule AWS API Documentation
7770
+ #
7771
+ class SnapshotSchedule < Struct.new(
7772
+ :schedule_definitions,
7773
+ :schedule_identifier,
7774
+ :schedule_description,
7775
+ :tags,
7776
+ :next_invocations)
7777
+ include Aws::Structure
7778
+ end
7779
+
7780
+ # Describes a sorting entity
7781
+ #
7782
+ # @note When making an API call, you may pass SnapshotSortingEntity
7783
+ # data as a hash:
7784
+ #
7785
+ # {
7786
+ # attribute: "SOURCE_TYPE", # required, accepts SOURCE_TYPE, TOTAL_SIZE, CREATE_TIME
7787
+ # sort_order: "ASC", # accepts ASC, DESC
7788
+ # }
7789
+ #
7790
+ # @!attribute [rw] attribute
7791
+ # The category for sorting the snapshots.
7792
+ # @return [String]
7793
+ #
7794
+ # @!attribute [rw] sort_order
7795
+ # The order for listing the attributes.
7796
+ # @return [String]
7797
+ #
7798
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/SnapshotSortingEntity AWS API Documentation
7799
+ #
7800
+ class SnapshotSortingEntity < Struct.new(
7801
+ :attribute,
7802
+ :sort_order)
7803
+ include Aws::Structure
7804
+ end
7805
+
7190
7806
  # Describes a subnet.
7191
7807
  #
7192
7808
  # @!attribute [rw] subnet_identifier