aws-sdk-computeoptimizer 1.34.0 → 1.36.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -18,6 +18,7 @@ module Aws::ComputeOptimizer
18
18
  AccountEnrollmentStatuses = Shapes::ListShape.new(name: 'AccountEnrollmentStatuses')
19
19
  AccountId = Shapes::StringShape.new(name: 'AccountId')
20
20
  AccountIds = Shapes::ListShape.new(name: 'AccountIds')
21
+ AutoScalingConfiguration = Shapes::StringShape.new(name: 'AutoScalingConfiguration')
21
22
  AutoScalingGroupArn = Shapes::StringShape.new(name: 'AutoScalingGroupArn')
22
23
  AutoScalingGroupArns = Shapes::ListShape.new(name: 'AutoScalingGroupArns')
23
24
  AutoScalingGroupConfiguration = Shapes::StructureShape.new(name: 'AutoScalingGroupConfiguration')
@@ -27,6 +28,12 @@ module Aws::ComputeOptimizer
27
28
  AutoScalingGroupRecommendationOptions = Shapes::ListShape.new(name: 'AutoScalingGroupRecommendationOptions')
28
29
  AutoScalingGroupRecommendations = Shapes::ListShape.new(name: 'AutoScalingGroupRecommendations')
29
30
  Code = Shapes::StringShape.new(name: 'Code')
31
+ ContainerConfiguration = Shapes::StructureShape.new(name: 'ContainerConfiguration')
32
+ ContainerConfigurations = Shapes::ListShape.new(name: 'ContainerConfigurations')
33
+ ContainerName = Shapes::StringShape.new(name: 'ContainerName')
34
+ ContainerRecommendation = Shapes::StructureShape.new(name: 'ContainerRecommendation')
35
+ ContainerRecommendations = Shapes::ListShape.new(name: 'ContainerRecommendations')
36
+ CpuSize = Shapes::IntegerShape.new(name: 'CpuSize')
30
37
  CpuVendorArchitecture = Shapes::StringShape.new(name: 'CpuVendorArchitecture')
31
38
  CpuVendorArchitectures = Shapes::ListShape.new(name: 'CpuVendorArchitectures')
32
39
  CreationTimestamp = Shapes::TimestampShape.new(name: 'CreationTimestamp')
@@ -49,6 +56,27 @@ module Aws::ComputeOptimizer
49
56
  EBSMetricName = Shapes::StringShape.new(name: 'EBSMetricName')
50
57
  EBSUtilizationMetric = Shapes::StructureShape.new(name: 'EBSUtilizationMetric')
51
58
  EBSUtilizationMetrics = Shapes::ListShape.new(name: 'EBSUtilizationMetrics')
59
+ ECSServiceLaunchType = Shapes::StringShape.new(name: 'ECSServiceLaunchType')
60
+ ECSServiceMetricName = Shapes::StringShape.new(name: 'ECSServiceMetricName')
61
+ ECSServiceMetricStatistic = Shapes::StringShape.new(name: 'ECSServiceMetricStatistic')
62
+ ECSServiceProjectedMetric = Shapes::StructureShape.new(name: 'ECSServiceProjectedMetric')
63
+ ECSServiceProjectedMetrics = Shapes::ListShape.new(name: 'ECSServiceProjectedMetrics')
64
+ ECSServiceProjectedUtilizationMetric = Shapes::StructureShape.new(name: 'ECSServiceProjectedUtilizationMetric')
65
+ ECSServiceProjectedUtilizationMetrics = Shapes::ListShape.new(name: 'ECSServiceProjectedUtilizationMetrics')
66
+ ECSServiceRecommendation = Shapes::StructureShape.new(name: 'ECSServiceRecommendation')
67
+ ECSServiceRecommendationFilter = Shapes::StructureShape.new(name: 'ECSServiceRecommendationFilter')
68
+ ECSServiceRecommendationFilterName = Shapes::StringShape.new(name: 'ECSServiceRecommendationFilterName')
69
+ ECSServiceRecommendationFilters = Shapes::ListShape.new(name: 'ECSServiceRecommendationFilters')
70
+ ECSServiceRecommendationFinding = Shapes::StringShape.new(name: 'ECSServiceRecommendationFinding')
71
+ ECSServiceRecommendationFindingReasonCode = Shapes::StringShape.new(name: 'ECSServiceRecommendationFindingReasonCode')
72
+ ECSServiceRecommendationFindingReasonCodes = Shapes::ListShape.new(name: 'ECSServiceRecommendationFindingReasonCodes')
73
+ ECSServiceRecommendationOption = Shapes::StructureShape.new(name: 'ECSServiceRecommendationOption')
74
+ ECSServiceRecommendationOptions = Shapes::ListShape.new(name: 'ECSServiceRecommendationOptions')
75
+ ECSServiceRecommendations = Shapes::ListShape.new(name: 'ECSServiceRecommendations')
76
+ ECSServiceRecommendedOptionProjectedMetric = Shapes::StructureShape.new(name: 'ECSServiceRecommendedOptionProjectedMetric')
77
+ ECSServiceRecommendedOptionProjectedMetrics = Shapes::ListShape.new(name: 'ECSServiceRecommendedOptionProjectedMetrics')
78
+ ECSServiceUtilizationMetric = Shapes::StructureShape.new(name: 'ECSServiceUtilizationMetric')
79
+ ECSServiceUtilizationMetrics = Shapes::ListShape.new(name: 'ECSServiceUtilizationMetrics')
52
80
  EffectiveRecommendationPreferences = Shapes::StructureShape.new(name: 'EffectiveRecommendationPreferences')
53
81
  EnhancedInfrastructureMetrics = Shapes::StringShape.new(name: 'EnhancedInfrastructureMetrics')
54
82
  EnrollmentFilter = Shapes::StructureShape.new(name: 'EnrollmentFilter')
@@ -63,16 +91,22 @@ module Aws::ComputeOptimizer
63
91
  ExportEBSVolumeRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportEBSVolumeRecommendationsResponse')
64
92
  ExportEC2InstanceRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportEC2InstanceRecommendationsRequest')
65
93
  ExportEC2InstanceRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportEC2InstanceRecommendationsResponse')
94
+ ExportECSServiceRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportECSServiceRecommendationsRequest')
95
+ ExportECSServiceRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportECSServiceRecommendationsResponse')
66
96
  ExportLambdaFunctionRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportLambdaFunctionRecommendationsRequest')
