aws-sdk-redshiftserverless 1.47.0 → 1.48.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: daae0723d521a98414667a1c223ba3a899dc98364a7bd91cabc8be849e367b84
4
- data.tar.gz: 36743ac509d0f8d9af349f97b99e992864c02ddf4b667c45595621cf7c030fe4
3
+ metadata.gz: 8daa355c7713cc161e9ddaaad4ecde499c6d3bd955fc30e6a42a3337c8522f44
4
+ data.tar.gz: af0873e6d6d09e00b4f9bc61db3f5d7586fb7de796c456e9f8361242c1b74b0e
5
5
  SHA512:
6
- metadata.gz: 4b09b9d6e2138fef0604a56d2275d42003a4287a934a53e82f9ede9a8bc474248058fad2d9e893e6b69decf53a61b670e7abcad84ca917eee095c1b941e8346a
7
- data.tar.gz: 2399d019b6a3244a9d91b804026518828553db9c4646470b1f750583420b44662a0c420aecddb6f91fcf0a8ebe6698bf3d6dcabfce7332f1e128c94a2ba52752
6
+ metadata.gz: d94777658e19002665a0054748bbbcd15e62af92e5959565a85c3bbad1b0451958d3ca8762e21f96499fba667d58c8eae594695b4ddc223fbe45175cad1c99f9
7
+ data.tar.gz: '08ad08e4c436aa58653bffc3d4abd005368199158a13a86ab2f0567f8bb7349848e61fc905789ae1b41e4f0b432d4b106ca7e776789ca2439cb16ea907986f2b'
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.48.0 (2025-04-22)
5
+ ------------------
6
+
7
+ * Feature - Provides new and updated API members to support the Redshift Serverless reservations feature.
8
+
4
9
  1.47.0 (2025-02-27)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.47.0
1
+ 1.48.0
@@ -483,7 +483,7 @@ module Aws::RedshiftServerless
483
483
  #
484
484
  #
485
485
  #
486
- # [1]: https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-snapshots-recovery.html
486
+ # [1]: https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-snapshots-recovery-points.html
487
487
  #
488
488
  # @option params [required, String] :recovery_point_id
489
489
  # The unique identifier of the recovery point.
@@ -772,6 +772,67 @@ module Aws::RedshiftServerless
772
772
  req.send_request(options)
773
773
  end
774
774
 
775
+ # Creates an Amazon Redshift Serverless reservation, which gives you the
776
+ # option to commit to a specified number of Redshift Processing Units
777
+ # (RPUs) for a year at a discount from Serverless on-demand (OD) rates.
778
+ #
779
+ # @option params [required, Integer] :capacity
780
+ # The number of Redshift Processing Units (RPUs) to reserve.
781
+ #
782
+ # @option params [String] :client_token
783
+ # A unique, case-sensitive identifier that you provide to ensure the
784
+ # idempotency of the request. If not provided, the Amazon Web Services
785
+ # SDK populates this field. This token must be a valid UUIDv4 value. For
786
+ # more information about idempotency, see [ Making retries safe with
787
+ # idempotent APIs ][1].
788
+ #
789
+ # **A suitable default value is auto-generated.** You should normally
790
+ # not need to pass this option.**
791
+ #
792
+ #
793
+ #
794
+ # [1]: https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/
795
+ #
796
+ # @option params [required, String] :offering_id
797
+ # The ID of the offering associated with the reservation. The offering
798
+ # determines the payment schedule for the reservation.
799
+ #
800
+ # @return [Types::CreateReservationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
801
+ #
802
+ # * {Types::CreateReservationResponse#reservation #reservation} => Types::Reservation
803
+ #
804
+ # @example Request syntax with placeholder values
805
+ #
806
+ # resp = client.create_reservation({
807
+ # capacity: 1, # required
808
+ # client_token: "String",
809
+ # offering_id: "CreateReservationRequestOfferingIdString", # required
810
+ # })
811
+ #
812
+ # @example Response structure
813
+ #
814
+ # resp.reservation.capacity #=> Integer
815
+ # resp.reservation.end_date #=> Time
816
+ # resp.reservation.offering.currency_code #=> String
817
+ # resp.reservation.offering.duration #=> Integer
818
+ # resp.reservation.offering.hourly_charge #=> Float
819
+ # resp.reservation.offering.offering_id #=> String
820
+ # resp.reservation.offering.offering_type #=> String, one of "ALL_UPFRONT", "NO_UPFRONT"
821
+ # resp.reservation.offering.upfront_charge #=> Float
822
+ # resp.reservation.reservation_arn #=> String
823
+ # resp.reservation.reservation_id #=> String
824
+ # resp.reservation.start_date #=> Time
825
+ # resp.reservation.status #=> String
826
+ #
827
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/CreateReservation AWS API Documentation
828
+ #
829
+ # @overload create_reservation(params = {})
830
+ # @param [Hash] params ({})
831
+ def create_reservation(params = {}, options = {})
832
+ req = build_request(:create_reservation, params)
833
+ req.send_request(options)
834
+ end
835
+
775
836
  # Creates a scheduled action. A scheduled action contains a schedule and
776
837
  # an Amazon Redshift API action. For example, you can create a schedule
777
838
  # of when to run the `CreateSnapshot` API operation.
@@ -910,7 +971,7 @@ module Aws::RedshiftServerless
910
971
  #
911
972
  #
912
973
  #
913
- # [1]: https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-snapshots-recovery.html
974
+ # [1]: https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-snapshots-recovery-points.html
914
975
  #
915
976
  # @option params [required, String] :namespace_name
916
977
  # The namespace to create a snapshot for.
@@ -1880,6 +1941,82 @@ module Aws::RedshiftServerless
1880
1941
  req.send_request(options)
1881
1942
  end
1882
1943
 
