aws-sdk-redshift 1.14.0 → 1.15.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.
@@ -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