aws-sdk-redshiftserverless 1.21.0 → 1.22.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -526,6 +526,10 @@ module Aws::RedshiftServerless
526
526
  # first character must be a letter. The name can't contain two
527
527
  # consecutive hyphens or end with a hyphen.
528
528
  #
529
+ # @option params [String] :owner_account
530
+ # The owner Amazon Web Services account for the Amazon Redshift
531
+ # Serverless workgroup.
532
+ #
529
533
  # @option params [required, Array<String>] :subnet_ids
530
534
  # The unique identifers of subnets from which Amazon Redshift Serverless
531
535
  # chooses one to deploy a VPC endpoint.
@@ -546,6 +550,7 @@ module Aws::RedshiftServerless
546
550
  #
547
551
  # resp = client.create_endpoint_access({
548
552
  # endpoint_name: "String", # required
553
+ # owner_account: "OwnerAccount",
549
554
  # subnet_ids: ["SubnetId"], # required
550
555
  # vpc_security_group_ids: ["VpcSecurityGroupId"],
551
556
  # workgroup_name: "String", # required
@@ -687,6 +692,138 @@ module Aws::RedshiftServerless
687
692
  req.send_request(options)
688
693
  end
689
694
 
695
+ # Creates a scheduled action. A scheduled action contains a schedule and
696
+ # an Amazon Redshift API action. For example, you can create a schedule
697
+ # of when to run the `CreateSnapshot` API operation.
698
+ #
699
+ # @option params [Boolean] :enabled
700
+ # Indicates whether the schedule is enabled. If false, the scheduled
701
+ # action does not trigger. For more information about `state` of the
702
+ # scheduled action, see [ScheduledAction][1].
703
+ #
704
+ #
705
+ #
706
+ # [1]: https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_ScheduledAction.html
707
+ #
708
+ # @option params [Time,DateTime,Date,Integer,String] :end_time
709
+ # The end time in UTC when the schedule is no longer active. After this
710
+ # time, the scheduled action does not trigger.
711
+ #
712
+ # @option params [required, String] :namespace_name
713
+ # The name of the namespace for which to create a scheduled action.
714
+ #
715
+ # @option params [required, String] :role_arn
716
+ # The ARN of the IAM role to assume to run the scheduled action. This
717
+ # IAM role must have permission to run the Amazon Redshift Serverless
718
+ # API operation in the scheduled action. This IAM role must allow the
719
+ # Amazon Redshift scheduler to schedule creating snapshots. (Principal
720
+ # scheduler.redshift.amazonaws.com) to assume permissions on your
721
+ # behalf. For more information about the IAM role to use with the Amazon
722
+ # Redshift scheduler, see [Using Identity-Based Policies for Amazon
723
+ # Redshift][1] in the Amazon Redshift Cluster Management Guide
724
+ #
725
+ #
726
+ #
727
+ # [1]: https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html
728
+ #
729
+ # @option params [required, Types::Schedule] :schedule
730
+ # The schedule for a one-time (at format) or recurring (cron format)
731
+ # scheduled action. Schedule invocations must be separated by at least
732
+ # one hour.
733
+ #
734
+ # Format of at expressions is "`at(yyyy-mm-ddThh:mm:ss)`". For
735
+ # example, "`at(2016-03-04T17:27:00)`".
736
+ #
737
+ # Format of cron expressions is "`cron(Minutes Hours Day-of-month Month
738
+ # Day-of-week Year)`". For example, "`cron(0 10 ? * MON *)`". For
739
+ # more information, see [Cron Expressions][1] in the *Amazon CloudWatch
740
+ # Events User Guide*.
741
+ #
742
+ #
743
+ #
744
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions
745
+ #
746
+ # @option params [String] :scheduled_action_description
747
+ # The description of the scheduled action.
748
+ #
749
+ # @option params [required, String] :scheduled_action_name
750
+ # The name of the scheduled action.
751
+ #
752
+ # @option params [Time,DateTime,Date,Integer,String] :start_time
753
+ # The start time in UTC when the schedule is active. Before this time,
754
+ # the scheduled action does not trigger.
755
+ #
756
+ # @option params [required, Types::TargetAction] :target_action
757
+ # A JSON format string of the Amazon Redshift Serverless API operation
758
+ # with input parameters. The following is an example of a target action.
759
+ #
760
+ # `"\{"CreateSnapshot": \{"NamespaceName":
761
+ # "sampleNamespace","SnapshotName": "sampleSnapshot", "retentionPeriod":
762
+ # "1"\}\}"`
763
+ #
764
+ # @return [Types::CreateScheduledActionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
765
+ #
766
+ # * {Types::CreateScheduledActionResponse#scheduled_action #scheduled_action} => Types::ScheduledActionResponse
767
+ #
768
+ # @example Request syntax with placeholder values
769
+ #
770
+ # resp = client.create_scheduled_action({
771
+ # enabled: false,
772
+ # end_time: Time.now,
773
+ # namespace_name: "NamespaceName", # required
774
+ # role_arn: "IamRoleArn", # required
775
+ # schedule: { # required
776
+ # at: Time.now,
777
+ # cron: "String",
778
+ # },
779
+ # scheduled_action_description: "String",
780
+ # scheduled_action_name: "ScheduledActionName", # required
781
+ # start_time: Time.now,
782
+ # target_action: { # required
783
+ # create_snapshot: {
784
+ # namespace_name: "NamespaceName", # required
785
+ # retention_period: 1,
786
+ # snapshot_name_prefix: "SnapshotNamePrefix", # required
787
+ # tags: [
788
+ # {
789
+ # key: "TagKey", # required
790
+ # value: "TagValue", # required
791
+ # },
792
+ # ],
793
+ # },
794
+ # },
795
+ # })
796
+ #
797
+ # @example Response structure
798
+ #
799
+ # resp.scheduled_action.end_time #=> Time
800
+ # resp.scheduled_action.namespace_name #=> String
801
+ # resp.scheduled_action.next_invocations #=> Array
802
+ # resp.scheduled_action.next_invocations[0] #=> Time
803
+ # resp.scheduled_action.role_arn #=> String
804
+ # resp.scheduled_action.schedule.at #=> Time
805
+ # resp.scheduled_action.schedule.cron #=> String
806
+ # resp.scheduled_action.scheduled_action_description #=> String
807
+ # resp.scheduled_action.scheduled_action_name #=> String
808
+ # resp.scheduled_action.scheduled_action_uuid #=> String
809
+ # resp.scheduled_action.start_time #=> Time
810
+ # resp.scheduled_action.state #=> String, one of "ACTIVE", "DISABLED"
811
+ # resp.scheduled_action.target_action.create_snapshot.namespace_name #=> String
812
+ # resp.scheduled_action.target_action.create_snapshot.retention_period #=> Integer
813
+ # resp.scheduled_action.target_action.create_snapshot.snapshot_name_prefix #=> String
814
+ # resp.scheduled_action.target_action.create_snapshot.tags #=> Array
815
+ # resp.scheduled_action.target_action.create_snapshot.tags[0].key #=> String
816
+ # resp.scheduled_action.target_action.create_snapshot.tags[0].value #=> String
817
+ #
818
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/CreateScheduledAction AWS API Documentation
819
+ #
820
+ # @overload create_scheduled_action(params = {})
821
+ # @param [Hash] params ({})
822
+ def create_scheduled_action(params = {}, options = {})
823
+ req = build_request(:create_scheduled_action, params)
824
+ req.send_request(options)
825
+ end
826
+
690
827
  # Creates a snapshot of all databases in a namespace. For more