1944
+ # Gets an Amazon Redshift Serverless reservation. A reservation gives
1945
+ # you the option to commit to a specified number of Redshift Processing
1946
+ # Units (RPUs) for a year at a discount from Serverless on-demand (OD)
1947
+ # rates.
1948
+ #
1949
+ # @option params [required, String] :reservation_id
1950
+ # The ID of the reservation to retrieve.
1951
+ #
1952
+ # @return [Types::GetReservationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1953
+ #
1954
+ # * {Types::GetReservationResponse#reservation #reservation} => Types::Reservation
1955
+ #
1956
+ # @example Request syntax with placeholder values
1957
+ #
1958
+ # resp = client.get_reservation({
1959
+ # reservation_id: "GetReservationRequestReservationIdString", # required
1960
+ # })
1961
+ #
1962
+ # @example Response structure
1963
+ #
1964
+ # resp.reservation.capacity #=> Integer
1965
+ # resp.reservation.end_date #=> Time
1966
+ # resp.reservation.offering.currency_code #=> String
1967
+ # resp.reservation.offering.duration #=> Integer
1968
+ # resp.reservation.offering.hourly_charge #=> Float
1969
+ # resp.reservation.offering.offering_id #=> String
1970
+ # resp.reservation.offering.offering_type #=> String, one of "ALL_UPFRONT", "NO_UPFRONT"
1971
+ # resp.reservation.offering.upfront_charge #=> Float
1972
+ # resp.reservation.reservation_arn #=> String
1973
+ # resp.reservation.reservation_id #=> String
1974
+ # resp.reservation.start_date #=> Time
1975
+ # resp.reservation.status #=> String
1976
+ #
1977
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/GetReservation AWS API Documentation
1978
+ #
1979
+ # @overload get_reservation(params = {})
1980
+ # @param [Hash] params ({})
1981
+ def get_reservation(params = {}, options = {})
1982
+ req = build_request(:get_reservation, params)
1983
+ req.send_request(options)
1984
+ end
1985
+
1986
+ # Returns the reservation offering. The offering determines the payment
1987
+ # schedule for the reservation.
1988
+ #
1989
+ # @option params [required, String] :offering_id
1990
+ # The identifier for the offering..
1991
+ #
1992
+ # @return [Types::GetReservationOfferingResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1993
+ #
1994
+ # * {Types::GetReservationOfferingResponse#reservation_offering #reservation_offering} => Types::ReservationOffering
1995
+ #
1996
+ # @example Request syntax with placeholder values
1997
+ #
1998
+ # resp = client.get_reservation_offering({
1999
+ # offering_id: "GetReservationOfferingRequestOfferingIdString", # required
2000
+ # })
2001
+ #
2002
+ # @example Response structure
2003
+ #
2004
+ # resp.reservation_offering.currency_code #=> String
2005
+ # resp.reservation_offering.duration #=> Integer
2006
+ # resp.reservation_offering.hourly_charge #=> Float
2007
+ # resp.reservation_offering.offering_id #=> String
2008
+ # resp.reservation_offering.offering_type #=> String, one of "ALL_UPFRONT", "NO_UPFRONT"
2009
+ # resp.reservation_offering.upfront_charge #=> Float
2010
+ #
2011
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/GetReservationOffering AWS API Documentation
2012
+ #
2013
+ # @overload get_reservation_offering(params = {})
2014
+ # @param [Hash] params ({})
2015
+ def get_reservation_offering(params = {}, options = {})
2016
+ req = build_request(:get_reservation_offering, params)
2017
+ req.send_request(options)
2018
+ end
2019
+
1883
2020
  # Returns a resource policy.
1884
2021
  #
1885
2022
  # @option params [required, String] :resource_arn
@@ -2484,6 +2621,102 @@ module Aws::RedshiftServerless
2484
2621
  req.send_request(options)
2485
2622
  end
2486
2623
 
2624
+ # Returns the current reservation offerings in your account.
2625
+ #
2626
+ # @option params [Integer] :max_results
2627
+ # The maximum number of items to return for this call. The call also
2628
+ # returns a token that you can specify in a subsequent call to get the
2629
+ # next set of results.
2630
+ #
2631
+ # @option params [String] :next_token
2632
+ # The token for the next set of items to return. (You received this
2633
+ # token from a previous call.)
2634
+ #
2635
+ # @return [Types::ListReservationOfferingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2636
+ #
2637
+ # * {Types::ListReservationOfferingsResponse#next_token #next_token} => String
2638
+ # * {Types::ListReservationOfferingsResponse#reservation_offerings_list #reservation_offerings_list} => Array<Types::ReservationOffering>
2639
+ #
2640
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2641
+ #
2642
+ # @example Request syntax with placeholder values
2643
+ #
2644
+ # resp = client.list_reservation_offerings({
2645
+ # max_results: 1,
2646
+ # next_token: "PaginationToken",
2647
+ # })
2648
+ #
2649
+ # @example Response structure
2650
+ #
2651
+ # resp.next_token #=> String
2652
+ # resp.reservation_offerings_list #=> Array
2653
+ # resp.reservation_offerings_list[0].currency_code #=> String
2654
+ # resp.reservation_offerings_list[0].duration #=> Integer
2655
+ # resp.reservation_offerings_list[0].hourly_charge #=> Float
2656
+ # resp.reservation_offerings_list[0].offering_id #=> String
2657
+ # resp.reservation_offerings_list[0].offering_type #=> String, one of "ALL_UPFRONT", "NO_UPFRONT"
2658
+ # resp.reservation_offerings_list[0].upfront_charge #=> Float
2659
+ #
2660
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/ListReservationOfferings AWS API Documentation
2661
+ #
2662
+ # @overload list_reservation_offerings(params = {})
2663
+ # @param [Hash] params ({})
2664
+ def list_reservation_offerings(params = {}, options = {})
2665
+ req = build_request(:list_reservation_offerings, params)
2666
+ req.send_request(options)
2667
+ end
2668
+
2669
+ # Returns a list of Reservation objects.
2670
+ #
2671
+ # @option params [Integer] :max_results
2672
+ # The maximum number of items to return for this call. The call also
2673
+ # returns a token that you can specify in a subsequent call to get the
2674
+ # next set of results.
2675
+ #
2676
+ # @option params [String] :next_token
2677
+ # The token for the next set of items to return. (You received this
2678
+ # token from a previous call.)
2679
+ #
2680
+ # @return [Types::ListReservationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2681
+ #
2682
+ # * {Types::ListReservationsResponse#next_token #next_token} => String
2683
+ # * {Types::ListReservationsResponse#reservations_list #reservations_list} => Array<Types::Reservation>
2684
+ #
2685
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2686
+ #
2687
+ # @example Request syntax with placeholder values
2688
+ #
2689
+ # resp = client.list_reservations({
2690
+ # max_results: 1,
2691
+ # next_token: "PaginationToken",
2692
+ # })
2693
+ #
2694
+ # @example Response structure
2695
+ #
2696
+ # resp.next_token #=> String
2697
+ # resp.reservations_list #=> Array
2698
+ # resp.reservations_list[0].capacity #=> Integer
2699
+ # resp.reservations_list[0].end_date #=> Time
2700
+ # resp.reservations_list[0].offering.currency_code #=> String
2701
+ # resp.reservations_list[0].offering.duration #=> Integer
2702
+ # resp.reservations_list[0].offering.hourly_charge #=> Float
2703
+ # resp.reservations_list[0].offering.offering_id #=> String
2704
+ # resp.reservations_list[0].offering.offering_type #=> String, one of "ALL_UPFRONT", "NO_UPFRONT"
2705
+ # resp.reservations_list[0].offering.upfront_charge #=> Float
2706
+ # resp.reservations_list[0].reservation_arn #=> String
2707
+ # resp.reservations_list[0].reservation_id #=> String
2708
+ # resp.reservations_list[0].start_date #=> Time
2709
+ # resp.reservations_list[0].status #=> String
2710
+ #
2711
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/ListReservations AWS API Documentation
2712
+ #
2713
+ # @overload list_reservations(params = {})
2714
+ # @param [Hash] params ({})
2715
+ def list_reservations(params = {}, options = {})
2716
+ req = build_request(:list_reservations, params)
2717
+ req.send_request(options)
2718
+ end
2719
+
2487
2720
  # Returns a list of scheduled actions. You can use the flags to filter