67
97
  ExportLambdaFunctionRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportLambdaFunctionRecommendationsResponse')
68
98
  ExportableAutoScalingGroupField = Shapes::StringShape.new(name: 'ExportableAutoScalingGroupField')
69
99
  ExportableAutoScalingGroupFields = Shapes::ListShape.new(name: 'ExportableAutoScalingGroupFields')
100
+ ExportableECSServiceField = Shapes::StringShape.new(name: 'ExportableECSServiceField')
101
+ ExportableECSServiceFields = Shapes::ListShape.new(name: 'ExportableECSServiceFields')
70
102
  ExportableInstanceField = Shapes::StringShape.new(name: 'ExportableInstanceField')
71
103
  ExportableInstanceFields = Shapes::ListShape.new(name: 'ExportableInstanceFields')
72
104
  ExportableLambdaFunctionField = Shapes::StringShape.new(name: 'ExportableLambdaFunctionField')
73
105
  ExportableLambdaFunctionFields = Shapes::ListShape.new(name: 'ExportableLambdaFunctionFields')
74
106
  ExportableVolumeField = Shapes::StringShape.new(name: 'ExportableVolumeField')
75
107
  ExportableVolumeFields = Shapes::ListShape.new(name: 'ExportableVolumeFields')
108
+ ExternalMetricsPreference = Shapes::StructureShape.new(name: 'ExternalMetricsPreference')
109
+ ExternalMetricsSource = Shapes::StringShape.new(name: 'ExternalMetricsSource')
76
110
  FailureReason = Shapes::StringShape.new(name: 'FailureReason')
77
111
  FileFormat = Shapes::StringShape.new(name: 'FileFormat')
78
112
  Filter = Shapes::StructureShape.new(name: 'Filter')
@@ -93,6 +127,10 @@ module Aws::ComputeOptimizer
93
127
  GetEC2InstanceRecommendationsResponse = Shapes::StructureShape.new(name: 'GetEC2InstanceRecommendationsResponse')
94
128
  GetEC2RecommendationProjectedMetricsRequest = Shapes::StructureShape.new(name: 'GetEC2RecommendationProjectedMetricsRequest')
95
129
  GetEC2RecommendationProjectedMetricsResponse = Shapes::StructureShape.new(name: 'GetEC2RecommendationProjectedMetricsResponse')
130
+ GetECSServiceRecommendationProjectedMetricsRequest = Shapes::StructureShape.new(name: 'GetECSServiceRecommendationProjectedMetricsRequest')
131
+ GetECSServiceRecommendationProjectedMetricsResponse = Shapes::StructureShape.new(name: 'GetECSServiceRecommendationProjectedMetricsResponse')
132
+ GetECSServiceRecommendationsRequest = Shapes::StructureShape.new(name: 'GetECSServiceRecommendationsRequest')
133
+ GetECSServiceRecommendationsResponse = Shapes::StructureShape.new(name: 'GetECSServiceRecommendationsResponse')
96
134
  GetEffectiveRecommendationPreferencesRequest = Shapes::StructureShape.new(name: 'GetEffectiveRecommendationPreferencesRequest')
97
135
  GetEffectiveRecommendationPreferencesResponse = Shapes::StructureShape.new(name: 'GetEffectiveRecommendationPreferencesResponse')
98
136
  GetEnrollmentStatusRequest = Shapes::StructureShape.new(name: 'GetEnrollmentStatusRequest')
@@ -153,11 +191,13 @@ module Aws::ComputeOptimizer
153
191
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
154
192
  LookBackPeriodInDays = Shapes::FloatShape.new(name: 'LookBackPeriodInDays')
155
193
  Low = Shapes::IntegerShape.new(name: 'Low')
194
+ LowerBoundValue = Shapes::FloatShape.new(name: 'LowerBoundValue')
156
195
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
157
196
  MaxSize = Shapes::IntegerShape.new(name: 'MaxSize')
158
197
  Medium = Shapes::IntegerShape.new(name: 'Medium')
159
198
  MemberAccountsEnrolled = Shapes::BooleanShape.new(name: 'MemberAccountsEnrolled')
160
199
  MemorySize = Shapes::IntegerShape.new(name: 'MemorySize')
200
+ MemorySizeConfiguration = Shapes::StructureShape.new(name: 'MemorySizeConfiguration')
161
201
  Message = Shapes::StringShape.new(name: 'Message')
162
202
  MetadataKey = Shapes::StringShape.new(name: 'MetadataKey')
163
203
  MetricName = Shapes::StringShape.new(name: 'MetricName')
@@ -168,6 +208,9 @@ module Aws::ComputeOptimizer
168
208
  MinSize = Shapes::IntegerShape.new(name: 'MinSize')
169
209
  MissingAuthenticationToken = Shapes::StructureShape.new(name: 'MissingAuthenticationToken')
170
210
  NextToken = Shapes::StringShape.new(name: 'NextToken')
211
+ NullableCpu = Shapes::IntegerShape.new(name: 'NullableCpu')
212
+ NullableMemory = Shapes::IntegerShape.new(name: 'NullableMemory')
213
+ NullableMemoryReservation = Shapes::IntegerShape.new(name: 'NullableMemoryReservation')
171
214
  NumberOfInvocations = Shapes::IntegerShape.new(name: 'NumberOfInvocations')
172
215
  NumberOfMemberAccountsOptedIn = Shapes::IntegerShape.new(name: 'NumberOfMemberAccountsOptedIn')
173
216
  OptInRequiredException = Shapes::StructureShape.new(name: 'OptInRequiredException')
@@ -210,17 +253,22 @@ module Aws::ComputeOptimizer
210
253
  Scope = Shapes::StructureShape.new(name: 'Scope')
211
254
  ScopeName = Shapes::StringShape.new(name: 'ScopeName')
212
255
  ScopeValue = Shapes::StringShape.new(name: 'ScopeValue')
256
+ ServiceArn = Shapes::StringShape.new(name: 'ServiceArn')
257
+ ServiceArns = Shapes::ListShape.new(name: 'ServiceArns')
258
+ ServiceConfiguration = Shapes::StructureShape.new(name: 'ServiceConfiguration')
213
259
  ServiceUnavailableException = Shapes::StructureShape.new(name: 'ServiceUnavailableException')
214
260
  Status = Shapes::StringShape.new(name: 'Status')
215
261
  StatusReason = Shapes::StringShape.new(name: 'StatusReason')