691
828
  # information about snapshots, see [ Working with snapshots and recovery
692
829
  # points][1].
@@ -765,6 +902,55 @@ module Aws::RedshiftServerless
765
902
  req.send_request(options)
766
903
  end
767
904
 
905
+ # Creates a snapshot copy configuration that lets you copy snapshots to
906
+ # another Amazon Web Services Region.
907
+ #
908
+ # @option params [String] :destination_kms_key_id
909
+ # The KMS key to use to encrypt your snapshots in the destination Amazon
910
+ # Web Services Region.
911
+ #
912
+ # @option params [required, String] :destination_region
913
+ # The destination Amazon Web Services Region that you want to copy
914
+ # snapshots to.
915
+ #
916
+ # @option params [required, String] :namespace_name
917
+ # The name of the namespace to copy snapshots from.
918
+ #
919
+ # @option params [Integer] :snapshot_retention_period
920
+ # The retention period of the snapshots that you copy to the destination
921
+ # Amazon Web Services Region.
922
+ #
923
+ # @return [Types::CreateSnapshotCopyConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
924
+ #
925
+ # * {Types::CreateSnapshotCopyConfigurationResponse#snapshot_copy_configuration #snapshot_copy_configuration} => Types::SnapshotCopyConfiguration
926
+ #
927
+ # @example Request syntax with placeholder values
928
+ #
929
+ # resp = client.create_snapshot_copy_configuration({
930
+ # destination_kms_key_id: "KmsKeyId",
931
+ # destination_region: "String", # required
932
+ # namespace_name: "NamespaceName", # required
933
+ # snapshot_retention_period: 1,
934
+ # })
935
+ #
936
+ # @example Response structure
937
+ #
938
+ # resp.snapshot_copy_configuration.destination_kms_key_id #=> String
939
+ # resp.snapshot_copy_configuration.destination_region #=> String
940
+ # resp.snapshot_copy_configuration.namespace_name #=> String
941
+ # resp.snapshot_copy_configuration.snapshot_copy_configuration_arn #=> String
942
+ # resp.snapshot_copy_configuration.snapshot_copy_configuration_id #=> String
943
+ # resp.snapshot_copy_configuration.snapshot_retention_period #=> Integer
944
+ #
945
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/CreateSnapshotCopyConfiguration AWS API Documentation
946
+ #
947
+ # @overload create_snapshot_copy_configuration(params = {})
948
+ # @param [Hash] params ({})
949
+ def create_snapshot_copy_configuration(params = {}, options = {})
950
+ req = build_request(:create_snapshot_copy_configuration, params)
951
+ req.send_request(options)
952
+ end
953
+
768
954
  # Creates a usage limit for a specified Amazon Redshift Serverless usage
769
955
  # type. The usage limit is identified by the returned usage limit
770
956
  # identifier.
@@ -833,7 +1019,7 @@ module Aws::RedshiftServerless
833
1019
  # @option params [Array<Types::ConfigParameter>] :config_parameters
834
1020
  # An array of parameters to set for advanced control over a database.
835
1021
  # The options are `auto_mv`, `datestyle`,
836
- # `enable_case_sensitivity_identifier`, `enable_user_activity_logging`,
1022
+ # `enable_case_sensitive_identifier`, `enable_user_activity_logging`,
837
1023
  # `query_group`, `search_path`, and query monitoring metrics that let
838
1024
  # you define performance boundaries. For more information about query
839
1025
  # monitoring rules and available metrics, see [ Query monitoring metrics
@@ -912,6 +1098,8 @@ module Aws::RedshiftServerless
912
1098
  # resp.workgroup.config_parameters[0].parameter_key #=> String
