aws-sdk-computeoptimizer 1.34.0 → 1.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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