216
262
  Summaries = Shapes::ListShape.new(name: 'Summaries')
217
263
  Summary = Shapes::StructureShape.new(name: 'Summary')
218
264
  SummaryValue = Shapes::FloatShape.new(name: 'SummaryValue')
265
+ TaskDefinitionArn = Shapes::StringShape.new(name: 'TaskDefinitionArn')
219
266
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
220
267
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
221
268
  Timestamps = Shapes::ListShape.new(name: 'Timestamps')
222
269
  UpdateEnrollmentStatusRequest = Shapes::StructureShape.new(name: 'UpdateEnrollmentStatusRequest')
223
270
  UpdateEnrollmentStatusResponse = Shapes::StructureShape.new(name: 'UpdateEnrollmentStatusResponse')
271
+ UpperBoundValue = Shapes::FloatShape.new(name: 'UpperBoundValue')
224
272
  UtilizationMetric = Shapes::StructureShape.new(name: 'UtilizationMetric')
225
273
  UtilizationMetrics = Shapes::ListShape.new(name: 'UtilizationMetrics')
226
274
  Value = Shapes::FloatShape.new(name: 'Value')
@@ -286,6 +334,20 @@ module Aws::ComputeOptimizer
286
334
 
287
335
  AutoScalingGroupRecommendations.member = Shapes::ShapeRef.new(shape: AutoScalingGroupRecommendation)
288
336
 
337
+ ContainerConfiguration.add_member(:container_name, Shapes::ShapeRef.new(shape: ContainerName, location_name: "containerName"))
338
+ ContainerConfiguration.add_member(:memory_size_configuration, Shapes::ShapeRef.new(shape: MemorySizeConfiguration, location_name: "memorySizeConfiguration"))
339
+ ContainerConfiguration.add_member(:cpu, Shapes::ShapeRef.new(shape: NullableCpu, location_name: "cpu"))
340
+ ContainerConfiguration.struct_class = Types::ContainerConfiguration
341
+
342
+ ContainerConfigurations.member = Shapes::ShapeRef.new(shape: ContainerConfiguration)
343
+
344
+ ContainerRecommendation.add_member(:container_name, Shapes::ShapeRef.new(shape: ContainerName, location_name: "containerName"))
345
+ ContainerRecommendation.add_member(:memory_size_configuration, Shapes::ShapeRef.new(shape: MemorySizeConfiguration, location_name: "memorySizeConfiguration"))
346
+ ContainerRecommendation.add_member(:cpu, Shapes::ShapeRef.new(shape: NullableCpu, location_name: "cpu"))
347
+ ContainerRecommendation.struct_class = Types::ContainerRecommendation
348
+
349
+ ContainerRecommendations.member = Shapes::ShapeRef.new(shape: ContainerRecommendation)
350
+
289
351
  CpuVendorArchitectures.member = Shapes::ShapeRef.new(shape: CpuVendorArchitecture)
290
352
 
291
353
  CurrentPerformanceRiskRatings.add_member(:high, Shapes::ShapeRef.new(shape: High, location_name: "high"))
@@ -324,9 +386,72 @@ module Aws::ComputeOptimizer
324
386
 
325
387
  EBSUtilizationMetrics.member = Shapes::ShapeRef.new(shape: EBSUtilizationMetric)
326
388
 