913
1099
  # resp.workgroup.config_parameters[0].parameter_value #=> String
914
1100
  # resp.workgroup.creation_date #=> Time
1101
+ # resp.workgroup.cross_account_vpcs #=> Array
1102
+ # resp.workgroup.cross_account_vpcs[0] #=> String
915
1103
  # resp.workgroup.custom_domain_certificate_arn #=> String
916
1104
  # resp.workgroup.custom_domain_certificate_expiry_time #=> Time
917
1105
  # resp.workgroup.custom_domain_name #=> String
@@ -1097,6 +1285,51 @@ module Aws::RedshiftServerless
1097
1285
  req.send_request(options)
1098
1286
  end
1099
1287
 
1288
+ # Deletes a scheduled action.
1289
+ #
1290
+ # @option params [required, String] :scheduled_action_name
1291
+ # The name of the scheduled action to delete.
1292
+ #
1293
+ # @return [Types::DeleteScheduledActionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1294
+ #
1295
+ # * {Types::DeleteScheduledActionResponse#scheduled_action #scheduled_action} => Types::ScheduledActionResponse
1296
+ #
1297
+ # @example Request syntax with placeholder values
1298
+ #
1299
+ # resp = client.delete_scheduled_action({
1300
+ # scheduled_action_name: "ScheduledActionName", # required
1301
+ # })
1302
+ #
1303
+ # @example Response structure
1304
+ #
1305
+ # resp.scheduled_action.end_time #=> Time
1306
+ # resp.scheduled_action.namespace_name #=> String
1307
+ # resp.scheduled_action.next_invocations #=> Array
1308
+ # resp.scheduled_action.next_invocations[0] #=> Time
1309
+ # resp.scheduled_action.role_arn #=> String
1310
+ # resp.scheduled_action.schedule.at #=> Time
1311
+ # resp.scheduled_action.schedule.cron #=> String
1312
+ # resp.scheduled_action.scheduled_action_description #=> String
1313
+ # resp.scheduled_action.scheduled_action_name #=> String
1314
+ # resp.scheduled_action.scheduled_action_uuid #=> String
1315
+ # resp.scheduled_action.start_time #=> Time
1316
+ # resp.scheduled_action.state #=> String, one of "ACTIVE", "DISABLED"
1317
+ # resp.scheduled_action.target_action.create_snapshot.namespace_name #=> String
1318
+ # resp.scheduled_action.target_action.create_snapshot.retention_period #=> Integer
1319
+ # resp.scheduled_action.target_action.create_snapshot.snapshot_name_prefix #=> String
1320
+ # resp.scheduled_action.target_action.create_snapshot.tags #=> Array
1321
+ # resp.scheduled_action.target_action.create_snapshot.tags[0].key #=> String
1322
+ # resp.scheduled_action.target_action.create_snapshot.tags[0].value #=> String
1323
+ #
1324
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/DeleteScheduledAction AWS API Documentation
1325
+ #
1326
+ # @overload delete_scheduled_action(params = {})
1327
+ # @param [Hash] params ({})
1328
+ def delete_scheduled_action(params = {}, options = {})
1329
+ req = build_request(:delete_scheduled_action, params)
1330
+ req.send_request(options)
1331
+ end
1332
+
1100
1333
  # Deletes a snapshot from Amazon Redshift Serverless.
1101
1334
  #
1102
1335
  # @option params [required, String] :snapshot_name
@@ -1148,6 +1381,39 @@ module Aws::RedshiftServerless
1148
1381
  req.send_request(options)
1149
1382
  end
1150
1383
 
1384
+ # Deletes a snapshot copy configuration
1385
+ #
1386
+ # @option params [required, String] :snapshot_copy_configuration_id
1387
+ # The ID of the snapshot copy configuration to delete.
1388
+ #
1389
+ # @return [Types::DeleteSnapshotCopyConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1390
+ #
1391
+ # * {Types::DeleteSnapshotCopyConfigurationResponse#snapshot_copy_configuration #snapshot_copy_configuration} => Types::SnapshotCopyConfiguration
1392
+ #
1393
+ # @example Request syntax with placeholder values
1394
+ #
1395
+ # resp = client.delete_snapshot_copy_configuration({
1396
+ # snapshot_copy_configuration_id: "String", # required
1397
+ # })
1398
+ #
1399
+ # @example Response structure
1400
+ #
1401
+ # resp.snapshot_copy_configuration.destination_kms_key_id #=> String
1402
+ # resp.snapshot_copy_configuration.destination_region #=> String
1403
+ # resp.snapshot_copy_configuration.namespace_name #=> String
1404
+ # resp.snapshot_copy_configuration.snapshot_copy_configuration_arn #=> String
1405
+ # resp.snapshot_copy_configuration.snapshot_copy_configuration_id #=> String
1406
+ # resp.snapshot_copy_configuration.snapshot_retention_period #=> Integer
1407
+ #
1408
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/DeleteSnapshotCopyConfiguration AWS API Documentation
1409
+ #
1410
+ # @overload delete_snapshot_copy_configuration(params = {})
1411
+ # @param [Hash] params ({})
1412
+ def delete_snapshot_copy_configuration(params = {}, options = {})
1413
+ req = build_request(:delete_snapshot_copy_configuration, params)
1414
+ req.send_request(options)
1415
+ end
1416
+
1151
1417
  # Deletes a usage limit from Amazon Redshift Serverless.
1152
1418
  #
1153
1419
  # @option params [required, String] :usage_limit_id
@@ -1204,6 +1470,8 @@ module Aws::RedshiftServerless
1204
1470
  # resp.workgroup.config_parameters[0].parameter_key #=> String