2488
2721
  # the list of returned scheduled actions.
2489
2722
  #
@@ -3063,8 +3296,8 @@ module Aws::RedshiftServerless
3063
3296
  #
3064
3297
  # @option params [String] :snapshot_arn
3065
3298
  # The Amazon Resource Name (ARN) of the snapshot to restore from.
3066
- # Required if restoring from Amazon Redshift Serverless to a provisioned
3067
- # cluster. Must not be specified at the same time as `snapshotName`.
3299
+ # Required if restoring from a provisioned cluster to Amazon Redshift
3300
+ # Serverless. Must not be specified at the same time as `snapshotName`.
3068
3301
  #
3069
3302
  # The format of the ARN is
3070
3303
  # arn:aws:redshift:<region>:<account\_id>:snapshot:<cluster\_identifier>/<snapshot\_identifier>.
@@ -3984,7 +4217,7 @@ module Aws::RedshiftServerless
3984
4217
  tracer: tracer
3985
4218
  )
3986
4219
  context[:gem_name] = 'aws-sdk-redshiftserverless'
3987
- context[:gem_version] = '1.47.0'
4220
+ context[:gem_version] = '1.48.0'
3988
4221
  Seahorse::Client::Request.new(handlers, context)
3989
4222
  end
3990
4223
 
@@ -20,6 +20,8 @@ module Aws::RedshiftServerless
20
20
  Association = Shapes::StructureShape.new(name: 'Association')
21
21
  AssociationList = Shapes::ListShape.new(name: 'AssociationList')
22
22
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
23
+ Capacity = Shapes::IntegerShape.new(name: 'Capacity')
24
+ Charge = Shapes::FloatShape.new(name: 'Charge')
23
25
  ConfigParameter = Shapes::StructureShape.new(name: 'ConfigParameter')
24
26
  ConfigParameterList = Shapes::ListShape.new(name: 'ConfigParameterList')
25
27
  ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
@@ -31,6 +33,9 @@ module Aws::RedshiftServerless
31
33
  CreateEndpointAccessResponse = Shapes::StructureShape.new(name: 'CreateEndpointAccessResponse')
32
34
  CreateNamespaceRequest = Shapes::StructureShape.new(name: 'CreateNamespaceRequest')
33
35
  CreateNamespaceResponse = Shapes::StructureShape.new(name: 'CreateNamespaceResponse')
36
+ CreateReservationRequest = Shapes::StructureShape.new(name: 'CreateReservationRequest')
37
+ CreateReservationRequestOfferingIdString = Shapes::StringShape.new(name: 'CreateReservationRequestOfferingIdString')
38
+ CreateReservationResponse = Shapes::StructureShape.new(name: 'CreateReservationResponse')
34
39
  CreateScheduledActionRequest = Shapes::StructureShape.new(name: 'CreateScheduledActionRequest')
35
40
  CreateScheduledActionResponse = Shapes::StructureShape.new(name: 'CreateScheduledActionResponse')
36
41
  CreateSnapshotCopyConfigurationRequest = Shapes::StructureShape.new(name: 'CreateSnapshotCopyConfigurationRequest')
@@ -42,6 +47,7 @@ module Aws::RedshiftServerless
42
47
  CreateUsageLimitResponse = Shapes::StructureShape.new(name: 'CreateUsageLimitResponse')
43
48
  CreateWorkgroupRequest = Shapes::StructureShape.new(name: 'CreateWorkgroupRequest')
44
49
  CreateWorkgroupResponse = Shapes::StructureShape.new(name: 'CreateWorkgroupResponse')
50
+ CurrencyCode = Shapes::StringShape.new(name: 'CurrencyCode')
45
51
  CustomDomainCertificateArnString = Shapes::StringShape.new(name: 'CustomDomainCertificateArnString')
46
52
  CustomDomainName = Shapes::StringShape.new(name: 'CustomDomainName')
47
53
  DbName = Shapes::StringShape.new(name: 'DbName')
@@ -66,6 +72,7 @@ module Aws::RedshiftServerless
66
72
  DeleteWorkgroupRequest = Shapes::StructureShape.new(name: 'DeleteWorkgroupRequest')
67
73
  DeleteWorkgroupResponse = Shapes::StructureShape.new(name: 'DeleteWorkgroupResponse')
68
74
  Double = Shapes::FloatShape.new(name: 'Double')
75
+ Duration = Shapes::IntegerShape.new(name: 'Duration')
69
76
  Endpoint = Shapes::StructureShape.new(name: 'Endpoint')
70
77
  EndpointAccess = Shapes::StructureShape.new(name: 'EndpointAccess')
71
78
  EndpointAccessList = Shapes::ListShape.new(name: 'EndpointAccessList')
@@ -79,6 +86,12 @@ module Aws::RedshiftServerless
79
86
  GetNamespaceResponse = Shapes::StructureShape.new(name: 'GetNamespaceResponse')
80
87
  GetRecoveryPointRequest = Shapes::StructureShape.new(name: 'GetRecoveryPointRequest')
81
88
  GetRecoveryPointResponse = Shapes::StructureShape.new(name: 'GetRecoveryPointResponse')
89
+ GetReservationOfferingRequest = Shapes::StructureShape.new(name: 'GetReservationOfferingRequest')
90
+ GetReservationOfferingRequestOfferingIdString = Shapes::StringShape.new(name: 'GetReservationOfferingRequestOfferingIdString')
91
+ GetReservationOfferingResponse = Shapes::StructureShape.new(name: 'GetReservationOfferingResponse')
92
+ GetReservationRequest = Shapes::StructureShape.new(name: 'GetReservationRequest')
93
+ GetReservationRequestReservationIdString = Shapes::StringShape.new(name: 'GetReservationRequestReservationIdString')
94
+ GetReservationResponse = Shapes::StructureShape.new(name: 'GetReservationResponse')
82
95
  GetResourcePolicyRequest = Shapes::StructureShape.new(name: 'GetResourcePolicyRequest')
83
96
  GetResourcePolicyResponse = Shapes::StructureShape.new(name: 'GetResourcePolicyResponse')
84
97
  GetScheduledActionRequest = Shapes::StructureShape.new(name: 'GetScheduledActionRequest')
@@ -117,6 +130,12 @@ module Aws::RedshiftServerless
117
130
  ListRecoveryPointsRequest = Shapes::StructureShape.new(name: 'ListRecoveryPointsRequest')
118
131
  ListRecoveryPointsRequestMaxResultsInteger = Shapes::IntegerShape.new(name: 'ListRecoveryPointsRequestMaxResultsInteger')
119
132
  ListRecoveryPointsResponse = Shapes::StructureShape.new(name: 'ListRecoveryPointsResponse')