389
+ ECSServiceProjectedMetric.add_member(:name, Shapes::ShapeRef.new(shape: ECSServiceMetricName, location_name: "name"))
390
+ ECSServiceProjectedMetric.add_member(:timestamps, Shapes::ShapeRef.new(shape: Timestamps, location_name: "timestamps"))
391
+ ECSServiceProjectedMetric.add_member(:upper_bound_values, Shapes::ShapeRef.new(shape: MetricValues, location_name: "upperBoundValues"))
392
+ ECSServiceProjectedMetric.add_member(:lower_bound_values, Shapes::ShapeRef.new(shape: MetricValues, location_name: "lowerBoundValues"))
393
+ ECSServiceProjectedMetric.struct_class = Types::ECSServiceProjectedMetric
394
+
395
+ ECSServiceProjectedMetrics.member = Shapes::ShapeRef.new(shape: ECSServiceProjectedMetric)
396
+
397
+ ECSServiceProjectedUtilizationMetric.add_member(:name, Shapes::ShapeRef.new(shape: ECSServiceMetricName, location_name: "name"))
398
+ ECSServiceProjectedUtilizationMetric.add_member(:statistic, Shapes::ShapeRef.new(shape: ECSServiceMetricStatistic, location_name: "statistic"))
399
+ ECSServiceProjectedUtilizationMetric.add_member(:lower_bound_value, Shapes::ShapeRef.new(shape: LowerBoundValue, location_name: "lowerBoundValue"))
400
+ ECSServiceProjectedUtilizationMetric.add_member(:upper_bound_value, Shapes::ShapeRef.new(shape: UpperBoundValue, location_name: "upperBoundValue"))
401
+ ECSServiceProjectedUtilizationMetric.struct_class = Types::ECSServiceProjectedUtilizationMetric
402
+
403
+ ECSServiceProjectedUtilizationMetrics.member = Shapes::ShapeRef.new(shape: ECSServiceProjectedUtilizationMetric)
404
+
405
+ ECSServiceRecommendation.add_member(:service_arn, Shapes::ShapeRef.new(shape: ServiceArn, location_name: "serviceArn"))
406
+ ECSServiceRecommendation.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
407
+ ECSServiceRecommendation.add_member(:current_service_configuration, Shapes::ShapeRef.new(shape: ServiceConfiguration, location_name: "currentServiceConfiguration"))
408
+ ECSServiceRecommendation.add_member(:utilization_metrics, Shapes::ShapeRef.new(shape: ECSServiceUtilizationMetrics, location_name: "utilizationMetrics"))
409
+ ECSServiceRecommendation.add_member(:lookback_period_in_days, Shapes::ShapeRef.new(shape: LookBackPeriodInDays, location_name: "lookbackPeriodInDays"))
410
+ ECSServiceRecommendation.add_member(:launch_type, Shapes::ShapeRef.new(shape: ECSServiceLaunchType, location_name: "launchType"))
411
+ ECSServiceRecommendation.add_member(:last_refresh_timestamp, Shapes::ShapeRef.new(shape: LastRefreshTimestamp, location_name: "lastRefreshTimestamp"))
412
+ ECSServiceRecommendation.add_member(:finding, Shapes::ShapeRef.new(shape: ECSServiceRecommendationFinding, location_name: "finding"))
413
+ ECSServiceRecommendation.add_member(:finding_reason_codes, Shapes::ShapeRef.new(shape: ECSServiceRecommendationFindingReasonCodes, location_name: "findingReasonCodes"))
414
+ ECSServiceRecommendation.add_member(:service_recommendation_options, Shapes::ShapeRef.new(shape: ECSServiceRecommendationOptions, location_name: "serviceRecommendationOptions"))
415
+ ECSServiceRecommendation.add_member(:current_performance_risk, Shapes::ShapeRef.new(shape: CurrentPerformanceRisk, location_name: "currentPerformanceRisk"))
416
+ ECSServiceRecommendation.struct_class = Types::ECSServiceRecommendation
417
+
418
+ ECSServiceRecommendationFilter.add_member(:name, Shapes::ShapeRef.new(shape: ECSServiceRecommendationFilterName, location_name: "name"))
419
+ ECSServiceRecommendationFilter.add_member(:values, Shapes::ShapeRef.new(shape: FilterValues, location_name: "values"))
420
+ ECSServiceRecommendationFilter.struct_class = Types::ECSServiceRecommendationFilter
421
+
422
+ ECSServiceRecommendationFilters.member = Shapes::ShapeRef.new(shape: ECSServiceRecommendationFilter)
423
+
424
+ ECSServiceRecommendationFindingReasonCodes.member = Shapes::ShapeRef.new(shape: ECSServiceRecommendationFindingReasonCode)
425
+
426
+ ECSServiceRecommendationOption.add_member(:memory, Shapes::ShapeRef.new(shape: NullableMemory, location_name: "memory"))
427
+ ECSServiceRecommendationOption.add_member(:cpu, Shapes::ShapeRef.new(shape: NullableCpu, location_name: "cpu"))
428
+ ECSServiceRecommendationOption.add_member(:savings_opportunity, Shapes::ShapeRef.new(shape: SavingsOpportunity, location_name: "savingsOpportunity"))
429
+ ECSServiceRecommendationOption.add_member(:projected_utilization_metrics, Shapes::ShapeRef.new(shape: ECSServiceProjectedUtilizationMetrics, location_name: "projectedUtilizationMetrics"))
430
+ ECSServiceRecommendationOption.add_member(:container_recommendations, Shapes::ShapeRef.new(shape: ContainerRecommendations, location_name: "containerRecommendations"))
431
+ ECSServiceRecommendationOption.struct_class = Types::ECSServiceRecommendationOption
432
+
433
+ ECSServiceRecommendationOptions.member = Shapes::ShapeRef.new(shape: ECSServiceRecommendationOption)
434
+
435
+ ECSServiceRecommendations.member = Shapes::ShapeRef.new(shape: ECSServiceRecommendation)
436
+
437
+ ECSServiceRecommendedOptionProjectedMetric.add_member(:recommended_cpu_units, Shapes::ShapeRef.new(shape: CpuSize, location_name: "recommendedCpuUnits"))
438
+ ECSServiceRecommendedOptionProjectedMetric.add_member(:recommended_memory_size, Shapes::ShapeRef.new(shape: MemorySize, location_name: "recommendedMemorySize"))
439
+ ECSServiceRecommendedOptionProjectedMetric.add_member(:projected_metrics, Shapes::ShapeRef.new(shape: ECSServiceProjectedMetrics, location_name: "projectedMetrics"))
440
+ ECSServiceRecommendedOptionProjectedMetric.struct_class = Types::ECSServiceRecommendedOptionProjectedMetric
441
+
442
+ ECSServiceRecommendedOptionProjectedMetrics.member = Shapes::ShapeRef.new(shape: ECSServiceRecommendedOptionProjectedMetric)
443
+
444
+ ECSServiceUtilizationMetric.add_member(:name, Shapes::ShapeRef.new(shape: ECSServiceMetricName, location_name: "name"))
445
+ ECSServiceUtilizationMetric.add_member(:statistic, Shapes::ShapeRef.new(shape: ECSServiceMetricStatistic, location_name: "statistic"))
446
+ ECSServiceUtilizationMetric.add_member(:value, Shapes::ShapeRef.new(shape: MetricValue, location_name: "value"))
447
+ ECSServiceUtilizationMetric.struct_class = Types::ECSServiceUtilizationMetric
448
+
449
+ ECSServiceUtilizationMetrics.member = Shapes::ShapeRef.new(shape: ECSServiceUtilizationMetric)
450
+
327
451
  EffectiveRecommendationPreferences.add_member(:cpu_vendor_architectures, Shapes::ShapeRef.new(shape: CpuVendorArchitectures, location_name: "cpuVendorArchitectures"))
328
452
  EffectiveRecommendationPreferences.add_member(:enhanced_infrastructure_metrics, Shapes::ShapeRef.new(shape: EnhancedInfrastructureMetrics, location_name: "enhancedInfrastructureMetrics"))
329
453
  EffectiveRecommendationPreferences.add_member(:inferred_workload_types, Shapes::ShapeRef.new(shape: InferredWorkloadTypesPreference, location_name: "inferredWorkloadTypes"))
454
+ EffectiveRecommendationPreferences.add_member(:external_metrics_preference, Shapes::ShapeRef.new(shape: ExternalMetricsPreference, location_name: "externalMetricsPreference"))
330
455
  EffectiveRecommendationPreferences.struct_class = Types::EffectiveRecommendationPreferences
331
456
 
332
457
  EnrollmentFilter.add_member(:name, Shapes::ShapeRef.new(shape: EnrollmentFilterName, location_name: "name"))