1205
1471
  # resp.workgroup.config_parameters[0].parameter_value #=> String
1206
1472
  # resp.workgroup.creation_date #=> Time
1473
+ # resp.workgroup.cross_account_vpcs #=> Array
1474
+ # resp.workgroup.cross_account_vpcs[0] #=> String
1207
1475
  # resp.workgroup.custom_domain_certificate_arn #=> String
1208
1476
  # resp.workgroup.custom_domain_certificate_expiry_time #=> Time
1209
1477
  # resp.workgroup.custom_domain_name #=> String
@@ -1503,6 +1771,51 @@ module Aws::RedshiftServerless
1503
1771
  req.send_request(options)
1504
1772
  end
1505
1773
 
1774
+ # Returns information about a scheduled action.
1775
+ #
1776
+ # @option params [required, String] :scheduled_action_name
1777
+ # The name of the scheduled action.
1778
+ #
1779
+ # @return [Types::GetScheduledActionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1780
+ #
1781
+ # * {Types::GetScheduledActionResponse#scheduled_action #scheduled_action} => Types::ScheduledActionResponse
1782
+ #
1783
+ # @example Request syntax with placeholder values
1784
+ #
1785
+ # resp = client.get_scheduled_action({
1786
+ # scheduled_action_name: "ScheduledActionName", # required
1787
+ # })
1788
+ #
1789
+ # @example Response structure
1790
+ #
1791
+ # resp.scheduled_action.end_time #=> Time
1792
+ # resp.scheduled_action.namespace_name #=> String
1793
+ # resp.scheduled_action.next_invocations #=> Array
1794
+ # resp.scheduled_action.next_invocations[0] #=> Time
1795
+ # resp.scheduled_action.role_arn #=> String
1796
+ # resp.scheduled_action.schedule.at #=> Time
1797
+ # resp.scheduled_action.schedule.cron #=> String
1798
+ # resp.scheduled_action.scheduled_action_description #=> String
1799
+ # resp.scheduled_action.scheduled_action_name #=> String
1800
+ # resp.scheduled_action.scheduled_action_uuid #=> String
1801
+ # resp.scheduled_action.start_time #=> Time
1802
+ # resp.scheduled_action.state #=> String, one of "ACTIVE", "DISABLED"
1803
+ # resp.scheduled_action.target_action.create_snapshot.namespace_name #=> String
1804
+ # resp.scheduled_action.target_action.create_snapshot.retention_period #=> Integer
1805
+ # resp.scheduled_action.target_action.create_snapshot.snapshot_name_prefix #=> String
1806
+ # resp.scheduled_action.target_action.create_snapshot.tags #=> Array
1807
+ # resp.scheduled_action.target_action.create_snapshot.tags[0].key #=> String
1808
+ # resp.scheduled_action.target_action.create_snapshot.tags[0].value #=> String
1809
+ #
1810
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/GetScheduledAction AWS API Documentation
1811
+ #
1812
+ # @overload get_scheduled_action(params = {})
1813
+ # @param [Hash] params ({})
1814
+ def get_scheduled_action(params = {}, options = {})
1815
+ req = build_request(:get_scheduled_action, params)
1816
+ req.send_request(options)
1817
+ end
1818
+
1506
1819
  # Returns information about a specific snapshot.
1507
1820
  #
1508
1821
  # @option params [String] :owner_account
@@ -1584,6 +1897,7 @@ module Aws::RedshiftServerless
1584
1897
  # resp.table_restore_status.namespace_name #=> String
1585
1898
  # resp.table_restore_status.new_table_name #=> String
1586
1899
  # resp.table_restore_status.progress_in_mega_bytes #=> Integer
1900
+ # resp.table_restore_status.recovery_point_id #=> String
1587
1901
  # resp.table_restore_status.request_time #=> Time
1588
1902
  # resp.table_restore_status.snapshot_name #=> String
1589
1903
  # resp.table_restore_status.source_database_name #=> String
@@ -1661,6 +1975,8 @@ module Aws::RedshiftServerless
1661
1975
  # resp.workgroup.config_parameters[0].parameter_key #=> String
1662
1976
  # resp.workgroup.config_parameters[0].parameter_value #=> String
1663
1977
  # resp.workgroup.creation_date #=> Time
1978
+ # resp.workgroup.cross_account_vpcs #=> Array
1979
+ # resp.workgroup.cross_account_vpcs[0] #=> String
1664
1980
  # resp.workgroup.custom_domain_certificate_arn #=> String
1665
1981
  # resp.workgroup.custom_domain_certificate_expiry_time #=> Time
1666
1982
  # resp.workgroup.custom_domain_name #=> String
@@ -1762,6 +2078,10 @@ module Aws::RedshiftServerless
1762
2078
  # `ListEndpointAccess` operations, which returns results in the next
1763
2079
  # page.
1764
2080
  #
2081
+ # @option params [String] :owner_account
2082
+ # The owner Amazon Web Services account for the Amazon Redshift
2083
+ # Serverless workgroup.
2084
+ #
1765
2085
  # @option params [String] :vpc_id
1766
2086
  # The unique identifier of the virtual private cloud with access to
1767
2087
  # Amazon Redshift Serverless.
@@ -1781,6 +2101,7 @@ module Aws::RedshiftServerless
1781
2101
  # resp = client.list_endpoint_access({
1782
2102
  # max_results: 1,
1783
2103
  # next_token: "String",
2104
+ # owner_account: "OwnerAccount",
1784
2105
  # vpc_id: "String",
1785
2106
  # workgroup_name: "String",
1786
2107
  # })