133
+ ListReservationOfferingsRequest = Shapes::StructureShape.new(name: 'ListReservationOfferingsRequest')
134
+ ListReservationOfferingsRequestMaxResultsInteger = Shapes::IntegerShape.new(name: 'ListReservationOfferingsRequestMaxResultsInteger')
135
+ ListReservationOfferingsResponse = Shapes::StructureShape.new(name: 'ListReservationOfferingsResponse')
136
+ ListReservationsRequest = Shapes::StructureShape.new(name: 'ListReservationsRequest')
137
+ ListReservationsRequestMaxResultsInteger = Shapes::IntegerShape.new(name: 'ListReservationsRequestMaxResultsInteger')
138
+ ListReservationsResponse = Shapes::StructureShape.new(name: 'ListReservationsResponse')
120
139
  ListScheduledActionsRequest = Shapes::StructureShape.new(name: 'ListScheduledActionsRequest')
121
140
  ListScheduledActionsRequestMaxResultsInteger = Shapes::IntegerShape.new(name: 'ListScheduledActionsRequestMaxResultsInteger')
122
141
  ListScheduledActionsResponse = Shapes::StructureShape.new(name: 'ListScheduledActionsResponse')
@@ -154,6 +173,8 @@ module Aws::RedshiftServerless
154
173
  NetworkInterface = Shapes::StructureShape.new(name: 'NetworkInterface')
155
174
  NetworkInterfaceList = Shapes::ListShape.new(name: 'NetworkInterfaceList')
156
175
  NextInvocationsList = Shapes::ListShape.new(name: 'NextInvocationsList')
176
+ OfferingId = Shapes::StringShape.new(name: 'OfferingId')
177
+ OfferingType = Shapes::StringShape.new(name: 'OfferingType')
157
178
  OwnerAccount = Shapes::StringShape.new(name: 'OwnerAccount')
158
179
  PaginationToken = Shapes::StringShape.new(name: 'PaginationToken')
159
180
  ParameterKey = Shapes::StringShape.new(name: 'ParameterKey')
@@ -166,6 +187,12 @@ module Aws::RedshiftServerless
166
187
  RecoveryPoint = Shapes::StructureShape.new(name: 'RecoveryPoint')
167
188
  RecoveryPointList = Shapes::ListShape.new(name: 'RecoveryPointList')
168
189
  RedshiftIdcApplicationArn = Shapes::StringShape.new(name: 'RedshiftIdcApplicationArn')
190
+ Reservation = Shapes::StructureShape.new(name: 'Reservation')
191
+ ReservationArn = Shapes::StringShape.new(name: 'ReservationArn')
192
+ ReservationId = Shapes::StringShape.new(name: 'ReservationId')
193
+ ReservationOffering = Shapes::StructureShape.new(name: 'ReservationOffering')
194
+ ReservationOfferingsList = Shapes::ListShape.new(name: 'ReservationOfferingsList')
195
+ ReservationsList = Shapes::ListShape.new(name: 'ReservationsList')
169
196
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
170
197
  ResourcePolicy = Shapes::StructureShape.new(name: 'ResourcePolicy')
171
198
  RestoreFromRecoveryPointRequest = Shapes::StructureShape.new(name: 'RestoreFromRecoveryPointRequest')
@@ -193,6 +220,7 @@ module Aws::RedshiftServerless
193
220
  SnapshotStatus = Shapes::StringShape.new(name: 'SnapshotStatus')
194
221
  SourceArn = Shapes::StringShape.new(name: 'SourceArn')
195
222
  State = Shapes::StringShape.new(name: 'State')
223
+ Status = Shapes::StringShape.new(name: 'Status')
196
224
  String = Shapes::StringShape.new(name: 'String')
197
225
  SubnetId = Shapes::StringShape.new(name: 'SubnetId')
198
226
  SubnetIdList = Shapes::ListShape.new(name: 'SubnetIdList')
@@ -320,6 +348,14 @@ module Aws::RedshiftServerless
320
348
  CreateNamespaceResponse.add_member(:namespace, Shapes::ShapeRef.new(shape: Namespace, location_name: "namespace"))
321
349
  CreateNamespaceResponse.struct_class = Types::CreateNamespaceResponse
322
350
 
351
+ CreateReservationRequest.add_member(:capacity, Shapes::ShapeRef.new(shape: Capacity, required: true, location_name: "capacity"))
352
+ CreateReservationRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
353
+ CreateReservationRequest.add_member(:offering_id, Shapes::ShapeRef.new(shape: CreateReservationRequestOfferingIdString, required: true, location_name: "offeringId"))
354
+ CreateReservationRequest.struct_class = Types::CreateReservationRequest
355
+
356
+ CreateReservationResponse.add_member(:reservation, Shapes::ShapeRef.new(shape: Reservation, location_name: "reservation"))
357
+ CreateReservationResponse.struct_class = Types::CreateReservationResponse
358
+
323
359
  CreateScheduledActionRequest.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "enabled"))
324
360
  CreateScheduledActionRequest.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "endTime"))
325
361
  CreateScheduledActionRequest.add_member(:namespace_name, Shapes::ShapeRef.new(shape: NamespaceName, required: true, location_name: "namespaceName"))
@@ -501,6 +537,18 @@ module Aws::RedshiftServerless
501
537
  GetRecoveryPointResponse.add_member(:recovery_point, Shapes::ShapeRef.new(shape: RecoveryPoint, location_name: "recoveryPoint"))
502
538
  GetRecoveryPointResponse.struct_class = Types::GetRecoveryPointResponse
503
539
 
540
+ GetReservationOfferingRequest.add_member(:offering_id, Shapes::ShapeRef.new(shape: GetReservationOfferingRequestOfferingIdString, required: true, location_name: "offeringId"))
541
+ GetReservationOfferingRequest.struct_class = Types::GetReservationOfferingRequest
542
+
543
+ GetReservationOfferingResponse.add_member(:reservation_offering, Shapes::ShapeRef.new(shape: ReservationOffering, required: true, location_name: "reservationOffering"))
544
+ GetReservationOfferingResponse.struct_class = Types::GetReservationOfferingResponse
545
+
546
+ GetReservationRequest.add_member(:reservation_id, Shapes::ShapeRef.new(shape: GetReservationRequestReservationIdString, required: true, location_name: "reservationId"))
547
+ GetReservationRequest.struct_class = Types::GetReservationRequest
548
+
549
+ GetReservationResponse.add_member(:reservation, Shapes::ShapeRef.new(shape: Reservation, required: true, location_name: "reservation"))
550
+ GetReservationResponse.struct_class = Types::GetReservationResponse
551
+
504
552
  GetResourcePolicyRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceArn"))
505
553
  GetResourcePolicyRequest.struct_class = Types::GetResourcePolicyRequest
506
554
 
@@ -609,6 +657,22 @@ module Aws::RedshiftServerless
609
657
  ListRecoveryPointsResponse.add_member(:recovery_points, Shapes::ShapeRef.new(shape: RecoveryPointList, location_name: "recoveryPoints"))
610
658
  ListRecoveryPointsResponse.struct_class = Types::ListRecoveryPointsResponse
611
659
 