@@ -380,6 +505,18 @@ module Aws::ComputeOptimizer
380
505
  ExportEC2InstanceRecommendationsResponse.add_member(:s3_destination, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3Destination"))
381
506
  ExportEC2InstanceRecommendationsResponse.struct_class = Types::ExportEC2InstanceRecommendationsResponse
382
507
 
508
+ ExportECSServiceRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
509
+ ExportECSServiceRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: ECSServiceRecommendationFilters, location_name: "filters"))
510
+ ExportECSServiceRecommendationsRequest.add_member(:fields_to_export, Shapes::ShapeRef.new(shape: ExportableECSServiceFields, location_name: "fieldsToExport"))
511
+ ExportECSServiceRecommendationsRequest.add_member(:s3_destination_config, Shapes::ShapeRef.new(shape: S3DestinationConfig, required: true, location_name: "s3DestinationConfig"))
512
+ ExportECSServiceRecommendationsRequest.add_member(:file_format, Shapes::ShapeRef.new(shape: FileFormat, location_name: "fileFormat"))
513
+ ExportECSServiceRecommendationsRequest.add_member(:include_member_accounts, Shapes::ShapeRef.new(shape: IncludeMemberAccounts, location_name: "includeMemberAccounts"))
514
+ ExportECSServiceRecommendationsRequest.struct_class = Types::ExportECSServiceRecommendationsRequest
515
+
516
+ ExportECSServiceRecommendationsResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "jobId"))
517
+ ExportECSServiceRecommendationsResponse.add_member(:s3_destination, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3Destination"))
518
+ ExportECSServiceRecommendationsResponse.struct_class = Types::ExportECSServiceRecommendationsResponse
519
+
383
520
  ExportLambdaFunctionRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
384
521
  ExportLambdaFunctionRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: LambdaFunctionRecommendationFilters, location_name: "filters"))
385
522
  ExportLambdaFunctionRecommendationsRequest.add_member(:fields_to_export, Shapes::ShapeRef.new(shape: ExportableLambdaFunctionFields, location_name: "fieldsToExport"))
@@ -394,12 +531,17 @@ module Aws::ComputeOptimizer
394
531
 
395
532
  ExportableAutoScalingGroupFields.member = Shapes::ShapeRef.new(shape: ExportableAutoScalingGroupField)
396
533
 
534
+ ExportableECSServiceFields.member = Shapes::ShapeRef.new(shape: ExportableECSServiceField)
535
+
397
536
  ExportableInstanceFields.member = Shapes::ShapeRef.new(shape: ExportableInstanceField)
398
537
 
399
538
  ExportableLambdaFunctionFields.member = Shapes::ShapeRef.new(shape: ExportableLambdaFunctionField)
400
539
 
401
540
  ExportableVolumeFields.member = Shapes::ShapeRef.new(shape: ExportableVolumeField)
402
541
 
542
+ ExternalMetricsPreference.add_member(:source, Shapes::ShapeRef.new(shape: ExternalMetricsSource, location_name: "source"))
543
+ ExternalMetricsPreference.struct_class = Types::ExternalMetricsPreference
544
+
403
545
  Filter.add_member(:name, Shapes::ShapeRef.new(shape: FilterName, location_name: "name"))
404
546
  Filter.add_member(:values, Shapes::ShapeRef.new(shape: FilterValues, location_name: "values"))
405
547
  Filter.struct_class = Types::Filter
@@ -459,10 +601,33 @@ module Aws::ComputeOptimizer
459
601
  GetEC2RecommendationProjectedMetricsResponse.add_member(:recommended_option_projected_metrics, Shapes::ShapeRef.new(shape: RecommendedOptionProjectedMetrics, location_name: "recommendedOptionProjectedMetrics"))
460
602
  GetEC2RecommendationProjectedMetricsResponse.struct_class = Types::GetEC2RecommendationProjectedMetricsResponse
461
603
 
604
+ GetECSServiceRecommendationProjectedMetricsRequest.add_member(:service_arn, Shapes::ShapeRef.new(shape: ServiceArn, required: true, location_name: "serviceArn"))
605
+ GetECSServiceRecommendationProjectedMetricsRequest.add_member(:stat, Shapes::ShapeRef.new(shape: MetricStatistic, required: true, location_name: "stat"))
606
+ GetECSServiceRecommendationProjectedMetricsRequest.add_member(:period, Shapes::ShapeRef.new(shape: Period, required: true, location_name: "period"))
607
+ GetECSServiceRecommendationProjectedMetricsRequest.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "startTime"))
608
+ GetECSServiceRecommendationProjectedMetricsRequest.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "endTime"))
609
+ GetECSServiceRecommendationProjectedMetricsRequest.struct_class = Types::GetECSServiceRecommendationProjectedMetricsRequest
610
+
611
+ GetECSServiceRecommendationProjectedMetricsResponse.add_member(:recommended_option_projected_metrics, Shapes::ShapeRef.new(shape: ECSServiceRecommendedOptionProjectedMetrics, location_name: "recommendedOptionProjectedMetrics"))
612
+ GetECSServiceRecommendationProjectedMetricsResponse.struct_class = Types::GetECSServiceRecommendationProjectedMetricsResponse
613
+
614
+ GetECSServiceRecommendationsRequest.add_member(:service_arns, Shapes::ShapeRef.new(shape: ServiceArns, location_name: "serviceArns"))
615
+ GetECSServiceRecommendationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
616
+ GetECSServiceRecommendationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
617
+ GetECSServiceRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: ECSServiceRecommendationFilters, location_name: "filters"))
618
+ GetECSServiceRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
619
+ GetECSServiceRecommendationsRequest.struct_class = Types::GetECSServiceRecommendationsRequest
620
+
621
+ GetECSServiceRecommendationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
622
+ GetECSServiceRecommendationsResponse.add_member(:ecs_service_recommendations, Shapes::ShapeRef.new(shape: ECSServiceRecommendations, location_name: "ecsServiceRecommendations"))
623
+ GetECSServiceRecommendationsResponse.add_member(:errors, Shapes::ShapeRef.new(shape: GetRecommendationErrors, location_name: "errors"))
624
+ GetECSServiceRecommendationsResponse.struct_class = Types::GetECSServiceRecommendationsResponse
625
+
462
626
  GetEffectiveRecommendationPreferencesRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "resourceArn"))
463
627
  GetEffectiveRecommendationPreferencesRequest.struct_class = Types::GetEffectiveRecommendationPreferencesRequest
464
628
 
465
629
  GetEffectiveRecommendationPreferencesResponse.add_member(:enhanced_infrastructure_metrics, Shapes::ShapeRef.new(shape: EnhancedInfrastructureMetrics, location_name: "enhancedInfrastructureMetrics"))
630
+ GetEffectiveRecommendationPreferencesResponse.add_member(:external_metrics_preference, Shapes::ShapeRef.new(shape: ExternalMetricsPreference, location_name: "externalMetricsPreference"))
466
631
  GetEffectiveRecommendationPreferencesResponse.struct_class = Types::GetEffectiveRecommendationPreferencesResponse
467
632
 
468
633
  GetEnrollmentStatusRequest.struct_class = Types::GetEnrollmentStatusRequest