@@ -1935,6 +2256,101 @@ module Aws::RedshiftServerless
1935
2256
  req.send_request(options)
1936
2257
  end
1937
2258
 
2259
+ # Returns a list of scheduled actions. You can use the flags to filter
2260
+ # the list of returned scheduled actions.
2261
+ #
2262
+ # @option params [Integer] :max_results
2263
+ # An optional parameter that specifies the maximum number of results to
2264
+ # return. Use `nextToken` to display the next page of results.
2265
+ #
2266
+ # @option params [String] :namespace_name
2267
+ # The name of namespace associated with the scheduled action to
2268
+ # retrieve.
2269
+ #
2270
+ # @option params [String] :next_token
2271
+ # If `nextToken` is returned, there are more results available. The
2272
+ # value of `nextToken` is a unique pagination token for each page. Make
2273
+ # the call again using the returned token to retrieve the next page.
2274
+ #
2275
+ # @return [Types::ListScheduledActionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2276
+ #
2277
+ # * {Types::ListScheduledActionsResponse#next_token #next_token} => String
2278
+ # * {Types::ListScheduledActionsResponse#scheduled_actions #scheduled_actions} => Array&lt;String&gt;
2279
+ #
2280
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2281
+ #
2282
+ # @example Request syntax with placeholder values
2283
+ #
2284
+ # resp = client.list_scheduled_actions({
2285
+ # max_results: 1,
2286
+ # namespace_name: "NamespaceName",
2287
+ # next_token: "PaginationToken",
2288
+ # })
2289
+ #
2290
+ # @example Response structure
2291
+ #
2292
+ # resp.next_token #=> String
2293
+ # resp.scheduled_actions #=> Array
2294
+ # resp.scheduled_actions[0] #=> String
2295
+ #
2296
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/ListScheduledActions AWS API Documentation
2297
+ #
2298
+ # @overload list_scheduled_actions(params = {})
2299
+ # @param [Hash] params ({})
2300
+ def list_scheduled_actions(params = {}, options = {})
2301
+ req = build_request(:list_scheduled_actions, params)
2302
+ req.send_request(options)
2303
+ end
2304
+
2305
+ # Returns a list of snapshot copy configurations.
2306
+ #
2307
+ # @option params [Integer] :max_results
2308
+ # An optional parameter that specifies the maximum number of results to
2309
+ # return. You can use `nextToken` to display the next page of results.
2310
+ #
2311
+ # @option params [String] :namespace_name
2312
+ # The namespace from which to list all snapshot copy configurations.
2313
+ #
2314
+ # @option params [String] :next_token
2315
+ # If `nextToken` is returned, there are more results available. The
2316
+ # value of `nextToken` is a unique pagination token for each page. Make
2317
+ # the call again using the returned token to retrieve the next page.
2318
+ #
2319
+ # @return [Types::ListSnapshotCopyConfigurationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2320
+ #
2321
+ # * {Types::ListSnapshotCopyConfigurationsResponse#next_token #next_token} => String
2322
+ # * {Types::ListSnapshotCopyConfigurationsResponse#snapshot_copy_configurations #snapshot_copy_configurations} => Array&lt;Types::SnapshotCopyConfiguration&gt;
2323
+ #
2324
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2325
+ #
2326
+ # @example Request syntax with placeholder values
2327
+ #
2328
+ # resp = client.list_snapshot_copy_configurations({
2329
+ # max_results: 1,
2330
+ # namespace_name: "NamespaceName",
2331
+ # next_token: "PaginationToken",
2332
+ # })
2333
+ #
2334
+ # @example Response structure
2335
+ #
2336
+ # resp.next_token #=> String
2337
+ # resp.snapshot_copy_configurations #=> Array
2338
+ # resp.snapshot_copy_configurations[0].destination_kms_key_id #=> String
2339
+ # resp.snapshot_copy_configurations[0].destination_region #=> String
2340
+ # resp.snapshot_copy_configurations[0].namespace_name #=> String
2341
+ # resp.snapshot_copy_configurations[0].snapshot_copy_configuration_arn #=> String
2342
+ # resp.snapshot_copy_configurations[0].snapshot_copy_configuration_id #=> String
2343
+ # resp.snapshot_copy_configurations[0].snapshot_retention_period #=> Integer
2344
+ #
2345
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/ListSnapshotCopyConfigurations AWS API Documentation
2346
+ #
2347
+ # @overload list_snapshot_copy_configurations(params = {})
2348
+ # @param [Hash] params ({})
2349
+ def list_snapshot_copy_configurations(params = {}, options = {})
2350
+ req = build_request(:list_snapshot_copy_configurations, params)
2351
+ req.send_request(options)
2352
+ end
2353
+
1938
2354
  # Returns a list of snapshots.
1939
2355
  #
1940
2356
  # @option params [Time,DateTime,Date,Integer,String] :end_time
@@ -2063,6 +2479,7 @@ module Aws::RedshiftServerless
2063
2479
  # resp.table_restore_statuses[0].namespace_name #=> String
2064
2480
  # resp.table_restore_statuses[0].new_table_name #=> String
2065
2481
  # resp.table_restore_statuses[0].progress_in_mega_bytes #=> Integer
2482
+ # resp.table_restore_statuses[0].recovery_point_id #=> String
2066
2483
  # resp.table_restore_statuses[0].request_time #=> Time
2067
2484
  # resp.table_restore_statuses[0].snapshot_name #=> String
2068
2485
  # resp.table_restore_statuses[0].source_database_name #=> String
@@ -2181,6 +2598,10 @@ module Aws::RedshiftServerless
2181
2598
  # can include the returned `nextToken` in following ListNamespaces