660
+ ListReservationOfferingsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListReservationOfferingsRequestMaxResultsInteger, location_name: "maxResults"))
661
+ ListReservationOfferingsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
662
+ ListReservationOfferingsRequest.struct_class = Types::ListReservationOfferingsRequest
663
+
664
+ ListReservationOfferingsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
665
+ ListReservationOfferingsResponse.add_member(:reservation_offerings_list, Shapes::ShapeRef.new(shape: ReservationOfferingsList, required: true, location_name: "reservationOfferingsList"))
666
+ ListReservationOfferingsResponse.struct_class = Types::ListReservationOfferingsResponse
667
+
668
+ ListReservationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListReservationsRequestMaxResultsInteger, location_name: "maxResults"))
669
+ ListReservationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
670
+ ListReservationsRequest.struct_class = Types::ListReservationsRequest
671
+
672
+ ListReservationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
673
+ ListReservationsResponse.add_member(:reservations_list, Shapes::ShapeRef.new(shape: ReservationsList, required: true, location_name: "reservationsList"))
674
+ ListReservationsResponse.struct_class = Types::ListReservationsResponse
675
+
612
676
  ListScheduledActionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListScheduledActionsRequestMaxResultsInteger, location_name: "maxResults"))
613
677
  ListScheduledActionsRequest.add_member(:namespace_name, Shapes::ShapeRef.new(shape: NamespaceName, location_name: "namespaceName"))
614
678
  ListScheduledActionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
@@ -743,6 +807,27 @@ module Aws::RedshiftServerless
743
807
 
744
808
  RecoveryPointList.member = Shapes::ShapeRef.new(shape: RecoveryPoint)
745
809
 
810
+ Reservation.add_member(:capacity, Shapes::ShapeRef.new(shape: Capacity, location_name: "capacity"))
811
+ Reservation.add_member(:end_date, Shapes::ShapeRef.new(shape: SyntheticTimestamp_date_time, location_name: "endDate"))
812
+ Reservation.add_member(:offering, Shapes::ShapeRef.new(shape: ReservationOffering, location_name: "offering"))
813
+ Reservation.add_member(:reservation_arn, Shapes::ShapeRef.new(shape: ReservationArn, location_name: "reservationArn"))
814
+ Reservation.add_member(:reservation_id, Shapes::ShapeRef.new(shape: ReservationId, location_name: "reservationId"))
815
+ Reservation.add_member(:start_date, Shapes::ShapeRef.new(shape: SyntheticTimestamp_date_time, location_name: "startDate"))
816
+ Reservation.add_member(:status, Shapes::ShapeRef.new(shape: Status, location_name: "status"))
817
+ Reservation.struct_class = Types::Reservation
818
+
819
+ ReservationOffering.add_member(:currency_code, Shapes::ShapeRef.new(shape: CurrencyCode, location_name: "currencyCode"))
820
+ ReservationOffering.add_member(:duration, Shapes::ShapeRef.new(shape: Duration, location_name: "duration"))
821
+ ReservationOffering.add_member(:hourly_charge, Shapes::ShapeRef.new(shape: Charge, location_name: "hourlyCharge"))
822
+ ReservationOffering.add_member(:offering_id, Shapes::ShapeRef.new(shape: OfferingId, location_name: "offeringId"))
823
+ ReservationOffering.add_member(:offering_type, Shapes::ShapeRef.new(shape: OfferingType, location_name: "offeringType"))
824
+ ReservationOffering.add_member(:upfront_charge, Shapes::ShapeRef.new(shape: Charge, location_name: "upfrontCharge"))
825
+ ReservationOffering.struct_class = Types::ReservationOffering
826
+
827
+ ReservationOfferingsList.member = Shapes::ShapeRef.new(shape: ReservationOffering)
828
+
829
+ ReservationsList.member = Shapes::ShapeRef.new(shape: Reservation)
830
+
746
831
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
747
832
  ResourceNotFoundException.add_member(:resource_name, Shapes::ShapeRef.new(shape: AmazonResourceName, location_name: "resourceName"))
748
833
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
@@ -1160,6 +1245,21 @@ module Aws::RedshiftServerless
1160
1245
  o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
1161
1246
  end)
1162
1247
 
1248
+ api.add_operation(:create_reservation, Seahorse::Model::Operation.new.tap do |o|
1249
+ o.name = "CreateReservation"
1250
+ o.http_method = "POST"
1251
+ o.http_request_uri = "/"
1252
+ o.input = Shapes::ShapeRef.new(shape: CreateReservationRequest)
1253
+ o.output = Shapes::ShapeRef.new(shape: CreateReservationResponse)
1254
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1255
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1256
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
1257
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1258
+ o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
1259
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
1260
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1261
+ end)
1262
+
1163
1263
  api.add_operation(:create_scheduled_action, Seahorse::Model::Operation.new.tap do |o|
1164
1264
  o.name = "CreateScheduledAction"
1165
1265
  o.http_method = "POST"
@@ -1397,6 +1497,30 @@ module Aws::RedshiftServerless
1397
1497
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1398
1498
  end)
1399
1499
 
1500
+ api.add_operation(:get_reservation, Seahorse::Model::Operation.new.tap do |o|
1501
+ o.name = "GetReservation"
1502
+ o.http_method = "POST"
1503
+ o.http_request_uri = "/"
1504
+ o.input = Shapes::ShapeRef.new(shape: GetReservationRequest)
1505
+ o.output = Shapes::ShapeRef.new(shape: GetReservationResponse)
1506
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1507
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1508
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1509
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1510
+ end)
1511
+
1512
+ api.add_operation(:get_reservation_offering, Seahorse::Model::Operation.new.tap do |o|
1513
+ o.name = "GetReservationOffering"
1514
+ o.http_method = "POST"
1515
+ o.http_request_uri = "/"
1516
+ o.input = Shapes::ShapeRef.new(shape: GetReservationOfferingRequest)
1517
+ o.output = Shapes::ShapeRef.new(shape: GetReservationOfferingResponse)
1518
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1519
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1520
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1521
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1522
+ end)
1523
+
1400
1524
  api.add_operation(:get_resource_policy, Seahorse::Model::Operation.new.tap do |o|
1401
1525
  o.name = "GetResourcePolicy"
1402
1526
  o.http_method = "POST"
@@ -1562,6 +1686,40 @@ module Aws::RedshiftServerless
1562
1686
  )
1563
1687
  end)
1564
1688
 