@@ -616,6 +781,10 @@ module Aws::ComputeOptimizer
616
781
  LimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
617
782
  LimitExceededException.struct_class = Types::LimitExceededException
618
783
 
784
+ MemorySizeConfiguration.add_member(:memory, Shapes::ShapeRef.new(shape: NullableMemory, location_name: "memory"))
785
+ MemorySizeConfiguration.add_member(:memory_reservation, Shapes::ShapeRef.new(shape: NullableMemoryReservation, location_name: "memoryReservation"))
786
+ MemorySizeConfiguration.struct_class = Types::MemorySizeConfiguration
787
+
619
788
  MetricValues.member = Shapes::ShapeRef.new(shape: MetricValue)
620
789
 
621
790
  MissingAuthenticationToken.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
@@ -639,6 +808,7 @@ module Aws::ComputeOptimizer
639
808
  PutRecommendationPreferencesRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scope, location_name: "scope"))
640
809
  PutRecommendationPreferencesRequest.add_member(:enhanced_infrastructure_metrics, Shapes::ShapeRef.new(shape: EnhancedInfrastructureMetrics, location_name: "enhancedInfrastructureMetrics"))
641
810
  PutRecommendationPreferencesRequest.add_member(:inferred_workload_types, Shapes::ShapeRef.new(shape: InferredWorkloadTypesPreference, location_name: "inferredWorkloadTypes"))
811
+ PutRecommendationPreferencesRequest.add_member(:external_metrics_preference, Shapes::ShapeRef.new(shape: ExternalMetricsPreference, location_name: "externalMetricsPreference"))
642
812
  PutRecommendationPreferencesRequest.struct_class = Types::PutRecommendationPreferencesRequest
643
813
 
644
814
  PutRecommendationPreferencesResponse.struct_class = Types::PutRecommendationPreferencesResponse
@@ -671,6 +841,7 @@ module Aws::ComputeOptimizer
671
841
  RecommendationPreferencesDetail.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "resourceType"))
672
842
  RecommendationPreferencesDetail.add_member(:enhanced_infrastructure_metrics, Shapes::ShapeRef.new(shape: EnhancedInfrastructureMetrics, location_name: "enhancedInfrastructureMetrics"))
673
843
  RecommendationPreferencesDetail.add_member(:inferred_workload_types, Shapes::ShapeRef.new(shape: InferredWorkloadTypesPreference, location_name: "inferredWorkloadTypes"))
844
+ RecommendationPreferencesDetail.add_member(:external_metrics_preference, Shapes::ShapeRef.new(shape: ExternalMetricsPreference, location_name: "externalMetricsPreference"))
674
845
  RecommendationPreferencesDetail.struct_class = Types::RecommendationPreferencesDetail
675
846
 
676
847
  RecommendationPreferencesDetails.member = Shapes::ShapeRef.new(shape: RecommendationPreferencesDetail)
@@ -717,6 +888,15 @@ module Aws::ComputeOptimizer
717
888
  Scope.add_member(:value, Shapes::ShapeRef.new(shape: ScopeValue, location_name: "value"))
718
889
  Scope.struct_class = Types::Scope
719
890
 
891
+ ServiceArns.member = Shapes::ShapeRef.new(shape: ServiceArn)
892
+
893
+ ServiceConfiguration.add_member(:memory, Shapes::ShapeRef.new(shape: NullableMemory, location_name: "memory"))
894
+ ServiceConfiguration.add_member(:cpu, Shapes::ShapeRef.new(shape: NullableCpu, location_name: "cpu"))
895
+ ServiceConfiguration.add_member(:container_configurations, Shapes::ShapeRef.new(shape: ContainerConfigurations, location_name: "containerConfigurations"))
896
+ ServiceConfiguration.add_member(:auto_scaling_configuration, Shapes::ShapeRef.new(shape: AutoScalingConfiguration, location_name: "autoScalingConfiguration"))
897
+ ServiceConfiguration.add_member(:task_definition_arn, Shapes::ShapeRef.new(shape: TaskDefinitionArn, location_name: "taskDefinitionArn"))
898
+ ServiceConfiguration.struct_class = Types::ServiceConfiguration
899
+
720
900
  ServiceUnavailableException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
721
901
  ServiceUnavailableException.struct_class = Types::ServiceUnavailableException
722
902
 
@@ -827,6 +1007,12 @@ module Aws::ComputeOptimizer
827
1007
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
828
1008
  o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
829
1009
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1010
+ o[:pager] = Aws::Pager.new(
1011
+ limit_key: "max_results",
1012
+ tokens: {
1013
+ "next_token" => "next_token"
1014
+ }
1015
+ )
830
1016
  end)
831
1017
 
832
1018
  api.add_operation(:export_auto_scaling_group_recommendations, Seahorse::Model::Operation.new.tap do |o|
@@ -877,6 +1063,22 @@ module Aws::ComputeOptimizer
877
1063
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
878
1064
  end)
879
1065
 
1066
+ api.add_operation(:export_ecs_service_recommendations, Seahorse::Model::Operation.new.tap do |o|
1067
+ o.name = "ExportECSServiceRecommendations"
1068
+ o.http_method = "POST"
1069
+ o.http_request_uri = "/"
1070
+ o.input = Shapes::ShapeRef.new(shape: ExportECSServiceRecommendationsRequest)
1071
+ o.output = Shapes::ShapeRef.new(shape: ExportECSServiceRecommendationsResponse)
1072
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
1073
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1074
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1075
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1076
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1077
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
1078
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1079
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1080
+ end)
1081
+
880
1082
  api.add_operation(:export_lambda_function_recommendations, Seahorse::Model::Operation.new.tap do |o|
881
1083
  o.name = "ExportLambdaFunctionRecommendations"
882
1084
  o.http_method = "POST"
@@ -957,6 +1159,38 @@ module Aws::ComputeOptimizer
957
1159
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
958
1160
  end)
959
1161
 