2182
2599
  # operations, which returns results in the next page.
2183
2600
  #
2601
+ # @option params [String] :owner_account
2602
+ # The owner Amazon Web Services account for the Amazon Redshift
2603
+ # Serverless workgroup.
2604
+ #
2184
2605
  # @return [Types::ListWorkgroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2185
2606
  #
2186
2607
  # * {Types::ListWorkgroupsResponse#next_token #next_token} => String
@@ -2193,6 +2614,7 @@ module Aws::RedshiftServerless
2193
2614
  # resp = client.list_workgroups({
2194
2615
  # max_results: 1,
2195
2616
  # next_token: "String",
2617
+ # owner_account: "OwnerAccount",
2196
2618
  # })
2197
2619
  #
2198
2620
  # @example Response structure
@@ -2204,6 +2626,8 @@ module Aws::RedshiftServerless
2204
2626
  # resp.workgroups[0].config_parameters[0].parameter_key #=> String
2205
2627
  # resp.workgroups[0].config_parameters[0].parameter_value #=> String
2206
2628
  # resp.workgroups[0].creation_date #=> Time
2629
+ # resp.workgroups[0].cross_account_vpcs #=> Array
2630
+ # resp.workgroups[0].cross_account_vpcs[0] #=> String
2207
2631
  # resp.workgroups[0].custom_domain_certificate_arn #=> String
2208
2632
  # resp.workgroups[0].custom_domain_certificate_expiry_time #=> Time
2209
2633
  # resp.workgroups[0].custom_domain_name #=> String
@@ -2416,6 +2840,90 @@ module Aws::RedshiftServerless
2416
2840
  req.send_request(options)
2417
2841
  end
2418
2842
 
2843
+ # Restores a table from a recovery point to your Amazon Redshift
2844
+ # Serverless instance. You can't use this operation to restore tables
2845
+ # with interleaved sort keys.
2846
+ #
2847
+ # @option params [Boolean] :activate_case_sensitive_identifier
2848
+ # Indicates whether name identifiers for database, schema, and table are
2849
+ # case sensitive. If true, the names are case sensitive. If false, the
2850
+ # names are not case sensitive. The default is false.
2851
+ #
2852
+ # @option params [required, String] :namespace_name
2853
+ # Namespace of the recovery point to restore from.
2854
+ #
2855
+ # @option params [required, String] :new_table_name
2856
+ # The name of the table to create from the restore operation.
2857
+ #
2858
+ # @option params [required, String] :recovery_point_id
2859
+ # The ID of the recovery point to restore the table from.
2860
+ #
2861
+ # @option params [required, String] :source_database_name
2862
+ # The name of the source database that contains the table being
2863
+ # restored.
2864
+ #
2865
+ # @option params [String] :source_schema_name
2866
+ # The name of the source schema that contains the table being restored.
2867
+ #
2868
+ # @option params [required, String] :source_table_name
2869
+ # The name of the source table being restored.
2870
+ #
2871
+ # @option params [String] :target_database_name
2872
+ # The name of the database to restore the table to.
2873
+ #
2874
+ # @option params [String] :target_schema_name
2875
+ # The name of the schema to restore the table to.
2876
+ #
2877
+ # @option params [required, String] :workgroup_name
2878
+ # The workgroup to restore the table to.
2879
+ #
2880
+ # @return [Types::RestoreTableFromRecoveryPointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2881
+ #
2882
+ # * {Types::RestoreTableFromRecoveryPointResponse#table_restore_status #table_restore_status} => Types::TableRestoreStatus
2883
+ #
2884
+ # @example Request syntax with placeholder values
2885
+ #
2886
+ # resp = client.restore_table_from_recovery_point({
2887
+ # activate_case_sensitive_identifier: false,
2888
+ # namespace_name: "String", # required
2889
+ # new_table_name: "String", # required
2890
+ # recovery_point_id: "String", # required
2891
+ # source_database_name: "String", # required
2892
+ # source_schema_name: "String",
2893
+ # source_table_name: "String", # required
2894
+ # target_database_name: "String",
2895
+ # target_schema_name: "String",
2896
+ # workgroup_name: "String", # required
2897
+ # })
2898
+ #
2899
+ # @example Response structure
2900
+ #
2901
+ # resp.table_restore_status.message #=> String
2902
+ # resp.table_restore_status.namespace_name #=> String
2903
+ # resp.table_restore_status.new_table_name #=> String
2904
+ # resp.table_restore_status.progress_in_mega_bytes #=> Integer
2905
+ # resp.table_restore_status.recovery_point_id #=> String
2906
+ # resp.table_restore_status.request_time #=> Time
2907
+ # resp.table_restore_status.snapshot_name #=> String
2908
+ # resp.table_restore_status.source_database_name #=> String
2909
+ # resp.table_restore_status.source_schema_name #=> String
2910
+ # resp.table_restore_status.source_table_name #=> String
2911
+ # resp.table_restore_status.status #=> String
2912
+ # resp.table_restore_status.table_restore_request_id #=> String
2913
+ # resp.table_restore_status.target_database_name #=> String
2914
+ # resp.table_restore_status.target_schema_name #=> String
2915
+ # resp.table_restore_status.total_data_in_mega_bytes #=> Integer
2916
+ # resp.table_restore_status.workgroup_name #=> String
2917
+ #
2918
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/RestoreTableFromRecoveryPoint AWS API Documentation
2919
+ #
2920
+ # @overload restore_table_from_recovery_point(params = {})
2921
+ # @param [Hash] params ({})
2922
+ def restore_table_from_recovery_point(params = {}, options = {})
2923
+ req = build_request(:restore_table_from_recovery_point, params)
2924
+ req.send_request(options)
2925
+ end
2926
+
2419
2927
  # Restores a table from a snapshot to your Amazon Redshift Serverless