1689
+ api.add_operation(:list_reservation_offerings, Seahorse::Model::Operation.new.tap do |o|
1690
+ o.name = "ListReservationOfferings"
1691
+ o.http_method = "POST"
1692
+ o.http_request_uri = "/"
1693
+ o.input = Shapes::ShapeRef.new(shape: ListReservationOfferingsRequest)
1694
+ o.output = Shapes::ShapeRef.new(shape: ListReservationOfferingsResponse)
1695
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1696
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1697
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1698
+ o[:pager] = Aws::Pager.new(
1699
+ limit_key: "max_results",
1700
+ tokens: {
1701
+ "next_token" => "next_token"
1702
+ }
1703
+ )
1704
+ end)
1705
+
1706
+ api.add_operation(:list_reservations, Seahorse::Model::Operation.new.tap do |o|
1707
+ o.name = "ListReservations"
1708
+ o.http_method = "POST"
1709
+ o.http_request_uri = "/"
1710
+ o.input = Shapes::ShapeRef.new(shape: ListReservationsRequest)
1711
+ o.output = Shapes::ShapeRef.new(shape: ListReservationsResponse)
1712
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1713
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1714
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1715
+ o[:pager] = Aws::Pager.new(
1716
+ limit_key: "max_results",
1717
+ tokens: {
1718
+ "next_token" => "next_token"
1719
+ }
1720
+ )
1721
+ end)
1722
+
1565
1723
  api.add_operation(:list_scheduled_actions, Seahorse::Model::Operation.new.tap do |o|
1566
1724
  o.name = "ListScheduledActions"
1567
1725
  o.http_method = "POST"
@@ -335,6 +335,52 @@ module Aws::RedshiftServerless
335
335
  include Aws::Structure
336
336
  end
337
337
 
338
+ # @!attribute [rw] capacity
339
+ # The number of Redshift Processing Units (RPUs) to reserve.
340
+ # @return [Integer]
341
+ #
342
+ # @!attribute [rw] client_token
343
+ # A unique, case-sensitive identifier that you provide to ensure the
344
+ # idempotency of the request. If not provided, the Amazon Web Services
345
+ # SDK populates this field. This token must be a valid UUIDv4 value.
346
+ # For more information about idempotency, see [ Making retries safe
347
+ # with idempotent APIs ][1].
348
+ #
349
+ # **A suitable default value is auto-generated.** You should normally
350
+ # not need to pass this option.
351
+ #
352
+ #
353
+ #
354
+ # [1]: https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/
355
+ # @return [String]
356
+ #
357
+ # @!attribute [rw] offering_id
358
+ # The ID of the offering associated with the reservation. The offering
359
+ # determines the payment schedule for the reservation.
360
+ # @return [String]
361
+ #
362
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/CreateReservationRequest AWS API Documentation
363
+ #
364
+ class CreateReservationRequest < Struct.new(
365
+ :capacity,
366
+ :client_token,
367
+ :offering_id)
368
+ SENSITIVE = []
369
+ include Aws::Structure
370
+ end
371
+
372
+ # @!attribute [rw] reservation
373
+ # The reservation object that the `CreateReservation` action created.
374
+ # @return [Types::Reservation]
375
+ #
376
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/CreateReservationResponse AWS API Documentation
377
+ #
378
+ class CreateReservationResponse < Struct.new(
379
+ :reservation)
380
+ SENSITIVE = []
381
+ include Aws::Structure
382
+ end
383
+
338
384
  # @!attribute [rw] enabled
339
385
  # Indicates whether the schedule is enabled. If false, the scheduled
340
386
  # action does not trigger. For more information about `state` of the
@@ -1230,6 +1276,55 @@ module Aws::RedshiftServerless
1230
1276
  include Aws::Structure
1231
1277
  end
1232
1278
 
1279
+ # @!attribute [rw] offering_id
1280
+ # The identifier for the offering..
1281
+ # @return [String]
1282
+ #
1283
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/GetReservationOfferingRequest AWS API Documentation
1284
+ #
1285
+ class GetReservationOfferingRequest < Struct.new(
1286
+ :offering_id)
1287
+ SENSITIVE = []
1288
+ include Aws::Structure
1289
+ end
1290
+
1291
+ # @!attribute [rw] reservation_offering
1292
+ # The returned reservation offering. The offering determines the
1293
+ # payment schedule for the reservation.
1294
+ # @return [Types::ReservationOffering]
1295
+ #
1296
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/GetReservationOfferingResponse AWS API Documentation
1297
+ #
1298
+ class GetReservationOfferingResponse < Struct.new(
1299
+ :reservation_offering)
1300
+ SENSITIVE = []
1301
+ include Aws::Structure
1302
+ end
1303
+
1304
+ # @!attribute [rw] reservation_id
1305
+ # The ID of the reservation to retrieve.
1306
+ # @return [String]
1307
+ #
1308
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/GetReservationRequest AWS API Documentation
1309
+ #
1310
+ class GetReservationRequest < Struct.new(
1311
+ :reservation_id)
1312
+ SENSITIVE = []
1313
+ include Aws::Structure
1314
+ end
1315
+
1316
+ # @!attribute [rw] reservation
1317
+ # The returned reservation object.
1318
+ # @return [Types::Reservation]
1319
+ #
1320
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/GetReservationResponse AWS API Documentation
1321
+ #
1322
+ class GetReservationResponse < Struct.new(
1323
+ :reservation)
1324
+ SENSITIVE = []
1325
+ include Aws::Structure
1326
+ end
1327
+
1233
1328
  # @!attribute [rw] resource_arn
1234
1329
  # The Amazon Resource Name (ARN) of the resource to return.
1235
1330
  # @return [String]
@@ -1730,6 +1825,80 @@ module Aws::RedshiftServerless
1730
1825
  include Aws::Structure
1731
1826
  end
1732
1827
 
1828
+ # @!attribute [rw] max_results
1829
+ # The maximum number of items to return for this call. The call also
1830
+ # returns a token that you can specify in a subsequent call to get the
1831
+ # next set of results.
1832
+ # @return [Integer]
1833
+ #
1834
+ # @!attribute [rw] next_token
1835
+ # The token for the next set of items to return. (You received this
1836
+ # token from a previous call.)
1837
+ # @return [String]
1838
+ #
1839
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/ListReservationOfferingsRequest AWS API Documentation
1840
+ #
1841
+ class ListReservationOfferingsRequest < Struct.new(
1842
+ :max_results,
1843
+ :next_token)
1844
+ SENSITIVE = []
1845
+ include Aws::Structure
1846
+ end
1847
+
1848
+ # @!attribute [rw] next_token
1849
+ # The token to use when requesting the next set of items.
1850
+ # @return [String]
1851
+ #
1852
+ # @!attribute [rw] reservation_offerings_list
1853
+ # The returned list of reservation offerings.
1854
+ # @return [Array<Types::ReservationOffering>]
1855
+ #
1856
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/ListReservationOfferingsResponse AWS API Documentation
1857
+ #
1858
+ class ListReservationOfferingsResponse < Struct.new(
1859
+ :next_token,
1860
+ :reservation_offerings_list)
1861
+ SENSITIVE = []
1862
+ include Aws::Structure
1863
+ end
1864
+
1865
+ # @!attribute [rw] max_results
1866
+ # The maximum number of items to return for this call. The call also
1867
+ # returns a token that you can specify in a subsequent call to get the
1868
+ # next set of results.
1869
+ # @return [Integer]
1870
+ #
1871
+ # @!attribute [rw] next_token
1872
+ # The token for the next set of items to return. (You received this
1873
+ # token from a previous call.)
1874
+ # @return [String]
1875
+ #
1876
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/ListReservationsRequest AWS API Documentation
1877
+ #
1878
+ class ListReservationsRequest < Struct.new(
1879
+ :max_results,
1880
+ :next_token)
1881
+ SENSITIVE = []
1882
+ include Aws::Structure
1883
+ end
1884
+
1885
+ # @!attribute [rw] next_token
1886
+ # The token to use when requesting the next set of items.
1887
+ # @return [String]
1888
+ #
1889
+ # @!attribute [rw] reservations_list
1890
+ # The serverless reservations returned by the request.
1891
+ # @return [Array<Types::Reservation>]
1892
+ #
1893
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/ListReservationsResponse AWS API Documentation
1894
+ #
1895
+ class ListReservationsResponse < Struct.new(
1896
+ :next_token,
1897
+ :reservations_list)
1898
+ SENSITIVE = []
1899
+ include Aws::Structure
1900
+ end
1901
+
1733
1902
  # @!attribute [rw] max_results
1734
1903
  # An optional parameter that specifies the maximum number of results
1735
1904
  # to return. Use `nextToken` to display the next page of results.
@@ -2371,6 +2540,108 @@ module Aws::RedshiftServerless
2371
2540
  include Aws::Structure
2372
2541
  end
2373
2542
 
2543
+ # Represents an Amazon Redshift Serverless reservation, which gives you
2544
+ # the option to commit to a specified number of Redshift Processing
2545
+ # Units (RPUs) for a year at a discount from Serverless on-demand (OD)
2546
+ # rates.
2547
+ #
2548
+ # @!attribute [rw] capacity
2549
+ # The number of Redshift Processing Units (RPUs) to reserve.
2550
+ # @return [Integer]
2551
+ #
2552
+ # @!attribute [rw] end_date
2553
+ # The end date for the serverless reservation. This date is one year
2554
+ # after the start date that you specify.
2555
+ # @return [Time]
2556
+ #
2557
+ # @!attribute [rw] offering
2558
+ # The type of offering for the reservation. The offering class
2559
+ # determines the payment schedule for the reservation.
2560
+ # @return [Types::ReservationOffering]
2561
+ #
2562
+ # @!attribute [rw] reservation_arn
2563
+ # The Amazon Resource Name (ARN) that uniquely identifies the
2564
+ # serverless reservation.
2565
+ # @return [String]
2566
+ #
2567
+ # @!attribute [rw] reservation_id
2568
+ # The identifier that uniquely identifies the serverless reservation.
2569
+ # @return [String]
2570
+ #
2571
+ # @!attribute [rw] start_date
2572
+ # The start date for the serverless reservation. This is the date you
2573
+ # specified for the reservation to start when you created the
2574
+ # reservation.
2575
+ # @return [Time]
2576
+ #
2577
+ # @!attribute [rw] status
2578
+ # The status of the reservation. Possible values include the
2579
+ # following:
2580
+ #
2581
+ # * `payment-pending`
2582
+ #
2583
+ # * `active`
2584
+ #
2585
+ # * `payment-failed`
2586
+ #
2587
+ # * `retired`
2588
+ # @return [String]
2589
+ #
2590
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/Reservation AWS API Documentation
2591
+ #
2592
+ class Reservation < Struct.new(
2593
+ :capacity,
2594
+ :end_date,
2595
+ :offering,
2596
+ :reservation_arn,
2597
+ :reservation_id,
2598
+ :start_date,
2599
+ :status)
2600
+ SENSITIVE = []
2601
+ include Aws::Structure
2602
+ end
2603
+
2604
+ # The class of offering for the reservation. The offering class
2605
+ # determines the payment schedule for the reservation.
2606
+ #
2607
+ # @!attribute [rw] currency_code
2608
+ # The currency code for the offering.
2609
+ # @return [String]
2610
+ #
2611
+ # @!attribute [rw] duration
2612
+ # The duration, in seconds, for which the reservation reserves the
2613
+ # RPUs.
2614
+ # @return [Integer]
2615
+ #
2616
+ # @!attribute [rw] hourly_charge
2617
+ # The rate you are charged for each hour the reservation is active.
2618
+ # @return [Float]
2619
+ #
2620
+ # @!attribute [rw] offering_id
2621
+ # The offering identifier.
2622
+ # @return [String]
2623
+ #
2624
+ # @!attribute [rw] offering_type
2625
+ # Determines the payment schedule for the reservation.
2626
+ # @return [String]
2627
+ #
2628
+ # @!attribute [rw] upfront_charge
2629
+ # The up-front price you are charged for the reservation.
2630
+ # @return [Float]
2631
+ #
2632
+ # @see http://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/ReservationOffering AWS API Documentation
2633
+ #
2634
+ class ReservationOffering < Struct.new(
2635
+ :currency_code,
2636
+ :duration,
2637
+ :hourly_charge,
2638
+ :offering_id,
2639
+ :offering_type,
2640
+ :upfront_charge)
2641
+ SENSITIVE = []
2642
+ include Aws::Structure
2643
+ end
2644
+
2374
2645
  # The resource could not be found.
2375
2646
  #
2376
2647
  # @!attribute [rw] message
@@ -2470,8 +2741,8 @@ module Aws::RedshiftServerless
2470
2741
  #
2471
2742
  # @!attribute [rw] snapshot_arn
2472
2743
  # The Amazon Resource Name (ARN) of the snapshot to restore from.
2473
- # Required if restoring from Amazon Redshift Serverless to a
2474
- # provisioned cluster. Must not be specified at the same time as
2744
+ # Required if restoring from a provisioned cluster to Amazon Redshift
2745
+ # Serverless. Must not be specified at the same time as
2475
2746
  # `snapshotName`.
2476
2747
  #
2477
2748
  # The format of the ARN is
@@ -54,7 +54,7 @@ module Aws::RedshiftServerless
54
54
  autoload :EndpointProvider, 'aws-sdk-redshiftserverless/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-redshiftserverless/endpoints'
56
56
 
57
- GEM_VERSION = '1.47.0'
57
+ GEM_VERSION = '1.48.0'
58
58
 
59
59
  end
60
60
 
data/sig/client.rbs CHANGED
@@ -151,6 +151,18 @@ module Aws
151
151
  ) -> _CreateNamespaceResponseSuccess
