aws-sdk-redshiftserverless 1.21.0 → 1.22.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.
@@ -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