2420
2928
  # instance. You can't use this operation to restore tables with
2421
2929
  # [interleaved sort keys][1].
@@ -2482,6 +2990,7 @@ module Aws::RedshiftServerless
2482
2990
  # resp.table_restore_status.namespace_name #=> String
2483
2991
  # resp.table_restore_status.new_table_name #=> String
2484
2992
  # resp.table_restore_status.progress_in_mega_bytes #=> Integer
2993
+ # resp.table_restore_status.recovery_point_id #=> String
2485
2994
  # resp.table_restore_status.request_time #=> Time
2486
2995
  # resp.table_restore_status.snapshot_name #=> String
2487
2996
  # resp.table_restore_status.source_database_name #=> String
@@ -2751,6 +3260,124 @@ module Aws::RedshiftServerless
2751
3260
  req.send_request(options)
2752
3261
  end
2753
3262
 
3263
+ # Updates a scheduled action.
3264
+ #
3265
+ # @option params [Boolean] :enabled
3266
+ # Specifies whether to enable the scheduled action.
3267
+ #
3268
+ # @option params [Time,DateTime,Date,Integer,String] :end_time
3269
+ # The end time in UTC of the scheduled action to update.
3270
+ #
3271
+ # @option params [String] :role_arn
3272
+ # The ARN of the IAM role to assume to run the scheduled action. This
3273
+ # IAM role must have permission to run the Amazon Redshift Serverless
3274
+ # API operation in the scheduled action. This IAM role must allow the
3275
+ # Amazon Redshift scheduler to schedule creating snapshots (Principal
3276
+ # scheduler.redshift.amazonaws.com) to assume permissions on your
3277
+ # behalf. For more information about the IAM role to use with the Amazon
3278
+ # Redshift scheduler, see [Using Identity-Based Policies for Amazon
3279
+ # Redshift][1] in the Amazon Redshift Cluster Management Guide
3280
+ #
3281
+ #
3282
+ #
3283
+ # [1]: https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html
3284
+ #
3285
+ # @option params [Types::Schedule] :schedule
3286
+ # The schedule for a one-time (at format) or recurring (cron format)
3287
+ # scheduled action. Schedule invocations must be separated by at least
3288
+ # one hour.
3289
+ #
3290
+ # Format of at expressions is "`at(yyyy-mm-ddThh:mm:ss)`". For
3291
+ # example, "`at(2016-03-04T17:27:00)`".
3292
+ #
3293
+ # Format of cron expressions is "`cron(Minutes Hours Day-of-month Month
3294
+ # Day-of-week Year)`". For example, "`cron(0 10 ? * MON *)`". For
3295
+ # more information, see [Cron Expressions][1] in the *Amazon CloudWatch
3296
+ # Events User Guide*.
3297
+ #
3298
+ #
3299
+ #
3300
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions
3301
+ #
3302
+ # @option params [String] :scheduled_action_description
3303
+ # The descripion of the scheduled action to update to.
3304
+ #
3305
+ # @option params [required, String] :scheduled_action_name
3306
+ # The name of the scheduled action to update to.
3307
+ #
3308
+ # @option params [Time,DateTime,Date,Integer,String] :start_time
3309
+ # The start time in UTC of the scheduled action to update to.
3310
+ #
3311
+ # @option params [Types::TargetAction] :target_action
3312
+ # A JSON format string of the Amazon Redshift Serverless API operation
3313
+ # with input parameters. The following is an example of a target action.
3314
+ #
3315
+ # `"\{"CreateSnapshot": \{"NamespaceName":
3316
+ # "sampleNamespace","SnapshotName": "sampleSnapshot", "retentionPeriod":
3317
+ # "1"\}\}"`
3318
+ #
3319
+ # @return [Types::UpdateScheduledActionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3320
+ #
3321
+ # * {Types::UpdateScheduledActionResponse#scheduled_action #scheduled_action} => Types::ScheduledActionResponse
3322
+ #
3323
+ # @example Request syntax with placeholder values
3324
+ #
3325
+ # resp = client.update_scheduled_action({
3326
+ # enabled: false,
3327
+ # end_time: Time.now,
3328
+ # role_arn: "IamRoleArn",
3329
+ # schedule: {
3330
+ # at: Time.now,
3331
+ # cron: "String",
3332
+ # },
3333
+ # scheduled_action_description: "String",
3334
+ # scheduled_action_name: "ScheduledActionName", # required
3335
+ # start_time: Time.now,
3336
+ # target_action: {
3337
+ # create_snapshot: {
3338
+ # namespace_name: "NamespaceName", # required
3339
+ # retention_period: 1,
3340
+ # snapshot_name_prefix: "SnapshotNamePrefix", # required
3341
+ # tags: [
3342
+ # {
3343
+ # key: "TagKey", # required
3344
+ # value: "TagValue", # required
3345
+ # },
3346
+ # ],
3347
+ # },
3348
+ # },
3349
+ # })
3350
+ #
3351
+ # @example Response structure
3352
+ #
3353
+ # resp.scheduled_action.end_time #=> Time
3354
+ # resp.scheduled_action.namespace_name #=> String
3355
+ # resp.scheduled_action.next_invocations #=> Array
3356
+ # resp.scheduled_action.next_invocations[0] #=> Time
3357
+ # resp.scheduled_action.role_arn #=> String
3358
+ # resp.scheduled_action.schedule.at #=> Time
3359
+ # resp.scheduled_action.schedule.cron #=> String
3360
+ # resp.scheduled_action.scheduled_action_description #=> String
3361
+ # resp.scheduled_action.scheduled_action_name #=> String
3362
+ # resp.scheduled_action.scheduled_action_uuid #=> String
3363
+ # resp.scheduled_action.start_time #=> Time
3364
+ # resp.scheduled_action.state #=> String, one of "ACTIVE", "DISABLED"
3365
+ # resp.scheduled_action.target_action.create_snapshot.namespace_name #=> String
3366
+ # resp.scheduled_action.target_action.create_snapshot.retention_period #=> Integer
3367
+ # resp.scheduled_action.target_action.create_snapshot.snapshot_name_prefix #=> String
3368
+ # resp.scheduled_action.target_action.create_snapshot.tags #=> Array
3369
+ # resp.scheduled_action.target_action.create_snapshot.tags[0].key #=> String
3370
+ # resp.scheduled_action.target_action.create_snapshot.tags[0].value #=> String
3371
+ #
3372
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/UpdateScheduledAction AWS API Documentation
3373
+ #
3374
+ # @overload update_scheduled_action(params = {})
3375
+ # @param [Hash] params ({})
3376
+ def update_scheduled_action(params = {}, options = {})
3377
+ req = build_request(:update_scheduled_action, params)
3378
+ req.send_request(options)
3379
+ end
3380
+
2754
3381
  # Updates a snapshot.