152
152
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateNamespaceResponseSuccess
153
153
 
154
+ interface _CreateReservationResponseSuccess
155
+ include ::Seahorse::Client::_ResponseSuccess[Types::CreateReservationResponse]
156
+ def reservation: () -> Types::Reservation
157
+ end
158
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/RedshiftServerless/Client.html#create_reservation-instance_method
159
+ def create_reservation: (
160
+ capacity: ::Integer,
161
+ ?client_token: ::String,
162
+ offering_id: ::String
163
+ ) -> _CreateReservationResponseSuccess
164
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateReservationResponseSuccess
165
+
154
166
  interface _CreateScheduledActionResponseSuccess
155
167
  include ::Seahorse::Client::_ResponseSuccess[Types::CreateScheduledActionResponse]
156
168
  def scheduled_action: () -> Types::ScheduledActionResponse
@@ -416,6 +428,26 @@ module Aws
416
428
  ) -> _GetRecoveryPointResponseSuccess
417
429
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetRecoveryPointResponseSuccess
418
430
 
431
+ interface _GetReservationResponseSuccess
432
+ include ::Seahorse::Client::_ResponseSuccess[Types::GetReservationResponse]
433
+ def reservation: () -> Types::Reservation
434
+ end
435
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/RedshiftServerless/Client.html#get_reservation-instance_method
436
+ def get_reservation: (
437
+ reservation_id: ::String
438
+ ) -> _GetReservationResponseSuccess
439
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetReservationResponseSuccess
440
+
441
+ interface _GetReservationOfferingResponseSuccess
442
+ include ::Seahorse::Client::_ResponseSuccess[Types::GetReservationOfferingResponse]
443
+ def reservation_offering: () -> Types::ReservationOffering
444
+ end
445
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/RedshiftServerless/Client.html#get_reservation_offering-instance_method
446
+ def get_reservation_offering: (
447
+ offering_id: ::String
448
+ ) -> _GetReservationOfferingResponseSuccess
449
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetReservationOfferingResponseSuccess
450
+
419
451
  interface _GetResourcePolicyResponseSuccess