1162
+ api.add_operation(:get_ecs_service_recommendation_projected_metrics, Seahorse::Model::Operation.new.tap do |o|
1163
+ o.name = "GetECSServiceRecommendationProjectedMetrics"
1164
+ o.http_method = "POST"
1165
+ o.http_request_uri = "/"
1166
+ o.input = Shapes::ShapeRef.new(shape: GetECSServiceRecommendationProjectedMetricsRequest)
1167
+ o.output = Shapes::ShapeRef.new(shape: GetECSServiceRecommendationProjectedMetricsResponse)
1168
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
1169
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1170
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1171
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1172
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1173
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1174
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
1175
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1176
+ end)
1177
+
1178
+ api.add_operation(:get_ecs_service_recommendations, Seahorse::Model::Operation.new.tap do |o|
1179
+ o.name = "GetECSServiceRecommendations"
1180
+ o.http_method = "POST"
1181
+ o.http_request_uri = "/"
1182
+ o.input = Shapes::ShapeRef.new(shape: GetECSServiceRecommendationsRequest)
1183
+ o.output = Shapes::ShapeRef.new(shape: GetECSServiceRecommendationsResponse)
1184
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
1185
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1186
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1187
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1188
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1189
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1190
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
1191
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1192
+ end)
1193
+
960
1194
  api.add_operation(:get_effective_recommendation_preferences, Seahorse::Model::Operation.new.tap do |o|
961
1195
  o.name = "GetEffectiveRecommendationPreferences"
962
1196
  o.http_method = "POST"
@@ -999,6 +1233,12 @@ module Aws::ComputeOptimizer
999
1233
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1000
1234
  o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
1001
1235
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1236
+ o[:pager] = Aws::Pager.new(
1237
+ limit_key: "max_results",
1238
+ tokens: {
1239
+ "next_token" => "next_token"
1240
+ }
1241
+ )
1002
1242
  end)
1003
1243
 
1004
1244
  api.add_operation(:get_lambda_function_recommendations, Seahorse::Model::Operation.new.tap do |o|
@@ -1015,6 +1255,12 @@ module Aws::ComputeOptimizer
1015
1255
  o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
1016
1256
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1017
1257
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1258
+ o[:pager] = Aws::Pager.new(
1259
+ limit_key: "max_results",
1260
+ tokens: {
1261
+ "next_token" => "next_token"
1262
+ }
1263
+ )
1018
1264
  end)
1019
1265
 
1020
1266
  api.add_operation(:get_recommendation_preferences, Seahorse::Model::Operation.new.tap do |o|
@@ -1031,6 +1277,12 @@ module Aws::ComputeOptimizer
1031
1277
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1032
1278
  o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
1033
1279
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1280
+ o[:pager] = Aws::Pager.new(
1281
+ limit_key: "max_results",
1282
+ tokens: {
1283
+ "next_token" => "next_token"
1284
+ }
1285
+ )
1034
1286
  end)
1035
1287
 
1036
1288
  api.add_operation(:get_recommendation_summaries, Seahorse::Model::Operation.new.tap do |o|
@@ -1046,6 +1298,12 @@ module Aws::ComputeOptimizer
1046
1298
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1047
1299
  o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
1048
1300
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1301
+ o[:pager] = Aws::Pager.new(
1302
+ limit_key: "max_results",
1303
+ tokens: {
1304
+ "next_token" => "next_token"
1305
+ }
1306
+ )
1049
1307
  end)
1050
1308
 
