aws-sdk-costoptimizationhub 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,685 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::CostOptimizationHub
11
+ # @api private
12
+ module ClientApi
13
+
14
+ include Seahorse::Model
15
+
16
+ AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
17
+ AccountEnrollmentStatus = Shapes::StructureShape.new(name: 'AccountEnrollmentStatus')
18
+ AccountEnrollmentStatuses = Shapes::ListShape.new(name: 'AccountEnrollmentStatuses')
19
+ AccountId = Shapes::StringShape.new(name: 'AccountId')
20
+ AccountIdList = Shapes::ListShape.new(name: 'AccountIdList')
21
+ ActionType = Shapes::StringShape.new(name: 'ActionType')
22
+ ActionTypeList = Shapes::ListShape.new(name: 'ActionTypeList')
23
+ BlockStoragePerformanceConfiguration = Shapes::StructureShape.new(name: 'BlockStoragePerformanceConfiguration')
24
+ Boolean = Shapes::BooleanShape.new(name: 'Boolean')
25
+ ComputeConfiguration = Shapes::StructureShape.new(name: 'ComputeConfiguration')
26
+ ComputeSavingsPlans = Shapes::StructureShape.new(name: 'ComputeSavingsPlans')
27
+ ComputeSavingsPlansConfiguration = Shapes::StructureShape.new(name: 'ComputeSavingsPlansConfiguration')
28
+ Datetime = Shapes::TimestampShape.new(name: 'Datetime')
29
+ Double = Shapes::FloatShape.new(name: 'Double')
30
+ EbsVolume = Shapes::StructureShape.new(name: 'EbsVolume')
31
+ EbsVolumeConfiguration = Shapes::StructureShape.new(name: 'EbsVolumeConfiguration')
32
+ Ec2AutoScalingGroup = Shapes::StructureShape.new(name: 'Ec2AutoScalingGroup')
33
+ Ec2AutoScalingGroupConfiguration = Shapes::StructureShape.new(name: 'Ec2AutoScalingGroupConfiguration')
34
+ Ec2Instance = Shapes::StructureShape.new(name: 'Ec2Instance')
35
+ Ec2InstanceConfiguration = Shapes::StructureShape.new(name: 'Ec2InstanceConfiguration')
36
+ Ec2InstanceSavingsPlans = Shapes::StructureShape.new(name: 'Ec2InstanceSavingsPlans')
37
+ Ec2InstanceSavingsPlansConfiguration = Shapes::StructureShape.new(name: 'Ec2InstanceSavingsPlansConfiguration')
38
+ Ec2ReservedInstances = Shapes::StructureShape.new(name: 'Ec2ReservedInstances')
39
+ Ec2ReservedInstancesConfiguration = Shapes::StructureShape.new(name: 'Ec2ReservedInstancesConfiguration')
40
+ EcsService = Shapes::StructureShape.new(name: 'EcsService')
41
+ EcsServiceConfiguration = Shapes::StructureShape.new(name: 'EcsServiceConfiguration')
42
+ ElastiCacheReservedInstances = Shapes::StructureShape.new(name: 'ElastiCacheReservedInstances')
43
+ ElastiCacheReservedInstancesConfiguration = Shapes::StructureShape.new(name: 'ElastiCacheReservedInstancesConfiguration')
44
+ EnrollmentStatus = Shapes::StringShape.new(name: 'EnrollmentStatus')
45
+ EstimatedDiscounts = Shapes::StructureShape.new(name: 'EstimatedDiscounts')
46
+ Filter = Shapes::StructureShape.new(name: 'Filter')
47
+ GetPreferencesRequest = Shapes::StructureShape.new(name: 'GetPreferencesRequest')
48
+ GetPreferencesResponse = Shapes::StructureShape.new(name: 'GetPreferencesResponse')
49
+ GetRecommendationRequest = Shapes::StructureShape.new(name: 'GetRecommendationRequest')
50
+ GetRecommendationResponse = Shapes::StructureShape.new(name: 'GetRecommendationResponse')
51
+ ImplementationEffort = Shapes::StringShape.new(name: 'ImplementationEffort')
52
+ ImplementationEffortList = Shapes::ListShape.new(name: 'ImplementationEffortList')
53
+ InstanceConfiguration = Shapes::StructureShape.new(name: 'InstanceConfiguration')
54
+ Integer = Shapes::IntegerShape.new(name: 'Integer')
55
+ InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
56
+ LambdaFunction = Shapes::StructureShape.new(name: 'LambdaFunction')
57
+ LambdaFunctionConfiguration = Shapes::StructureShape.new(name: 'LambdaFunctionConfiguration')
58
+ ListEnrollmentStatusesRequest = Shapes::StructureShape.new(name: 'ListEnrollmentStatusesRequest')
59
+ ListEnrollmentStatusesResponse = Shapes::StructureShape.new(name: 'ListEnrollmentStatusesResponse')
60
+ ListRecommendationSummariesRequest = Shapes::StructureShape.new(name: 'ListRecommendationSummariesRequest')
61
+ ListRecommendationSummariesRequestMaxResultsInteger = Shapes::IntegerShape.new(name: 'ListRecommendationSummariesRequestMaxResultsInteger')
62
+ ListRecommendationSummariesResponse = Shapes::StructureShape.new(name: 'ListRecommendationSummariesResponse')
63
+ ListRecommendationsRequest = Shapes::StructureShape.new(name: 'ListRecommendationsRequest')
64
+ ListRecommendationsRequestMaxResultsInteger = Shapes::IntegerShape.new(name: 'ListRecommendationsRequestMaxResultsInteger')
65
+ ListRecommendationsResponse = Shapes::StructureShape.new(name: 'ListRecommendationsResponse')
66
+ MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
67
+ MemberAccountDiscountVisibility = Shapes::StringShape.new(name: 'MemberAccountDiscountVisibility')
68
+ OpenSearchReservedInstances = Shapes::StructureShape.new(name: 'OpenSearchReservedInstances')
69
+ OpenSearchReservedInstancesConfiguration = Shapes::StructureShape.new(name: 'OpenSearchReservedInstancesConfiguration')
70
+ Order = Shapes::StringShape.new(name: 'Order')
71
+ OrderBy = Shapes::StructureShape.new(name: 'OrderBy')
72
+ PrimitiveBoolean = Shapes::BooleanShape.new(name: 'PrimitiveBoolean')
73
+ RdsReservedInstances = Shapes::StructureShape.new(name: 'RdsReservedInstances')
74
+ RdsReservedInstancesConfiguration = Shapes::StructureShape.new(name: 'RdsReservedInstancesConfiguration')
75
+ Recommendation = Shapes::StructureShape.new(name: 'Recommendation')
76
+ RecommendationIdList = Shapes::ListShape.new(name: 'RecommendationIdList')
77
+ RecommendationList = Shapes::ListShape.new(name: 'RecommendationList')
78
+ RecommendationSummariesList = Shapes::ListShape.new(name: 'RecommendationSummariesList')
79
+ RecommendationSummary = Shapes::StructureShape.new(name: 'RecommendationSummary')
80
+ RedshiftReservedInstances = Shapes::StructureShape.new(name: 'RedshiftReservedInstances')
81
+ RedshiftReservedInstancesConfiguration = Shapes::StructureShape.new(name: 'RedshiftReservedInstancesConfiguration')
82
+ RegionList = Shapes::ListShape.new(name: 'RegionList')
83
+ ReservedInstancesCostCalculation = Shapes::StructureShape.new(name: 'ReservedInstancesCostCalculation')
84
+ ReservedInstancesPricing = Shapes::StructureShape.new(name: 'ReservedInstancesPricing')
85
+ ResourceArnList = Shapes::ListShape.new(name: 'ResourceArnList')
86
+ ResourceCostCalculation = Shapes::StructureShape.new(name: 'ResourceCostCalculation')
87
+ ResourceDetails = Shapes::UnionShape.new(name: 'ResourceDetails')
88
+ ResourceIdList = Shapes::ListShape.new(name: 'ResourceIdList')
89
+ ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
90
+ ResourcePricing = Shapes::StructureShape.new(name: 'ResourcePricing')
91
+ ResourceType = Shapes::StringShape.new(name: 'ResourceType')
92
+ ResourceTypeList = Shapes::ListShape.new(name: 'ResourceTypeList')
93
+ SageMakerSavingsPlans = Shapes::StructureShape.new(name: 'SageMakerSavingsPlans')
94
+ SageMakerSavingsPlansConfiguration = Shapes::StructureShape.new(name: 'SageMakerSavingsPlansConfiguration')
95
+ SavingsEstimationMode = Shapes::StringShape.new(name: 'SavingsEstimationMode')
96
+ SavingsPlansCostCalculation = Shapes::StructureShape.new(name: 'SavingsPlansCostCalculation')
97
+ SavingsPlansPricing = Shapes::StructureShape.new(name: 'SavingsPlansPricing')
98
+ Source = Shapes::StringShape.new(name: 'Source')
99
+ StorageConfiguration = Shapes::StructureShape.new(name: 'StorageConfiguration')
100
+ String = Shapes::StringShape.new(name: 'String')
101
+ Tag = Shapes::StructureShape.new(name: 'Tag')
102
+ TagList = Shapes::ListShape.new(name: 'TagList')
103
+ ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
104
+ Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
105
+ UpdateEnrollmentStatusRequest = Shapes::StructureShape.new(name: 'UpdateEnrollmentStatusRequest')
106
+ UpdateEnrollmentStatusResponse = Shapes::StructureShape.new(name: 'UpdateEnrollmentStatusResponse')
107
+ UpdatePreferencesRequest = Shapes::StructureShape.new(name: 'UpdatePreferencesRequest')
108
+ UpdatePreferencesResponse = Shapes::StructureShape.new(name: 'UpdatePreferencesResponse')
109
+ Usage = Shapes::StructureShape.new(name: 'Usage')
110
+ UsageList = Shapes::ListShape.new(name: 'UsageList')
111
+ ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
112
+ ValidationExceptionDetail = Shapes::StructureShape.new(name: 'ValidationExceptionDetail')
113
+ ValidationExceptionDetails = Shapes::ListShape.new(name: 'ValidationExceptionDetails')
114
+ ValidationExceptionReason = Shapes::StringShape.new(name: 'ValidationExceptionReason')
115
+
116
+ AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
117
+ AccessDeniedException.struct_class = Types::AccessDeniedException
118
+
119
+ AccountEnrollmentStatus.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
120
+ AccountEnrollmentStatus.add_member(:created_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "createdTimestamp"))
121
+ AccountEnrollmentStatus.add_member(:last_updated_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastUpdatedTimestamp"))
122
+ AccountEnrollmentStatus.add_member(:status, Shapes::ShapeRef.new(shape: EnrollmentStatus, location_name: "status"))
123
+ AccountEnrollmentStatus.struct_class = Types::AccountEnrollmentStatus
124
+
125
+ AccountEnrollmentStatuses.member = Shapes::ShapeRef.new(shape: AccountEnrollmentStatus)
126
+
127
+ AccountIdList.member = Shapes::ShapeRef.new(shape: AccountId)
128
+
129
+ ActionTypeList.member = Shapes::ShapeRef.new(shape: ActionType)
130
+
131
+ BlockStoragePerformanceConfiguration.add_member(:iops, Shapes::ShapeRef.new(shape: Double, location_name: "iops"))
132
+ BlockStoragePerformanceConfiguration.add_member(:throughput, Shapes::ShapeRef.new(shape: Double, location_name: "throughput"))
133
+ BlockStoragePerformanceConfiguration.struct_class = Types::BlockStoragePerformanceConfiguration
134
+
135
+ ComputeConfiguration.add_member(:architecture, Shapes::ShapeRef.new(shape: String, location_name: "architecture"))
136
+ ComputeConfiguration.add_member(:memory_size_in_mb, Shapes::ShapeRef.new(shape: Integer, location_name: "memorySizeInMB"))
137
+ ComputeConfiguration.add_member(:platform, Shapes::ShapeRef.new(shape: String, location_name: "platform"))
138
+ ComputeConfiguration.add_member(:v_cpu, Shapes::ShapeRef.new(shape: Double, location_name: "vCpu"))
139
+ ComputeConfiguration.struct_class = Types::ComputeConfiguration
140
+
141
+ ComputeSavingsPlans.add_member(:configuration, Shapes::ShapeRef.new(shape: ComputeSavingsPlansConfiguration, location_name: "configuration"))
142
+ ComputeSavingsPlans.add_member(:cost_calculation, Shapes::ShapeRef.new(shape: SavingsPlansCostCalculation, location_name: "costCalculation"))
143
+ ComputeSavingsPlans.struct_class = Types::ComputeSavingsPlans
144
+
145
+ ComputeSavingsPlansConfiguration.add_member(:account_scope, Shapes::ShapeRef.new(shape: String, location_name: "accountScope"))
146
+ ComputeSavingsPlansConfiguration.add_member(:hourly_commitment, Shapes::ShapeRef.new(shape: String, location_name: "hourlyCommitment"))
147
+ ComputeSavingsPlansConfiguration.add_member(:payment_option, Shapes::ShapeRef.new(shape: String, location_name: "paymentOption"))
148
+ ComputeSavingsPlansConfiguration.add_member(:term, Shapes::ShapeRef.new(shape: String, location_name: "term"))
149
+ ComputeSavingsPlansConfiguration.struct_class = Types::ComputeSavingsPlansConfiguration
150
+
151
+ EbsVolume.add_member(:configuration, Shapes::ShapeRef.new(shape: EbsVolumeConfiguration, location_name: "configuration"))
152
+ EbsVolume.add_member(:cost_calculation, Shapes::ShapeRef.new(shape: ResourceCostCalculation, location_name: "costCalculation"))
153
+ EbsVolume.struct_class = Types::EbsVolume
154
+
155
+ EbsVolumeConfiguration.add_member(:attachment_state, Shapes::ShapeRef.new(shape: String, location_name: "attachmentState"))
156
+ EbsVolumeConfiguration.add_member(:performance, Shapes::ShapeRef.new(shape: BlockStoragePerformanceConfiguration, location_name: "performance"))
157
+ EbsVolumeConfiguration.add_member(:storage, Shapes::ShapeRef.new(shape: StorageConfiguration, location_name: "storage"))
158
+ EbsVolumeConfiguration.struct_class = Types::EbsVolumeConfiguration
159
+
160
+ Ec2AutoScalingGroup.add_member(:configuration, Shapes::ShapeRef.new(shape: Ec2AutoScalingGroupConfiguration, location_name: "configuration"))
161
+ Ec2AutoScalingGroup.add_member(:cost_calculation, Shapes::ShapeRef.new(shape: ResourceCostCalculation, location_name: "costCalculation"))
162
+ Ec2AutoScalingGroup.struct_class = Types::Ec2AutoScalingGroup
163
+
164
+ Ec2AutoScalingGroupConfiguration.add_member(:instance, Shapes::ShapeRef.new(shape: InstanceConfiguration, location_name: "instance"))
165
+ Ec2AutoScalingGroupConfiguration.struct_class = Types::Ec2AutoScalingGroupConfiguration
166
+
167
+ Ec2Instance.add_member(:configuration, Shapes::ShapeRef.new(shape: Ec2InstanceConfiguration, location_name: "configuration"))
168
+ Ec2Instance.add_member(:cost_calculation, Shapes::ShapeRef.new(shape: ResourceCostCalculation, location_name: "costCalculation"))
169
+ Ec2Instance.struct_class = Types::Ec2Instance
170
+
171
+ Ec2InstanceConfiguration.add_member(:instance, Shapes::ShapeRef.new(shape: InstanceConfiguration, location_name: "instance"))
172
+ Ec2InstanceConfiguration.struct_class = Types::Ec2InstanceConfiguration
173
+
174
+ Ec2InstanceSavingsPlans.add_member(:configuration, Shapes::ShapeRef.new(shape: Ec2InstanceSavingsPlansConfiguration, location_name: "configuration"))
175
+ Ec2InstanceSavingsPlans.add_member(:cost_calculation, Shapes::ShapeRef.new(shape: SavingsPlansCostCalculation, location_name: "costCalculation"))
176
+ Ec2InstanceSavingsPlans.struct_class = Types::Ec2InstanceSavingsPlans
177
+
178
+ Ec2InstanceSavingsPlansConfiguration.add_member(:account_scope, Shapes::ShapeRef.new(shape: String, location_name: "accountScope"))
179
+ Ec2InstanceSavingsPlansConfiguration.add_member(:hourly_commitment, Shapes::ShapeRef.new(shape: String, location_name: "hourlyCommitment"))
180
+ Ec2InstanceSavingsPlansConfiguration.add_member(:instance_family, Shapes::ShapeRef.new(shape: String, location_name: "instanceFamily"))
181
+ Ec2InstanceSavingsPlansConfiguration.add_member(:payment_option, Shapes::ShapeRef.new(shape: String, location_name: "paymentOption"))
182
+ Ec2InstanceSavingsPlansConfiguration.add_member(:savings_plans_region, Shapes::ShapeRef.new(shape: String, location_name: "savingsPlansRegion"))
183
+ Ec2InstanceSavingsPlansConfiguration.add_member(:term, Shapes::ShapeRef.new(shape: String, location_name: "term"))
184
+ Ec2InstanceSavingsPlansConfiguration.struct_class = Types::Ec2InstanceSavingsPlansConfiguration
185
+
186
+ Ec2ReservedInstances.add_member(:configuration, Shapes::ShapeRef.new(shape: Ec2ReservedInstancesConfiguration, location_name: "configuration"))
187
+ Ec2ReservedInstances.add_member(:cost_calculation, Shapes::ShapeRef.new(shape: ReservedInstancesCostCalculation, location_name: "costCalculation"))
188
+ Ec2ReservedInstances.struct_class = Types::Ec2ReservedInstances
189
+
190
+ Ec2ReservedInstancesConfiguration.add_member(:account_scope, Shapes::ShapeRef.new(shape: String, location_name: "accountScope"))
191
+ Ec2ReservedInstancesConfiguration.add_member(:current_generation, Shapes::ShapeRef.new(shape: String, location_name: "currentGeneration"))
192
+ Ec2ReservedInstancesConfiguration.add_member(:instance_family, Shapes::ShapeRef.new(shape: String, location_name: "instanceFamily"))
193
+ Ec2ReservedInstancesConfiguration.add_member(:instance_type, Shapes::ShapeRef.new(shape: String, location_name: "instanceType"))
194
+ Ec2ReservedInstancesConfiguration.add_member(:monthly_recurring_cost, Shapes::ShapeRef.new(shape: String, location_name: "monthlyRecurringCost"))
195
+ Ec2ReservedInstancesConfiguration.add_member(:normalized_units_to_purchase, Shapes::ShapeRef.new(shape: String, location_name: "normalizedUnitsToPurchase"))
196
+ Ec2ReservedInstancesConfiguration.add_member(:number_of_instances_to_purchase, Shapes::ShapeRef.new(shape: String, location_name: "numberOfInstancesToPurchase"))
197
+ Ec2ReservedInstancesConfiguration.add_member(:offering_class, Shapes::ShapeRef.new(shape: String, location_name: "offeringClass"))
198
+ Ec2ReservedInstancesConfiguration.add_member(:payment_option, Shapes::ShapeRef.new(shape: String, location_name: "paymentOption"))
199
+ Ec2ReservedInstancesConfiguration.add_member(:platform, Shapes::ShapeRef.new(shape: String, location_name: "platform"))
200
+ Ec2ReservedInstancesConfiguration.add_member(:reserved_instances_region, Shapes::ShapeRef.new(shape: String, location_name: "reservedInstancesRegion"))
201
+ Ec2ReservedInstancesConfiguration.add_member(:service, Shapes::ShapeRef.new(shape: String, location_name: "service"))
202
+ Ec2ReservedInstancesConfiguration.add_member(:size_flex_eligible, Shapes::ShapeRef.new(shape: Boolean, location_name: "sizeFlexEligible"))
203
+ Ec2ReservedInstancesConfiguration.add_member(:tenancy, Shapes::ShapeRef.new(shape: String, location_name: "tenancy"))
204
+ Ec2ReservedInstancesConfiguration.add_member(:term, Shapes::ShapeRef.new(shape: String, location_name: "term"))
205
+ Ec2ReservedInstancesConfiguration.add_member(:upfront_cost, Shapes::ShapeRef.new(shape: String, location_name: "upfrontCost"))
206
+ Ec2ReservedInstancesConfiguration.struct_class = Types::Ec2ReservedInstancesConfiguration
207
+
208
+ EcsService.add_member(:configuration, Shapes::ShapeRef.new(shape: EcsServiceConfiguration, location_name: "configuration"))
209
+ EcsService.add_member(:cost_calculation, Shapes::ShapeRef.new(shape: ResourceCostCalculation, location_name: "costCalculation"))
210
+ EcsService.struct_class = Types::EcsService
211
+
212
+ EcsServiceConfiguration.add_member(:compute, Shapes::ShapeRef.new(shape: ComputeConfiguration, location_name: "compute"))
213
+ EcsServiceConfiguration.struct_class = Types::EcsServiceConfiguration
214
+
215
+ ElastiCacheReservedInstances.add_member(:configuration, Shapes::ShapeRef.new(shape: ElastiCacheReservedInstancesConfiguration, location_name: "configuration"))
216
+ ElastiCacheReservedInstances.add_member(:cost_calculation, Shapes::ShapeRef.new(shape: ReservedInstancesCostCalculation, location_name: "costCalculation"))
217
+ ElastiCacheReservedInstances.struct_class = Types::ElastiCacheReservedInstances
218
+
219
+ ElastiCacheReservedInstancesConfiguration.add_member(:account_scope, Shapes::ShapeRef.new(shape: String, location_name: "accountScope"))
220
+ ElastiCacheReservedInstancesConfiguration.add_member(:current_generation, Shapes::ShapeRef.new(shape: String, location_name: "currentGeneration"))
221
+ ElastiCacheReservedInstancesConfiguration.add_member(:instance_family, Shapes::ShapeRef.new(shape: String, location_name: "instanceFamily"))
222
+ ElastiCacheReservedInstancesConfiguration.add_member(:instance_type, Shapes::ShapeRef.new(shape: String, location_name: "instanceType"))
223
+ ElastiCacheReservedInstancesConfiguration.add_member(:monthly_recurring_cost, Shapes::ShapeRef.new(shape: String, location_name: "monthlyRecurringCost"))
224
+ ElastiCacheReservedInstancesConfiguration.add_member(:normalized_units_to_purchase, Shapes::ShapeRef.new(shape: String, location_name: "normalizedUnitsToPurchase"))
225
+ ElastiCacheReservedInstancesConfiguration.add_member(:number_of_instances_to_purchase, Shapes::ShapeRef.new(shape: String, location_name: "numberOfInstancesToPurchase"))
226
+ ElastiCacheReservedInstancesConfiguration.add_member(:payment_option, Shapes::ShapeRef.new(shape: String, location_name: "paymentOption"))
227
+ ElastiCacheReservedInstancesConfiguration.add_member(:reserved_instances_region, Shapes::ShapeRef.new(shape: String, location_name: "reservedInstancesRegion"))
228
+ ElastiCacheReservedInstancesConfiguration.add_member(:service, Shapes::ShapeRef.new(shape: String, location_name: "service"))
229
+ ElastiCacheReservedInstancesConfiguration.add_member(:size_flex_eligible, Shapes::ShapeRef.new(shape: Boolean, location_name: "sizeFlexEligible"))
230
+ ElastiCacheReservedInstancesConfiguration.add_member(:term, Shapes::ShapeRef.new(shape: String, location_name: "term"))
231
+ ElastiCacheReservedInstancesConfiguration.add_member(:upfront_cost, Shapes::ShapeRef.new(shape: String, location_name: "upfrontCost"))
232
+ ElastiCacheReservedInstancesConfiguration.struct_class = Types::ElastiCacheReservedInstancesConfiguration
233
+
234
+ EstimatedDiscounts.add_member(:other_discount, Shapes::ShapeRef.new(shape: Double, location_name: "otherDiscount"))
235
+ EstimatedDiscounts.add_member(:reserved_instances_discount, Shapes::ShapeRef.new(shape: Double, location_name: "reservedInstancesDiscount"))
236
+ EstimatedDiscounts.add_member(:savings_plans_discount, Shapes::ShapeRef.new(shape: Double, location_name: "savingsPlansDiscount"))
237
+ EstimatedDiscounts.struct_class = Types::EstimatedDiscounts
238
+
239
+ Filter.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIdList, location_name: "accountIds"))
240
+ Filter.add_member(:action_types, Shapes::ShapeRef.new(shape: ActionTypeList, location_name: "actionTypes"))
241
+ Filter.add_member(:implementation_efforts, Shapes::ShapeRef.new(shape: ImplementationEffortList, location_name: "implementationEfforts"))
242
+ Filter.add_member(:recommendation_ids, Shapes::ShapeRef.new(shape: RecommendationIdList, location_name: "recommendationIds"))
243
+ Filter.add_member(:regions, Shapes::ShapeRef.new(shape: RegionList, location_name: "regions"))
244
+ Filter.add_member(:resource_arns, Shapes::ShapeRef.new(shape: ResourceArnList, location_name: "resourceArns"))
245
+ Filter.add_member(:resource_ids, Shapes::ShapeRef.new(shape: ResourceIdList, location_name: "resourceIds"))
246
+ Filter.add_member(:resource_types, Shapes::ShapeRef.new(shape: ResourceTypeList, location_name: "resourceTypes"))
247
+ Filter.add_member(:restart_needed, Shapes::ShapeRef.new(shape: Boolean, location_name: "restartNeeded"))
248
+ Filter.add_member(:rollback_possible, Shapes::ShapeRef.new(shape: Boolean, location_name: "rollbackPossible"))
249
+ Filter.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
250
+ Filter.struct_class = Types::Filter
251
+
252
+ GetPreferencesRequest.struct_class = Types::GetPreferencesRequest
253
+
254
+ GetPreferencesResponse.add_member(:member_account_discount_visibility, Shapes::ShapeRef.new(shape: MemberAccountDiscountVisibility, location_name: "memberAccountDiscountVisibility"))
255
+ GetPreferencesResponse.add_member(:savings_estimation_mode, Shapes::ShapeRef.new(shape: SavingsEstimationMode, location_name: "savingsEstimationMode"))
256
+ GetPreferencesResponse.struct_class = Types::GetPreferencesResponse
257
+
258
+ GetRecommendationRequest.add_member(:recommendation_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "recommendationId"))
259
+ GetRecommendationRequest.struct_class = Types::GetRecommendationRequest
260
+
261
+ GetRecommendationResponse.add_member(:account_id, Shapes::ShapeRef.new(shape: String, location_name: "accountId"))
262
+ GetRecommendationResponse.add_member(:action_type, Shapes::ShapeRef.new(shape: ActionType, location_name: "actionType"))
263
+ GetRecommendationResponse.add_member(:cost_calculation_lookback_period_in_days, Shapes::ShapeRef.new(shape: Integer, location_name: "costCalculationLookbackPeriodInDays"))
264
+ GetRecommendationResponse.add_member(:currency_code, Shapes::ShapeRef.new(shape: String, location_name: "currencyCode"))
265
+ GetRecommendationResponse.add_member(:current_resource_details, Shapes::ShapeRef.new(shape: ResourceDetails, location_name: "currentResourceDetails"))
266
+ GetRecommendationResponse.add_member(:current_resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "currentResourceType"))
267
+ GetRecommendationResponse.add_member(:estimated_monthly_cost, Shapes::ShapeRef.new(shape: Double, location_name: "estimatedMonthlyCost"))
268
+ GetRecommendationResponse.add_member(:estimated_monthly_savings, Shapes::ShapeRef.new(shape: Double, location_name: "estimatedMonthlySavings"))
269
+ GetRecommendationResponse.add_member(:estimated_savings_over_cost_calculation_lookback_period, Shapes::ShapeRef.new(shape: Double, location_name: "estimatedSavingsOverCostCalculationLookbackPeriod"))
270
+ GetRecommendationResponse.add_member(:estimated_savings_percentage, Shapes::ShapeRef.new(shape: Double, location_name: "estimatedSavingsPercentage"))
271
+ GetRecommendationResponse.add_member(:implementation_effort, Shapes::ShapeRef.new(shape: ImplementationEffort, location_name: "implementationEffort"))
272
+ GetRecommendationResponse.add_member(:last_refresh_timestamp, Shapes::ShapeRef.new(shape: Datetime, location_name: "lastRefreshTimestamp"))
273
+ GetRecommendationResponse.add_member(:recommendation_id, Shapes::ShapeRef.new(shape: String, location_name: "recommendationId"))
274
+ GetRecommendationResponse.add_member(:recommendation_lookback_period_in_days, Shapes::ShapeRef.new(shape: Integer, location_name: "recommendationLookbackPeriodInDays"))
275
+ GetRecommendationResponse.add_member(:recommended_resource_details, Shapes::ShapeRef.new(shape: ResourceDetails, location_name: "recommendedResourceDetails"))
276
+ GetRecommendationResponse.add_member(:recommended_resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "recommendedResourceType"))
277
+ GetRecommendationResponse.add_member(:region, Shapes::ShapeRef.new(shape: String, location_name: "region"))
278
+ GetRecommendationResponse.add_member(:resource_arn, Shapes::ShapeRef.new(shape: String, location_name: "resourceArn"))
279
+ GetRecommendationResponse.add_member(:resource_id, Shapes::ShapeRef.new(shape: String, location_name: "resourceId"))
280
+ GetRecommendationResponse.add_member(:restart_needed, Shapes::ShapeRef.new(shape: Boolean, location_name: "restartNeeded"))
281
+ GetRecommendationResponse.add_member(:rollback_possible, Shapes::ShapeRef.new(shape: Boolean, location_name: "rollbackPossible"))
282
+ GetRecommendationResponse.add_member(:source, Shapes::ShapeRef.new(shape: Source, location_name: "source"))
283
+ GetRecommendationResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
284
+ GetRecommendationResponse.struct_class = Types::GetRecommendationResponse
285
+
286
+ ImplementationEffortList.member = Shapes::ShapeRef.new(shape: ImplementationEffort)
287
+
288
+ InstanceConfiguration.add_member(:type, Shapes::ShapeRef.new(shape: String, location_name: "type"))
289
+ InstanceConfiguration.struct_class = Types::InstanceConfiguration
290
+
291
+ InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
292
+ InternalServerException.struct_class = Types::InternalServerException
293
+
294
+ LambdaFunction.add_member(:configuration, Shapes::ShapeRef.new(shape: LambdaFunctionConfiguration, location_name: "configuration"))
295
+ LambdaFunction.add_member(:cost_calculation, Shapes::ShapeRef.new(shape: ResourceCostCalculation, location_name: "costCalculation"))
296
+ LambdaFunction.struct_class = Types::LambdaFunction
297
+
298
+ LambdaFunctionConfiguration.add_member(:compute, Shapes::ShapeRef.new(shape: ComputeConfiguration, location_name: "compute"))
299
+ LambdaFunctionConfiguration.struct_class = Types::LambdaFunctionConfiguration
300
+
301
+ ListEnrollmentStatusesRequest.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
302
+ ListEnrollmentStatusesRequest.add_member(:include_organization_info, Shapes::ShapeRef.new(shape: PrimitiveBoolean, location_name: "includeOrganizationInfo"))
303
+ ListEnrollmentStatusesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
304
+ ListEnrollmentStatusesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
305
+ ListEnrollmentStatusesRequest.struct_class = Types::ListEnrollmentStatusesRequest
306
+
307
+ ListEnrollmentStatusesResponse.add_member(:items, Shapes::ShapeRef.new(shape: AccountEnrollmentStatuses, location_name: "items"))
308
+ ListEnrollmentStatusesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
309
+ ListEnrollmentStatusesResponse.struct_class = Types::ListEnrollmentStatusesResponse
310
+
311
+ ListRecommendationSummariesRequest.add_member(:filter, Shapes::ShapeRef.new(shape: Filter, location_name: "filter"))
312
+ ListRecommendationSummariesRequest.add_member(:group_by, Shapes::ShapeRef.new(shape: String, required: true, location_name: "groupBy"))
313
+ ListRecommendationSummariesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListRecommendationSummariesRequestMaxResultsInteger, location_name: "maxResults"))
314
+ ListRecommendationSummariesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
315
+ ListRecommendationSummariesRequest.struct_class = Types::ListRecommendationSummariesRequest
316
+
317
+ ListRecommendationSummariesResponse.add_member(:currency_code, Shapes::ShapeRef.new(shape: String, location_name: "currencyCode"))
318
+ ListRecommendationSummariesResponse.add_member(:estimated_total_deduped_savings, Shapes::ShapeRef.new(shape: Double, location_name: "estimatedTotalDedupedSavings"))
319
+ ListRecommendationSummariesResponse.add_member(:group_by, Shapes::ShapeRef.new(shape: String, location_name: "groupBy"))
320
+ ListRecommendationSummariesResponse.add_member(:items, Shapes::ShapeRef.new(shape: RecommendationSummariesList, location_name: "items"))
321
+ ListRecommendationSummariesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
322
+ ListRecommendationSummariesResponse.struct_class = Types::ListRecommendationSummariesResponse
323
+
324
+ ListRecommendationsRequest.add_member(:filter, Shapes::ShapeRef.new(shape: Filter, location_name: "filter"))
325
+ ListRecommendationsRequest.add_member(:include_all_recommendations, Shapes::ShapeRef.new(shape: PrimitiveBoolean, location_name: "includeAllRecommendations"))
326
+ ListRecommendationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListRecommendationsRequestMaxResultsInteger, location_name: "maxResults"))
327
+ ListRecommendationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
328
+ ListRecommendationsRequest.add_member(:order_by, Shapes::ShapeRef.new(shape: OrderBy, location_name: "orderBy"))
329
+ ListRecommendationsRequest.struct_class = Types::ListRecommendationsRequest
330
+
331
+ ListRecommendationsResponse.add_member(:items, Shapes::ShapeRef.new(shape: RecommendationList, location_name: "items"))
332
+ ListRecommendationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
333
+ ListRecommendationsResponse.struct_class = Types::ListRecommendationsResponse
334
+
335
+ OpenSearchReservedInstances.add_member(:configuration, Shapes::ShapeRef.new(shape: OpenSearchReservedInstancesConfiguration, location_name: "configuration"))
336
+ OpenSearchReservedInstances.add_member(:cost_calculation, Shapes::ShapeRef.new(shape: ReservedInstancesCostCalculation, location_name: "costCalculation"))
337
+ OpenSearchReservedInstances.struct_class = Types::OpenSearchReservedInstances
338
+
339
+ OpenSearchReservedInstancesConfiguration.add_member(:account_scope, Shapes::ShapeRef.new(shape: String, location_name: "accountScope"))
340
+ OpenSearchReservedInstancesConfiguration.add_member(:current_generation, Shapes::ShapeRef.new(shape: String, location_name: "currentGeneration"))
341
+ OpenSearchReservedInstancesConfiguration.add_member(:instance_type, Shapes::ShapeRef.new(shape: String, location_name: "instanceType"))
342
+ OpenSearchReservedInstancesConfiguration.add_member(:monthly_recurring_cost, Shapes::ShapeRef.new(shape: String, location_name: "monthlyRecurringCost"))
343
+ OpenSearchReservedInstancesConfiguration.add_member(:normalized_units_to_purchase, Shapes::ShapeRef.new(shape: String, location_name: "normalizedUnitsToPurchase"))
344
+ OpenSearchReservedInstancesConfiguration.add_member(:number_of_instances_to_purchase, Shapes::ShapeRef.new(shape: String, location_name: "numberOfInstancesToPurchase"))
345
+ OpenSearchReservedInstancesConfiguration.add_member(:payment_option, Shapes::ShapeRef.new(shape: String, location_name: "paymentOption"))
346
+ OpenSearchReservedInstancesConfiguration.add_member(:reserved_instances_region, Shapes::ShapeRef.new(shape: String, location_name: "reservedInstancesRegion"))
347
+ OpenSearchReservedInstancesConfiguration.add_member(:service, Shapes::ShapeRef.new(shape: String, location_name: "service"))
348
+ OpenSearchReservedInstancesConfiguration.add_member(:size_flex_eligible, Shapes::ShapeRef.new(shape: Boolean, location_name: "sizeFlexEligible"))
349
+ OpenSearchReservedInstancesConfiguration.add_member(:term, Shapes::ShapeRef.new(shape: String, location_name: "term"))
350
+ OpenSearchReservedInstancesConfiguration.add_member(:upfront_cost, Shapes::ShapeRef.new(shape: String, location_name: "upfrontCost"))
351
+ OpenSearchReservedInstancesConfiguration.struct_class = Types::OpenSearchReservedInstancesConfiguration
352
+
353
+ OrderBy.add_member(:dimension, Shapes::ShapeRef.new(shape: String, location_name: "dimension"))
354
+ OrderBy.add_member(:order, Shapes::ShapeRef.new(shape: Order, location_name: "order"))
355
+ OrderBy.struct_class = Types::OrderBy
356
+
357
+ RdsReservedInstances.add_member(:configuration, Shapes::ShapeRef.new(shape: RdsReservedInstancesConfiguration, location_name: "configuration"))
358
+ RdsReservedInstances.add_member(:cost_calculation, Shapes::ShapeRef.new(shape: ReservedInstancesCostCalculation, location_name: "costCalculation"))
359
+ RdsReservedInstances.struct_class = Types::RdsReservedInstances
360
+
361
+ RdsReservedInstancesConfiguration.add_member(:account_scope, Shapes::ShapeRef.new(shape: String, location_name: "accountScope"))
362
+ RdsReservedInstancesConfiguration.add_member(:current_generation, Shapes::ShapeRef.new(shape: String, location_name: "currentGeneration"))
363
+ RdsReservedInstancesConfiguration.add_member(:database_edition, Shapes::ShapeRef.new(shape: String, location_name: "databaseEdition"))
364
+ RdsReservedInstancesConfiguration.add_member(:database_engine, Shapes::ShapeRef.new(shape: String, location_name: "databaseEngine"))
365
+ RdsReservedInstancesConfiguration.add_member(:deployment_option, Shapes::ShapeRef.new(shape: String, location_name: "deploymentOption"))
366
+ RdsReservedInstancesConfiguration.add_member(:instance_family, Shapes::ShapeRef.new(shape: String, location_name: "instanceFamily"))
367
+ RdsReservedInstancesConfiguration.add_member(:instance_type, Shapes::ShapeRef.new(shape: String, location_name: "instanceType"))
368
+ RdsReservedInstancesConfiguration.add_member(:license_model, Shapes::ShapeRef.new(shape: String, location_name: "licenseModel"))
369
+ RdsReservedInstancesConfiguration.add_member(:monthly_recurring_cost, Shapes::ShapeRef.new(shape: String, location_name: "monthlyRecurringCost"))
370
+ RdsReservedInstancesConfiguration.add_member(:normalized_units_to_purchase, Shapes::ShapeRef.new(shape: String, location_name: "normalizedUnitsToPurchase"))
371
+ RdsReservedInstancesConfiguration.add_member(:number_of_instances_to_purchase, Shapes::ShapeRef.new(shape: String, location_name: "numberOfInstancesToPurchase"))
372
+ RdsReservedInstancesConfiguration.add_member(:payment_option, Shapes::ShapeRef.new(shape: String, location_name: "paymentOption"))
373
+ RdsReservedInstancesConfiguration.add_member(:reserved_instances_region, Shapes::ShapeRef.new(shape: String, location_name: "reservedInstancesRegion"))
374
+ RdsReservedInstancesConfiguration.add_member(:service, Shapes::ShapeRef.new(shape: String, location_name: "service"))
375
+ RdsReservedInstancesConfiguration.add_member(:size_flex_eligible, Shapes::ShapeRef.new(shape: Boolean, location_name: "sizeFlexEligible"))
376
+ RdsReservedInstancesConfiguration.add_member(:term, Shapes::ShapeRef.new(shape: String, location_name: "term"))
377
+ RdsReservedInstancesConfiguration.add_member(:upfront_cost, Shapes::ShapeRef.new(shape: String, location_name: "upfrontCost"))
378
+ RdsReservedInstancesConfiguration.struct_class = Types::RdsReservedInstancesConfiguration
379
+
380
+ Recommendation.add_member(:account_id, Shapes::ShapeRef.new(shape: String, location_name: "accountId"))
381
+ Recommendation.add_member(:action_type, Shapes::ShapeRef.new(shape: String, location_name: "actionType"))
382
+ Recommendation.add_member(:currency_code, Shapes::ShapeRef.new(shape: String, location_name: "currencyCode"))
383
+ Recommendation.add_member(:current_resource_summary, Shapes::ShapeRef.new(shape: String, location_name: "currentResourceSummary"))
384
+ Recommendation.add_member(:current_resource_type, Shapes::ShapeRef.new(shape: String, location_name: "currentResourceType"))
385
+ Recommendation.add_member(:estimated_monthly_cost, Shapes::ShapeRef.new(shape: Double, location_name: "estimatedMonthlyCost"))
386
+ Recommendation.add_member(:estimated_monthly_savings, Shapes::ShapeRef.new(shape: Double, location_name: "estimatedMonthlySavings"))
387
+ Recommendation.add_member(:estimated_savings_percentage, Shapes::ShapeRef.new(shape: Double, location_name: "estimatedSavingsPercentage"))
388
+ Recommendation.add_member(:implementation_effort, Shapes::ShapeRef.new(shape: String, location_name: "implementationEffort"))
389
+ Recommendation.add_member(:last_refresh_timestamp, Shapes::ShapeRef.new(shape: Datetime, location_name: "lastRefreshTimestamp"))
390
+ Recommendation.add_member(:recommendation_id, Shapes::ShapeRef.new(shape: String, location_name: "recommendationId"))
391
+ Recommendation.add_member(:recommendation_lookback_period_in_days, Shapes::ShapeRef.new(shape: Integer, location_name: "recommendationLookbackPeriodInDays"))
392
+ Recommendation.add_member(:recommended_resource_summary, Shapes::ShapeRef.new(shape: String, location_name: "recommendedResourceSummary"))
393
+ Recommendation.add_member(:recommended_resource_type, Shapes::ShapeRef.new(shape: String, location_name: "recommendedResourceType"))
394
+ Recommendation.add_member(:region, Shapes::ShapeRef.new(shape: String, location_name: "region"))
395
+ Recommendation.add_member(:resource_arn, Shapes::ShapeRef.new(shape: String, location_name: "resourceArn"))
396
+ Recommendation.add_member(:resource_id, Shapes::ShapeRef.new(shape: String, location_name: "resourceId"))
397
+ Recommendation.add_member(:restart_needed, Shapes::ShapeRef.new(shape: Boolean, location_name: "restartNeeded"))
398
+ Recommendation.add_member(:rollback_possible, Shapes::ShapeRef.new(shape: Boolean, location_name: "rollbackPossible"))
399
+ Recommendation.add_member(:source, Shapes::ShapeRef.new(shape: Source, location_name: "source"))
400
+ Recommendation.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
401
+ Recommendation.struct_class = Types::Recommendation
402
+
403
+ RecommendationIdList.member = Shapes::ShapeRef.new(shape: String)
404
+
405
+ RecommendationList.member = Shapes::ShapeRef.new(shape: Recommendation)
406
+
407
+ RecommendationSummariesList.member = Shapes::ShapeRef.new(shape: RecommendationSummary)
408
+
409
+ RecommendationSummary.add_member(:estimated_monthly_savings, Shapes::ShapeRef.new(shape: Double, location_name: "estimatedMonthlySavings"))
410
+ RecommendationSummary.add_member(:group, Shapes::ShapeRef.new(shape: String, location_name: "group"))
411
+ RecommendationSummary.add_member(:recommendation_count, Shapes::ShapeRef.new(shape: Integer, location_name: "recommendationCount"))
412
+ RecommendationSummary.struct_class = Types::RecommendationSummary
413
+
414
+ RedshiftReservedInstances.add_member(:configuration, Shapes::ShapeRef.new(shape: RedshiftReservedInstancesConfiguration, location_name: "configuration"))
415
+ RedshiftReservedInstances.add_member(:cost_calculation, Shapes::ShapeRef.new(shape: ReservedInstancesCostCalculation, location_name: "costCalculation"))
416
+ RedshiftReservedInstances.struct_class = Types::RedshiftReservedInstances
417
+
418
+ RedshiftReservedInstancesConfiguration.add_member(:account_scope, Shapes::ShapeRef.new(shape: String, location_name: "accountScope"))
419
+ RedshiftReservedInstancesConfiguration.add_member(:current_generation, Shapes::ShapeRef.new(shape: String, location_name: "currentGeneration"))
420
+ RedshiftReservedInstancesConfiguration.add_member(:instance_family, Shapes::ShapeRef.new(shape: String, location_name: "instanceFamily"))
421
+ RedshiftReservedInstancesConfiguration.add_member(:instance_type, Shapes::ShapeRef.new(shape: String, location_name: "instanceType"))
422
+ RedshiftReservedInstancesConfiguration.add_member(:monthly_recurring_cost, Shapes::ShapeRef.new(shape: String, location_name: "monthlyRecurringCost"))
423
+ RedshiftReservedInstancesConfiguration.add_member(:normalized_units_to_purchase, Shapes::ShapeRef.new(shape: String, location_name: "normalizedUnitsToPurchase"))
424
+ RedshiftReservedInstancesConfiguration.add_member(:number_of_instances_to_purchase, Shapes::ShapeRef.new(shape: String, location_name: "numberOfInstancesToPurchase"))
425
+ RedshiftReservedInstancesConfiguration.add_member(:payment_option, Shapes::ShapeRef.new(shape: String, location_name: "paymentOption"))
426
+ RedshiftReservedInstancesConfiguration.add_member(:reserved_instances_region, Shapes::ShapeRef.new(shape: String, location_name: "reservedInstancesRegion"))
427
+ RedshiftReservedInstancesConfiguration.add_member(:service, Shapes::ShapeRef.new(shape: String, location_name: "service"))
428
+ RedshiftReservedInstancesConfiguration.add_member(:size_flex_eligible, Shapes::ShapeRef.new(shape: Boolean, location_name: "sizeFlexEligible"))
429
+ RedshiftReservedInstancesConfiguration.add_member(:term, Shapes::ShapeRef.new(shape: String, location_name: "term"))
430
+ RedshiftReservedInstancesConfiguration.add_member(:upfront_cost, Shapes::ShapeRef.new(shape: String, location_name: "upfrontCost"))
431
+ RedshiftReservedInstancesConfiguration.struct_class = Types::RedshiftReservedInstancesConfiguration
432
+
433
+ RegionList.member = Shapes::ShapeRef.new(shape: String)
434
+
435
+ ReservedInstancesCostCalculation.add_member(:pricing, Shapes::ShapeRef.new(shape: ReservedInstancesPricing, location_name: "pricing"))
436
+ ReservedInstancesCostCalculation.struct_class = Types::ReservedInstancesCostCalculation
437
+
438
+ ReservedInstancesPricing.add_member(:estimated_monthly_amortized_reservation_cost, Shapes::ShapeRef.new(shape: Double, location_name: "estimatedMonthlyAmortizedReservationCost"))
439
+ ReservedInstancesPricing.add_member(:estimated_on_demand_cost, Shapes::ShapeRef.new(shape: Double, location_name: "estimatedOnDemandCost"))
440
+ ReservedInstancesPricing.add_member(:monthly_reservation_eligible_cost, Shapes::ShapeRef.new(shape: Double, location_name: "monthlyReservationEligibleCost"))
441
+ ReservedInstancesPricing.add_member(:savings_percentage, Shapes::ShapeRef.new(shape: Double, location_name: "savingsPercentage"))
442
+ ReservedInstancesPricing.struct_class = Types::ReservedInstancesPricing
443
+
444
+ ResourceArnList.member = Shapes::ShapeRef.new(shape: String)
445
+
446
+ ResourceCostCalculation.add_member(:pricing, Shapes::ShapeRef.new(shape: ResourcePricing, location_name: "pricing"))
447
+ ResourceCostCalculation.add_member(:usages, Shapes::ShapeRef.new(shape: UsageList, location_name: "usages"))
448
+ ResourceCostCalculation.struct_class = Types::ResourceCostCalculation
449
+
450
+ ResourceDetails.add_member(:compute_savings_plans, Shapes::ShapeRef.new(shape: ComputeSavingsPlans, location_name: "computeSavingsPlans"))
451
+ ResourceDetails.add_member(:ebs_volume, Shapes::ShapeRef.new(shape: EbsVolume, location_name: "ebsVolume"))
452
+ ResourceDetails.add_member(:ec2_auto_scaling_group, Shapes::ShapeRef.new(shape: Ec2AutoScalingGroup, location_name: "ec2AutoScalingGroup"))
453
+ ResourceDetails.add_member(:ec2_instance, Shapes::ShapeRef.new(shape: Ec2Instance, location_name: "ec2Instance"))
454
+ ResourceDetails.add_member(:ec2_instance_savings_plans, Shapes::ShapeRef.new(shape: Ec2InstanceSavingsPlans, location_name: "ec2InstanceSavingsPlans"))
455
+ ResourceDetails.add_member(:ec2_reserved_instances, Shapes::ShapeRef.new(shape: Ec2ReservedInstances, location_name: "ec2ReservedInstances"))
456
+ ResourceDetails.add_member(:ecs_service, Shapes::ShapeRef.new(shape: EcsService, location_name: "ecsService"))
457
+ ResourceDetails.add_member(:elasti_cache_reserved_instances, Shapes::ShapeRef.new(shape: ElastiCacheReservedInstances, location_name: "elastiCacheReservedInstances"))
458
+ ResourceDetails.add_member(:lambda_function, Shapes::ShapeRef.new(shape: LambdaFunction, location_name: "lambdaFunction"))
459
+ ResourceDetails.add_member(:open_search_reserved_instances, Shapes::ShapeRef.new(shape: OpenSearchReservedInstances, location_name: "openSearchReservedInstances"))
460
+ ResourceDetails.add_member(:rds_reserved_instances, Shapes::ShapeRef.new(shape: RdsReservedInstances, location_name: "rdsReservedInstances"))
461
+ ResourceDetails.add_member(:redshift_reserved_instances, Shapes::ShapeRef.new(shape: RedshiftReservedInstances, location_name: "redshiftReservedInstances"))
462
+ ResourceDetails.add_member(:sage_maker_savings_plans, Shapes::ShapeRef.new(shape: SageMakerSavingsPlans, location_name: "sageMakerSavingsPlans"))
463
+ ResourceDetails.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
464
+ ResourceDetails.add_member_subclass(:compute_savings_plans, Types::ResourceDetails::ComputeSavingsPlans)
465
+ ResourceDetails.add_member_subclass(:ebs_volume, Types::ResourceDetails::EbsVolume)
466
+ ResourceDetails.add_member_subclass(:ec2_auto_scaling_group, Types::ResourceDetails::Ec2AutoScalingGroup)
467
+ ResourceDetails.add_member_subclass(:ec2_instance, Types::ResourceDetails::Ec2Instance)
468
+ ResourceDetails.add_member_subclass(:ec2_instance_savings_plans, Types::ResourceDetails::Ec2InstanceSavingsPlans)
469
+ ResourceDetails.add_member_subclass(:ec2_reserved_instances, Types::ResourceDetails::Ec2ReservedInstances)
470
+ ResourceDetails.add_member_subclass(:ecs_service, Types::ResourceDetails::EcsService)
471
+ ResourceDetails.add_member_subclass(:elasti_cache_reserved_instances, Types::ResourceDetails::ElastiCacheReservedInstances)
472
+ ResourceDetails.add_member_subclass(:lambda_function, Types::ResourceDetails::LambdaFunction)
473
+ ResourceDetails.add_member_subclass(:open_search_reserved_instances, Types::ResourceDetails::OpenSearchReservedInstances)
474
+ ResourceDetails.add_member_subclass(:rds_reserved_instances, Types::ResourceDetails::RdsReservedInstances)
475
+ ResourceDetails.add_member_subclass(:redshift_reserved_instances, Types::ResourceDetails::RedshiftReservedInstances)
476
+ ResourceDetails.add_member_subclass(:sage_maker_savings_plans, Types::ResourceDetails::SageMakerSavingsPlans)
477
+ ResourceDetails.add_member_subclass(:unknown, Types::ResourceDetails::Unknown)
478
+ ResourceDetails.struct_class = Types::ResourceDetails
479
+
480
+ ResourceIdList.member = Shapes::ShapeRef.new(shape: String)
481
+
482
+ ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
483
+ ResourceNotFoundException.add_member(:resource_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceId"))
484
+ ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
485
+
486
+ ResourcePricing.add_member(:estimated_cost_after_discounts, Shapes::ShapeRef.new(shape: Double, location_name: "estimatedCostAfterDiscounts"))
487
+ ResourcePricing.add_member(:estimated_cost_before_discounts, Shapes::ShapeRef.new(shape: Double, location_name: "estimatedCostBeforeDiscounts"))
488
+ ResourcePricing.add_member(:estimated_discounts, Shapes::ShapeRef.new(shape: EstimatedDiscounts, location_name: "estimatedDiscounts"))
489
+ ResourcePricing.add_member(:estimated_net_unused_amortized_commitments, Shapes::ShapeRef.new(shape: Double, location_name: "estimatedNetUnusedAmortizedCommitments"))
490
+ ResourcePricing.struct_class = Types::ResourcePricing
491
+
492
+ ResourceTypeList.member = Shapes::ShapeRef.new(shape: ResourceType)
493
+
494
+ SageMakerSavingsPlans.add_member(:configuration, Shapes::ShapeRef.new(shape: SageMakerSavingsPlansConfiguration, location_name: "configuration"))
495
+ SageMakerSavingsPlans.add_member(:cost_calculation, Shapes::ShapeRef.new(shape: SavingsPlansCostCalculation, location_name: "costCalculation"))
496
+ SageMakerSavingsPlans.struct_class = Types::SageMakerSavingsPlans
497
+
498
+ SageMakerSavingsPlansConfiguration.add_member(:account_scope, Shapes::ShapeRef.new(shape: String, location_name: "accountScope"))
499
+ SageMakerSavingsPlansConfiguration.add_member(:hourly_commitment, Shapes::ShapeRef.new(shape: String, location_name: "hourlyCommitment"))
500
+ SageMakerSavingsPlansConfiguration.add_member(:payment_option, Shapes::ShapeRef.new(shape: String, location_name: "paymentOption"))
501
+ SageMakerSavingsPlansConfiguration.add_member(:term, Shapes::ShapeRef.new(shape: String, location_name: "term"))
502
+ SageMakerSavingsPlansConfiguration.struct_class = Types::SageMakerSavingsPlansConfiguration
503
+
504
+ SavingsPlansCostCalculation.add_member(:pricing, Shapes::ShapeRef.new(shape: SavingsPlansPricing, location_name: "pricing"))
505
+ SavingsPlansCostCalculation.struct_class = Types::SavingsPlansCostCalculation
506
+
507
+ SavingsPlansPricing.add_member(:estimated_monthly_commitment, Shapes::ShapeRef.new(shape: Double, location_name: "estimatedMonthlyCommitment"))
508
+ SavingsPlansPricing.add_member(:estimated_on_demand_cost, Shapes::ShapeRef.new(shape: Double, location_name: "estimatedOnDemandCost"))
509
+ SavingsPlansPricing.add_member(:monthly_savings_plans_eligible_cost, Shapes::ShapeRef.new(shape: Double, location_name: "monthlySavingsPlansEligibleCost"))
510
+ SavingsPlansPricing.add_member(:savings_percentage, Shapes::ShapeRef.new(shape: Double, location_name: "savingsPercentage"))
511
+ SavingsPlansPricing.struct_class = Types::SavingsPlansPricing
512
+
513
+ StorageConfiguration.add_member(:size_in_gb, Shapes::ShapeRef.new(shape: Double, location_name: "sizeInGb"))
514
+ StorageConfiguration.add_member(:type, Shapes::ShapeRef.new(shape: String, location_name: "type"))
515
+ StorageConfiguration.struct_class = Types::StorageConfiguration
516
+
517
+ Tag.add_member(:key, Shapes::ShapeRef.new(shape: String, location_name: "key"))
518
+ Tag.add_member(:value, Shapes::ShapeRef.new(shape: String, location_name: "value"))
519
+ Tag.struct_class = Types::Tag
520
+
521
+ TagList.member = Shapes::ShapeRef.new(shape: Tag)
522
+
523
+ ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
524
+ ThrottlingException.struct_class = Types::ThrottlingException
525
+
526
+ UpdateEnrollmentStatusRequest.add_member(:include_member_accounts, Shapes::ShapeRef.new(shape: Boolean, location_name: "includeMemberAccounts"))
527
+ UpdateEnrollmentStatusRequest.add_member(:status, Shapes::ShapeRef.new(shape: EnrollmentStatus, required: true, location_name: "status"))
528
+ UpdateEnrollmentStatusRequest.struct_class = Types::UpdateEnrollmentStatusRequest
529
+
530
+ UpdateEnrollmentStatusResponse.add_member(:status, Shapes::ShapeRef.new(shape: String, location_name: "status"))
531
+ UpdateEnrollmentStatusResponse.struct_class = Types::UpdateEnrollmentStatusResponse
532
+
533
+ UpdatePreferencesRequest.add_member(:member_account_discount_visibility, Shapes::ShapeRef.new(shape: MemberAccountDiscountVisibility, location_name: "memberAccountDiscountVisibility"))
534
+ UpdatePreferencesRequest.add_member(:savings_estimation_mode, Shapes::ShapeRef.new(shape: SavingsEstimationMode, location_name: "savingsEstimationMode"))
535
+ UpdatePreferencesRequest.struct_class = Types::UpdatePreferencesRequest
536
+
537
+ UpdatePreferencesResponse.add_member(:member_account_discount_visibility, Shapes::ShapeRef.new(shape: MemberAccountDiscountVisibility, location_name: "memberAccountDiscountVisibility"))
538
+ UpdatePreferencesResponse.add_member(:savings_estimation_mode, Shapes::ShapeRef.new(shape: SavingsEstimationMode, location_name: "savingsEstimationMode"))
539
+ UpdatePreferencesResponse.struct_class = Types::UpdatePreferencesResponse
540
+
541
+ Usage.add_member(:operation, Shapes::ShapeRef.new(shape: String, location_name: "operation"))
542
+ Usage.add_member(:product_code, Shapes::ShapeRef.new(shape: String, location_name: "productCode"))
543
+ Usage.add_member(:unit, Shapes::ShapeRef.new(shape: String, location_name: "unit"))
544
+ Usage.add_member(:usage_amount, Shapes::ShapeRef.new(shape: Double, location_name: "usageAmount"))
545
+ Usage.add_member(:usage_type, Shapes::ShapeRef.new(shape: String, location_name: "usageType"))
546
+ Usage.struct_class = Types::Usage
547
+
548
+ UsageList.member = Shapes::ShapeRef.new(shape: Usage)
549
+
550
+ ValidationException.add_member(:fields, Shapes::ShapeRef.new(shape: ValidationExceptionDetails, location_name: "fields"))
551
+ ValidationException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
552
+ ValidationException.add_member(:reason, Shapes::ShapeRef.new(shape: ValidationExceptionReason, location_name: "reason"))
553
+ ValidationException.struct_class = Types::ValidationException
554
+
555
+ ValidationExceptionDetail.add_member(:field_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "fieldName"))
556
+ ValidationExceptionDetail.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
557
+ ValidationExceptionDetail.struct_class = Types::ValidationExceptionDetail
558
+
559
+ ValidationExceptionDetails.member = Shapes::ShapeRef.new(shape: ValidationExceptionDetail)
560
+
561
+
562
+ # @api private
563
+ API = Seahorse::Model::Api.new.tap do |api|
564
+
565
+ api.version = "2022-07-26"
566
+
567
+ api.metadata = {
568
+ "apiVersion" => "2022-07-26",
569
+ "endpointPrefix" => "cost-optimization-hub",
570
+ "jsonVersion" => "1.0",
571
+ "protocol" => "json",
572
+ "serviceFullName" => "Cost Optimization Hub",
573
+ "serviceId" => "Cost Optimization Hub",
574
+ "signatureVersion" => "v4",
575
+ "signingName" => "cost-optimization-hub",
576
+ "targetPrefix" => "CostOptimizationHubService",
577
+ "uid" => "cost-optimization-hub-2022-07-26",
578
+ }
579
+
580
+ api.add_operation(:get_preferences, Seahorse::Model::Operation.new.tap do |o|
581
+ o.name = "GetPreferences"
582
+ o.http_method = "POST"
583
+ o.http_request_uri = "/"
584
+ o.input = Shapes::ShapeRef.new(shape: GetPreferencesRequest)
585
+ o.output = Shapes::ShapeRef.new(shape: GetPreferencesResponse)
586
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
587
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
588
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
589
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
590
+ end)
591
+
592
+ api.add_operation(:get_recommendation, Seahorse::Model::Operation.new.tap do |o|
593
+ o.name = "GetRecommendation"
594
+ o.http_method = "POST"
595
+ o.http_request_uri = "/"
596
+ o.input = Shapes::ShapeRef.new(shape: GetRecommendationRequest)
597
+ o.output = Shapes::ShapeRef.new(shape: GetRecommendationResponse)
598
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
599
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
600
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
601
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
602
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
603
+ end)
604
+
605
+ api.add_operation(:list_enrollment_statuses, Seahorse::Model::Operation.new.tap do |o|
606
+ o.name = "ListEnrollmentStatuses"
607
+ o.http_method = "POST"
608
+ o.http_request_uri = "/"
609
+ o.input = Shapes::ShapeRef.new(shape: ListEnrollmentStatusesRequest)
610
+ o.output = Shapes::ShapeRef.new(shape: ListEnrollmentStatusesResponse)
611
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
612
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
613
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
614
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
615
+ o[:pager] = Aws::Pager.new(
616
+ limit_key: "max_results",
617
+ tokens: {
618
+ "next_token" => "next_token"
619
+ }
620
+ )
621
+ end)
622
+
623
+ api.add_operation(:list_recommendation_summaries, Seahorse::Model::Operation.new.tap do |o|
624
+ o.name = "ListRecommendationSummaries"
625
+ o.http_method = "POST"
626
+ o.http_request_uri = "/"
627
+ o.input = Shapes::ShapeRef.new(shape: ListRecommendationSummariesRequest)
628
+ o.output = Shapes::ShapeRef.new(shape: ListRecommendationSummariesResponse)
629
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
630
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
631
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
632
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
633
+ o[:pager] = Aws::Pager.new(
634
+ limit_key: "max_results",
635
+ tokens: {
636
+ "next_token" => "next_token"
637
+ }
638
+ )
639
+ end)
640
+
641
+ api.add_operation(:list_recommendations, Seahorse::Model::Operation.new.tap do |o|
642
+ o.name = "ListRecommendations"
643
+ o.http_method = "POST"
644
+ o.http_request_uri = "/"
645
+ o.input = Shapes::ShapeRef.new(shape: ListRecommendationsRequest)
646
+ o.output = Shapes::ShapeRef.new(shape: ListRecommendationsResponse)
647
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
648
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
649
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
650
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
651
+ o[:pager] = Aws::Pager.new(
652
+ limit_key: "max_results",
653
+ tokens: {
654
+ "next_token" => "next_token"
655
+ }
656
+ )
657
+ end)
658
+
659
+ api.add_operation(:update_enrollment_status, Seahorse::Model::Operation.new.tap do |o|
660
+ o.name = "UpdateEnrollmentStatus"
661
+ o.http_method = "POST"
662
+ o.http_request_uri = "/"
663
+ o.input = Shapes::ShapeRef.new(shape: UpdateEnrollmentStatusRequest)
664
+ o.output = Shapes::ShapeRef.new(shape: UpdateEnrollmentStatusResponse)
665
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
666
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
667
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
668
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
669
+ end)
670
+
671
+ api.add_operation(:update_preferences, Seahorse::Model::Operation.new.tap do |o|
672
+ o.name = "UpdatePreferences"
673
+ o.http_method = "POST"
674
+ o.http_request_uri = "/"
675
+ o.input = Shapes::ShapeRef.new(shape: UpdatePreferencesRequest)
676
+ o.output = Shapes::ShapeRef.new(shape: UpdatePreferencesResponse)
677
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
678
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
679
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
680
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
681
+ end)
682
+ end
683
+
684
+ end
685
+ end