420
452
  include ::Seahorse::Client::_ResponseSuccess[Types::GetResourcePolicyResponse]
421
453
  def resource_policy: () -> Types::ResourcePolicy
@@ -558,6 +590,30 @@ module Aws
558
590
  ) -> _ListRecoveryPointsResponseSuccess
559
591
  | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListRecoveryPointsResponseSuccess
560
592
 
593
+ interface _ListReservationOfferingsResponseSuccess
594
+ include ::Seahorse::Client::_ResponseSuccess[Types::ListReservationOfferingsResponse]
595
+ def next_token: () -> ::String
596
+ def reservation_offerings_list: () -> ::Array[Types::ReservationOffering]
597
+ end
598
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/RedshiftServerless/Client.html#list_reservation_offerings-instance_method
599
+ def list_reservation_offerings: (
600
+ ?max_results: ::Integer,
601
+ ?next_token: ::String
602
+ ) -> _ListReservationOfferingsResponseSuccess
603
+ | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListReservationOfferingsResponseSuccess
604
+
605
+ interface _ListReservationsResponseSuccess
606
+ include ::Seahorse::Client::_ResponseSuccess[Types::ListReservationsResponse]
607
+ def next_token: () -> ::String
608
+ def reservations_list: () -> ::Array[Types::Reservation]
609
+ end
610
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/RedshiftServerless/Client.html#list_reservations-instance_method
611
+ def list_reservations: (
612
+ ?max_results: ::Integer,
613
+ ?next_token: ::String
614
+ ) -> _ListReservationsResponseSuccess
615
+ | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListReservationsResponseSuccess
616
+
561
617
  interface _ListScheduledActionsResponseSuccess
562
618
  include ::Seahorse::Client::_ResponseSuccess[Types::ListScheduledActionsResponse]
563
619
  def next_token: () -> ::String
data/sig/types.rbs CHANGED
@@ -96,6 +96,18 @@ module Aws::RedshiftServerless
96
96
  SENSITIVE: []
97
97
  end
98
98
 
99
+ class CreateReservationRequest
100
+ attr_accessor capacity: ::Integer
101
+ attr_accessor client_token: ::String
102
+ attr_accessor offering_id: ::String
103
+ SENSITIVE: []
104
+ end
105
+
106
+ class CreateReservationResponse
107
+ attr_accessor reservation: Types::Reservation
108
+ SENSITIVE: []
109
+ end
110
+
99
111
  class CreateScheduledActionRequest
100
112
  attr_accessor enabled: bool
101
113
  attr_accessor end_time: ::Time
@@ -355,6 +367,26 @@ module Aws::RedshiftServerless
355
367
  SENSITIVE: []
356
368
  end
357
369
 
370
+ class GetReservationOfferingRequest
371
+ attr_accessor offering_id: ::String
372
+ SENSITIVE: []
373
+ end
374
+
375
+ class GetReservationOfferingResponse
376
+ attr_accessor reservation_offering: Types::ReservationOffering
377
+ SENSITIVE: []
378
+ end
379
+
380
+ class GetReservationRequest
381
+ attr_accessor reservation_id: ::String
382
+ SENSITIVE: []
383
+ end
384
+
385
+ class GetReservationResponse
386
+ attr_accessor reservation: Types::Reservation
387
+ SENSITIVE: []
388
+ end
389
+
358
390
  class GetResourcePolicyRequest
359
391
  attr_accessor resource_arn: ::String
360
392
  SENSITIVE: []
@@ -517,6 +549,30 @@ module Aws::RedshiftServerless
517
549
  SENSITIVE: []
518
550
  end
519
551
 
552
+ class ListReservationOfferingsRequest
553
+ attr_accessor max_results: ::Integer
554
+ attr_accessor next_token: ::String
555
+ SENSITIVE: []
556
+ end
557
+
558
+ class ListReservationOfferingsResponse
559
+ attr_accessor next_token: ::String
560
+ attr_accessor reservation_offerings_list: ::Array[Types::ReservationOffering]
561
+ SENSITIVE: []
562
+ end
563
+
564
+ class ListReservationsRequest
565
+ attr_accessor max_results: ::Integer
566
+ attr_accessor next_token: ::String
567
+ SENSITIVE: []
568
+ end
569
+
570
+ class ListReservationsResponse
571
+ attr_accessor next_token: ::String
572
+ attr_accessor reservations_list: ::Array[Types::Reservation]
573
+ SENSITIVE: []
574
+ end
575
+
520
576
  class ListScheduledActionsRequest
521
577
  attr_accessor max_results: ::Integer
522
578
  attr_accessor namespace_name: ::String
@@ -685,6 +741,27 @@ module Aws::RedshiftServerless
685
741
  SENSITIVE: []
686
742
  end
687
743
 
744
+ class Reservation
745
+ attr_accessor capacity: ::Integer
746
+ attr_accessor end_date: ::Time
747
+ attr_accessor offering: Types::ReservationOffering
748
+ attr_accessor reservation_arn: ::String
749
+ attr_accessor reservation_id: ::String
750
+ attr_accessor start_date: ::Time
751
+ attr_accessor status: ::String
752
+ SENSITIVE: []
753
+ end
754
+
755
+ class ReservationOffering
756
+ attr_accessor currency_code: ::String
757
+ attr_accessor duration: ::Integer
758
+ attr_accessor hourly_charge: ::Float
759
+ attr_accessor offering_id: ::String
760
+ attr_accessor offering_type: ("ALL_UPFRONT" | "NO_UPFRONT")
761
+ attr_accessor upfront_charge: ::Float
762
+ SENSITIVE: []
763
+ end
764
+
688
765
  class ResourceNotFoundException
689
766
  attr_accessor message: ::String
690
767
  attr_accessor resource_name: ::String
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-redshiftserverless
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.47.0
4
+ version: 1.48.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-02-27 00:00:00.000000000 Z
11
+ date: 2025-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core