1051
1309
  api.add_operation(:put_recommendation_preferences, Seahorse::Model::Operation.new.tap do |o|
@@ -50,6 +50,9 @@ module Aws::ComputeOptimizer
50
50
 
51
51
  def initialize(options = {})
52
52
  self[:region] = options[:region]
53
+ if self[:region].nil?
54
+ raise ArgumentError, "Missing required EndpointParameter: :region"
55
+ end
53
56
  self[:use_dual_stack] = options[:use_dual_stack]
54
57
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
58
  if self[:use_dual_stack].nil?
@@ -29,83 +29,82 @@ module Aws::ComputeOptimizer
29
29
  # @api private
30
30
  RULES = <<-JSON
31
31
  eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
- bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
33
- dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
34
- cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
35
- dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
36
- ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
37
- ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
38
- ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
39
- aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
40
- OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
41
- UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
42
- dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
43
- UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
44
- dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
45
- ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
46
- IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
47
- aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
48
- bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
49
- ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
50
- Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
51
- cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
52
- InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
53
- aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
54
- cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
55
- InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
56
- W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
57
- UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
58
- SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
59
- eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
60
- InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
61
- LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
62
- ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
63
- b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
64
- fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
65
- RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
66
- ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
67
- ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
68
- ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
69
- dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
70
- dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
71
- Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
72
- In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
73
- YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
74
- YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
75
- cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
76
- dCI6eyJ1cmwiOiJodHRwczovL2NvbXB1dGUtb3B0aW1pemVyLWZpcHMue1Jl
77
- Z2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9Iiwi
78
- cHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50
79
- In1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgYW5kIER1YWxT
80
- dGFjayBhcmUgZW5hYmxlZCwgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90
81
- IHN1cHBvcnQgb25lIG9yIGJvdGgiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29u
82
- ZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVm
83
- IjoiVXNlRklQUyJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7
84
- ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0
85
- cnVlLHsiZm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9u
86
- UmVzdWx0In0sInN1cHBvcnRzRklQUyJdfV19XSwidHlwZSI6InRyZWUiLCJy
87
- dWxlcyI6W3siY29uZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwicnVsZXMi
88
- Olt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczov
89
- L2NvbXB1dGUtb3B0aW1pemVyLWZpcHMue1JlZ2lvbn0ue1BhcnRpdGlvblJl
90
- c3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9
91
- fSwidHlwZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W10sImVy
92
- cm9yIjoiRklQUyBpcyBlbmFibGVkIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2Vz
93
- IG5vdCBzdXBwb3J0IEZJUFMiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0
32
+ bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOnRydWUsImRvY3VtZW50
33
+ YXRpb24iOiJUaGUgQVdTIHJlZ2lvbiB1c2VkIHRvIGRpc3BhdGNoIHRoZSBy
34
+ ZXF1ZXN0LiIsInR5cGUiOiJTdHJpbmcifSwiVXNlRHVhbFN0YWNrIjp7ImJ1
35
+ aWx0SW4iOiJBV1M6OlVzZUR1YWxTdGFjayIsInJlcXVpcmVkIjp0cnVlLCJk
36
+ ZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRhdGlvbiI6IldoZW4gdHJ1ZSwgdXNl
37
+ IHRoZSBkdWFsLXN0YWNrIGVuZHBvaW50LiBJZiB0aGUgY29uZmlndXJlZCBl
38
+ bmRwb2ludCBkb2VzIG5vdCBzdXBwb3J0IGR1YWwtc3RhY2ssIGRpc3BhdGNo
39
+ aW5nIHRoZSByZXF1ZXN0IE1BWSByZXR1cm4gYW4gZXJyb3IuIiwidHlwZSI6
40
+ IkJvb2xlYW4ifSwiVXNlRklQUyI6eyJidWlsdEluIjoiQVdTOjpVc2VGSVBT
41
+ IiwicmVxdWlyZWQiOnRydWUsImRlZmF1bHQiOmZhbHNlLCJkb2N1bWVudGF0
42
+ aW9uIjoiV2hlbiB0cnVlLCBzZW5kIHRoaXMgcmVxdWVzdCB0byB0aGUgRklQ
43
+ Uy1jb21wbGlhbnQgcmVnaW9uYWwgZW5kcG9pbnQuIElmIHRoZSBjb25maWd1
44
+ cmVkIGVuZHBvaW50IGRvZXMgbm90IGhhdmUgYSBGSVBTIGNvbXBsaWFudCBl
45
+ bmRwb2ludCwgZGlzcGF0Y2hpbmcgdGhlIHJlcXVlc3Qgd2lsbCByZXR1cm4g
46
+ YW4gZXJyb3IuIiwidHlwZSI6IkJvb2xlYW4ifSwiRW5kcG9pbnQiOnsiYnVp
47
+ bHRJbiI6IlNESzo6RW5kcG9pbnQiLCJyZXF1aXJlZCI6ZmFsc2UsImRvY3Vt
48
+ ZW50YXRpb24iOiJPdmVycmlkZSB0aGUgZW5kcG9pbnQgdXNlZCB0byBzZW5k
49
+ IHRoaXMgcmVxdWVzdCIsInR5cGUiOiJTdHJpbmcifX0sInJ1bGVzIjpbeyJj
50
+ b25kaXRpb25zIjpbeyJmbiI6ImF3cy5wYXJ0aXRpb24iLCJhcmd2IjpbeyJy
51
+ ZWYiOiJSZWdpb24ifV0sImFzc2lnbiI6IlBhcnRpdGlvblJlc3VsdCJ9XSwi
52
+ dHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4iOiJp
53
+ c1NldCIsImFyZ3YiOlt7InJlZiI6IkVuZHBvaW50In1dfV0sInR5cGUiOiJ0
54
+ cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVx
55
+ dWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJUFMifSx0cnVlXX1dLCJlcnJv
56
+ ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRklQUyBhbmQgY3VzdG9tIGVu
57
+ ZHBvaW50IGFyZSBub3Qgc3VwcG9ydGVkIiwidHlwZSI6ImVycm9yIn0seyJj
58
+ b25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
94
59
  aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoi
95
- VXNlRHVhbFN0YWNrIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6
96
- W3siY29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6
97
- W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRp
98
- b25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5cGUiOiJ0
99
- cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1
100
- cmwiOiJodHRwczovL2NvbXB1dGUtb3B0aW1pemVyLntSZWdpb259LntQYXJ0
101
- aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMi
102
- Ont9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25k
103
- aXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sgaXMgZW5hYmxlZCBidXQg
104
- dGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBEdWFsU3RhY2siLCJ0
105
- eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7
106
- InVybCI6Imh0dHBzOi8vY29tcHV0ZS1vcHRpbWl6ZXIue1JlZ2lvbn0ue1Bh
107
- cnRpdGlvblJlc3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhl
108
- YWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfV19
60
+ VXNlRHVhbFN0YWNrIn0sdHJ1ZV19XSwiZXJyb3IiOiJJbnZhbGlkIENvbmZp
61
+ Z3VyYXRpb246IER1YWxzdGFjayBhbmQgY3VzdG9tIGVuZHBvaW50IGFyZSBu
62
+ b3Qgc3VwcG9ydGVkIiwidHlwZSI6ImVycm9yIn0seyJjb25kaXRpb25zIjpb
63
+ XSwiZW5kcG9pbnQiOnsidXJsIjp7InJlZiI6IkVuZHBvaW50In0sInByb3Bl
64
+ cnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX1d
65
+ fSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3Yi
66
+ Olt7InJlZiI6IlVzZUZJUFMifSx0cnVlXX0seyJmbiI6ImJvb2xlYW5FcXVh
67
+ bHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJ0
68
+ eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJv
69
+ b2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFy
70
+ Z3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0ZJUFMi
71
+ XX1dfSx7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4i
72
+ OiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0s
73
+ InN1cHBvcnRzRHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVz
74
+ IjpbeyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6
75
+ Ly9jb21wdXRlLW9wdGltaXplci1maXBzLntSZWdpb259LntQYXJ0aXRpb25S
76
+ ZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJo
77
+ ZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRpb25z
78
+ IjpbXSwiZXJyb3IiOiJGSVBTIGFuZCBEdWFsU3RhY2sgYXJlIGVuYWJsZWQs
79
+ IGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IG9uZSBvciBi
80
+ b3RoIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
81
+ Ym9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJUFMifSx0cnVl
82
+ XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJm
83
+ biI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0
84
+ ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0
85
+ c0ZJUFMiXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlv
86
+ bnMiOltdLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpb
87
+ XSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9jb21wdXRlLW9wdGltaXpl
88
+ ci1maXBzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4fSIs
89
+ InByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2lu
90
+ dCJ9XX1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgaXMgZW5h
91
+ YmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBGSVBT
92
+ IiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9v
93
+ bGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9LHRy
94
+ dWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7
95
+ ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJnZXRB
96
+ dHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1cHBv
97
+ cnRzRHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJj
98
+ b25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9jb21w
99
+ dXRlLW9wdGltaXplci57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2R1YWxT
100
+ dGFja0Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319
101
+ LCJ0eXBlIjoiZW5kcG9pbnQifV19LHsiY29uZGl0aW9ucyI6W10sImVycm9y
102
+ IjoiRHVhbFN0YWNrIGlzIGVuYWJsZWQgYnV0IHRoaXMgcGFydGl0aW9uIGRv
103
+ ZXMgbm90IHN1cHBvcnQgRHVhbFN0YWNrIiwidHlwZSI6ImVycm9yIn1dfSx7
104
+ ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL2Nv
105
+ bXB1dGUtb3B0aW1pemVyLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZG5z
106
+ U3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUi
107
+ OiJlbmRwb2ludCJ9XX1dfQ==
109
108
 
110
109
  JSON
111
110
  end