2755
3382
  #
2756
3383
  # @option params [Integer] :retention_period
@@ -2806,6 +3433,44 @@ module Aws::RedshiftServerless
2806
3433
  req.send_request(options)
2807
3434
  end
2808
3435
 
3436
+ # Updates a snapshot copy configuration.
3437
+ #
3438
+ # @option params [required, String] :snapshot_copy_configuration_id
3439
+ # The ID of the snapshot copy configuration to update.
3440
+ #
3441
+ # @option params [Integer] :snapshot_retention_period
3442
+ # The new retention period of how long to keep a snapshot in the
3443
+ # destination Amazon Web Services Region.
3444
+ #
3445
+ # @return [Types::UpdateSnapshotCopyConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3446
+ #
3447
+ # * {Types::UpdateSnapshotCopyConfigurationResponse#snapshot_copy_configuration #snapshot_copy_configuration} => Types::SnapshotCopyConfiguration
3448
+ #
3449
+ # @example Request syntax with placeholder values
3450
+ #
3451
+ # resp = client.update_snapshot_copy_configuration({
3452
+ # snapshot_copy_configuration_id: "String", # required
3453
+ # snapshot_retention_period: 1,
3454
+ # })
3455
+ #
3456
+ # @example Response structure
3457
+ #
3458
+ # resp.snapshot_copy_configuration.destination_kms_key_id #=> String
3459
+ # resp.snapshot_copy_configuration.destination_region #=> String
3460
+ # resp.snapshot_copy_configuration.namespace_name #=> String
3461
+ # resp.snapshot_copy_configuration.snapshot_copy_configuration_arn #=> String
3462
+ # resp.snapshot_copy_configuration.snapshot_copy_configuration_id #=> String
3463
+ # resp.snapshot_copy_configuration.snapshot_retention_period #=> Integer
3464
+ #
3465
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/UpdateSnapshotCopyConfiguration AWS API Documentation
3466
+ #
3467
+ # @overload update_snapshot_copy_configuration(params = {})
3468
+ # @param [Hash] params ({})
3469
+ def update_snapshot_copy_configuration(params = {}, options = {})
3470
+ req = build_request(:update_snapshot_copy_configuration, params)
3471
+ req.send_request(options)
3472
+ end
3473
+
2809
3474
  # Update a usage limit in Amazon Redshift Serverless. You can't update
2810
3475
  # the usage type or period of a usage limit.
2811
3476
  #
@@ -2865,7 +3530,7 @@ module Aws::RedshiftServerless
2865
3530
  # @option params [Array<Types::ConfigParameter>] :config_parameters
2866
3531
  # An array of parameters to set for advanced control over a database.
2867
3532
  # The options are `auto_mv`, `datestyle`,
2868
- # `enable_case_sensitivity_identifier`, `enable_user_activity_logging`,
3533
+ # `enable_case_sensitive_identifier`, `enable_user_activity_logging`,
2869
3534
  # `query_group`, `search_path`, and query monitoring metrics that let
2870
3535
  # you define performance boundaries. For more information about query
2871
3536
  # monitoring rules and available metrics, see [ Query monitoring metrics
@@ -2932,6 +3597,8 @@ module Aws::RedshiftServerless
2932
3597
  # resp.workgroup.config_parameters[0].parameter_key #=> String
2933
3598
  # resp.workgroup.config_parameters[0].parameter_value #=> String
2934
3599
  # resp.workgroup.creation_date #=> Time
3600
+ # resp.workgroup.cross_account_vpcs #=> Array
3601
+ # resp.workgroup.cross_account_vpcs[0] #=> String
2935
3602
  # resp.workgroup.custom_domain_certificate_arn #=> String
2936
3603
  # resp.workgroup.custom_domain_certificate_expiry_time #=> Time
2937
3604
  # resp.workgroup.custom_domain_name #=> String
@@ -2983,7 +3650,7 @@ module Aws::RedshiftServerless
2983
3650
  params: params,
2984
3651
  config: config)
2985
3652
  context[:gem_name] = 'aws-sdk-redshiftserverless'
2986
- context[:gem_version] = '1.21.0'
3653
+ context[:gem_version] = '1.22.0'
2987
3654
  Seahorse::Client::Request.new(handlers, context)
2988
3655
  end
2989
3656