aws-sdk-cloudwatch 1.67.0 → 1.69.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 77aa43f9ac7f6a446224746c7bf4d2f71c4d8aa8c5a209fe0e0eaa40d6e9613a
4
- data.tar.gz: 0f5e736cc4731e3ccd81db6b9ecd4e0743e8b517f8143006623cdda22694e013
3
+ metadata.gz: f87924964c2cfaf2682c68eaee5b97e974cac3c6ed450071ba31e5513a636a28
4
+ data.tar.gz: 0cf2c4d9f1287382c7bff3f63e63e523abeb5c9beeb3074e46463ecbe3b0da4f
5
5
  SHA512:
6
- metadata.gz: 5e392ee3e4e164dcb0bd7bbb1ab240cbb90a93de990a04012905488e0a8c6e250a5a635734df7ecfd9c922b3a300307079648729298fb78d4ffc4340ff24cfd1
7
- data.tar.gz: f814e4b8fb78aebfe9e72e872858653a6b9e25d6c08c0d409caf8ea44185c22e697eaa22f10947bc4ebc6e111c8a07e4e863ea07518a91794d1b98487a927974
6
+ metadata.gz: a33ba6949fea82d1387a8a4ac41e1c0eda31119fb7cc72be5cb12c8bacc8b834a92c3be40c91e8a1e06f47fa7428f988eaaecf43950e7da7f5c2d20eddf77cdc
7
+ data.tar.gz: ad59c5669328545e20fcfd1a666a98085a0666ef4ff48146045f42b13b3e226e944b0a0e3c24222465b672bb219b4b4e69fab1e5093b3ca964d1ac5d480d9468
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.69.0 (2022-11-28)
5
+ ------------------
6
+
7
+ * Feature - Adds cross-account support to the GetMetricData API. Adds cross-account support to the ListMetrics API through the usage of the IncludeLinkedAccounts flag and the new OwningAccounts field.
8
+
9
+ 1.68.0 (2022-10-25)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.67.0 (2022-08-18)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.67.0
1
+ 1.69.0
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/signature_v4.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
34
  require 'aws-sdk-core/plugins/protocols/query.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:cloudwatch)
@@ -79,8 +79,9 @@ module Aws::CloudWatch
79
79
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
81
  add_plugin(Aws::Plugins::RecursionDetection)
82
- add_plugin(Aws::Plugins::SignatureV4)
82
+ add_plugin(Aws::Plugins::Sign)
83
83
  add_plugin(Aws::Plugins::Protocols::Query)
84
+ add_plugin(Aws::CloudWatch::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -287,6 +288,19 @@ module Aws::CloudWatch
287
288
  # ** Please note ** When response stubbing is enabled, no HTTP
288
289
  # requests are made, and retries are disabled.
289
290
  #
291
+ # @option options [Aws::TokenProvider] :token_provider
292
+ # A Bearer Token Provider. This can be an instance of any one of the
293
+ # following classes:
294
+ #
295
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
296
+ # tokens.
297
+ #
298
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
299
+ # access token generated from `aws login`.
300
+ #
301
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
302
+ # will be used to search for tokens configured for your profile in shared configuration files.
303
+ #
290
304
  # @option options [Boolean] :use_dualstack_endpoint
291
305
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
292
306
  # will be used if available.
@@ -300,6 +314,9 @@ module Aws::CloudWatch
300
314
  # When `true`, request parameters are validated before
301
315
  # sending the request.
302
316
  #
317
+ # @option options [Aws::CloudWatch::EndpointProvider] :endpoint_provider
318
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::CloudWatch::EndpointParameters`
319
+ #
303
320
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
304
321
  # requests through. Formatted like 'http://proxy.com:123'.
305
322
  #
@@ -370,7 +387,7 @@ module Aws::CloudWatch
370
387
  # the rule of one of the composite alarms in the cycle to remove a
371
388
  # dependency that creates the cycle. The simplest change to make to
372
389
  # break a cycle is to change the `AlarmRule` of one of the alarms to
373
- # `False`.
390
+ # `false`.
374
391
  #
375
392
  # Additionally, the evaluation of composite alarms stops if CloudWatch
376
393
  # detects a cycle in the evaluation path.
@@ -1663,7 +1680,7 @@ module Aws::CloudWatch
1663
1680
  # resp.metric_data_results[0].timestamps[0] #=> Time
1664
1681
  # resp.metric_data_results[0].values #=> Array
1665
1682
  # resp.metric_data_results[0].values[0] #=> Float
1666
- # resp.metric_data_results[0].status_code #=> String, one of "Complete", "InternalError", "PartialData"
1683
+ # resp.metric_data_results[0].status_code #=> String, one of "Complete", "InternalError", "PartialData", "Forbidden"
1667
1684
  # resp.metric_data_results[0].messages #=> Array
1668
1685
  # resp.metric_data_results[0].messages[0].code #=> String
1669
1686
  # resp.metric_data_results[0].messages[0].value #=> String
@@ -2187,15 +2204,20 @@ module Aws::CloudWatch
2187
2204
  end
2188
2205
 
2189
2206
  # List the specified metrics. You can use the returned metrics with
2190
- # [GetMetricData][1] or [GetMetricStatistics][2] to obtain statistical
2207
+ # [GetMetricData][1] or [GetMetricStatistics][2] to get statistical
2191
2208
  # data.
2192
2209
  #
2193
2210
  # Up to 500 results are returned for any one call. To retrieve
2194
2211
  # additional results, use the returned token with subsequent calls.
2195
2212
  #
2196
- # After you create a metric, allow up to 15 minutes before the metric
2197
- # appears. You can see statistics about the metric sooner by using
2198
- # [GetMetricData][1] or [GetMetricStatistics][2].
2213
+ # After you create a metric, allow up to 15 minutes for the metric to
2214
+ # appear. To see metric statistics sooner, use [GetMetricData][1] or
2215
+ # [GetMetricStatistics][2].
2216
+ #
2217
+ # If you are using CloudWatch cross-account observability, you can use
2218
+ # this operation in a monitoring account and view metrics from the
2219
+ # linked source accounts. For more information, see [CloudWatch
2220
+ # cross-account observability][3].
2199
2221
  #
2200
2222
  # `ListMetrics` doesn't return information about metrics if those
2201
2223
  # metrics haven't reported data in the past two weeks. To retrieve
@@ -2205,6 +2227,7 @@ module Aws::CloudWatch
2205
2227
  #
2206
2228
  # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html
2207
2229
  # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html
2230
+ # [3]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html
2208
2231
  #
2209
2232
  # @option params [String] :namespace
2210
2233
  # The metric namespace to filter against. Only the namespace that
@@ -2232,10 +2255,23 @@ module Aws::CloudWatch
2232
2255
  # metrics with last published data as much as 40 minutes more than the
2233
2256
  # specified time interval.
2234
2257
  #
2258
+ # @option params [Boolean] :include_linked_accounts
2259
+ # If you are using this operation in a monitoring account, specify
2260
+ # `true` to include metrics from source accounts in the returned data.
2261
+ #
2262
+ # The default is `false`.
2263
+ #
2264
+ # @option params [String] :owning_account
2265
+ # When you use this operation in a monitoring account, use this field to
2266
+ # return metrics only from one source account. To do so, specify that
2267
+ # source account ID in this field, and also specify `true` for
2268
+ # `IncludeLinkedAccounts`.
2269
+ #
2235
2270
  # @return [Types::ListMetricsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2236
2271
  #
2237
2272
  # * {Types::ListMetricsOutput#metrics #metrics} => Array<Types::Metric>
2238
2273
  # * {Types::ListMetricsOutput#next_token #next_token} => String
2274
+ # * {Types::ListMetricsOutput#owning_accounts #owning_accounts} => Array<String>
2239
2275
  #
2240
2276
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2241
2277
  #
@@ -2252,6 +2288,8 @@ module Aws::CloudWatch
2252
2288
  # ],
2253
2289
  # next_token: "NextToken",
2254
2290
  # recently_active: "PT3H", # accepts PT3H
2291
+ # include_linked_accounts: false,
2292
+ # owning_account: "AccountId",
2255
2293
  # })
2256
2294
  #
2257
2295
  # @example Response structure
@@ -2263,6 +2301,8 @@ module Aws::CloudWatch
2263
2301
  # resp.metrics[0].dimensions[0].name #=> String
2264
2302
  # resp.metrics[0].dimensions[0].value #=> String
2265
2303
  # resp.next_token #=> String
2304
+ # resp.owning_accounts #=> Array
2305
+ # resp.owning_accounts[0] #=> String
2266
2306
  #
2267
2307
  # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListMetrics AWS API Documentation
2268
2308
  #
@@ -2491,7 +2531,7 @@ module Aws::CloudWatch
2491
2531
  # the rule of one of the composite alarms in the cycle to remove a
2492
2532
  # dependency that creates the cycle. The simplest change to make to
2493
2533
  # break a cycle is to change the `AlarmRule` of one of the alarms to
2494
- # `False`.
2534
+ # `false`.
2495
2535
  #
2496
2536
  # Additionally, the evaluation of composite alarms stops if CloudWatch
2497
2537
  # detects a cycle in the evaluation path.
@@ -3366,12 +3406,12 @@ module Aws::CloudWatch
3366
3406
  end
3367
3407
 
3368
3408
  # Creates or updates a metric stream. Metric streams can automatically
3369
- # stream CloudWatch metrics to Amazon Web Services destinations
3370
- # including Amazon S3 and to many third-party solutions.
3409
+ # stream CloudWatch metrics to Amazon Web Services destinations,
3410
+ # including Amazon S3, and to many third-party solutions.
3371
3411
  #
3372
3412
  # For more information, see [ Using Metric Streams][1].
3373
3413
  #
3374
- # To create a metric stream, you must be logged on to an account that
3414
+ # To create a metric stream, you must be signed in to an account that
3375
3415
  # has the `iam:PassRole` permission and either the
3376
3416
  # `CloudWatchFullAccess` policy or the `cloudwatch:PutMetricStream`
3377
3417
  # permission.
@@ -3390,7 +3430,7 @@ module Aws::CloudWatch
3390
3430
  # By default, a metric stream always sends the `MAX`, `MIN`, `SUM`, and
3391
3431
  # `SAMPLECOUNT` statistics for each metric that is streamed. You can use
3392
3432
  # the `StatisticsConfigurations` parameter to have the metric stream
3393
- # also send additional statistics in the stream. Streaming additional
3433
+ # send additional statistics in the stream. Streaming additional
3394
3434
  # statistics incurs additional costs. For more information, see [Amazon
3395
3435
  # CloudWatch Pricing][2].
3396
3436
  #
@@ -3428,15 +3468,16 @@ module Aws::CloudWatch
3428
3468
  # operation.
3429
3469
  #
3430
3470
  # @option params [required, String] :firehose_arn
3431
- # The ARN of the Amazon Kinesis Firehose delivery stream to use for this
3432
- # metric stream. This Amazon Kinesis Firehose delivery stream must
3433
- # already exist and must be in the same account as the metric stream.
3471
+ # The ARN of the Amazon Kinesis Data Firehose delivery stream to use for
3472
+ # this metric stream. This Amazon Kinesis Data Firehose delivery stream
3473
+ # must already exist and must be in the same account as the metric
3474
+ # stream.
3434
3475
  #
3435
3476
  # @option params [required, String] :role_arn
3436
3477
  # The ARN of an IAM role that this metric stream will use to access
3437
- # Amazon Kinesis Firehose resources. This IAM role must already exist
3438
- # and must be in the same account as the metric stream. This IAM role
3439
- # must include the following permissions:
3478
+ # Amazon Kinesis Data Firehose resources. This IAM role must already
3479
+ # exist and must be in the same account as the metric stream. This IAM
3480
+ # role must include the following permissions:
3440
3481
  #
3441
3482
  # * firehose:PutRecord
3442
3483
  #
@@ -3483,7 +3524,7 @@ module Aws::CloudWatch
3483
3524
  # additional statistic that is supported by CloudWatch, listed in [
3484
3525
  # CloudWatch statistics definitions][1]. If the `OutputFormat` is
3485
3526
  # `opentelemetry0.7`, you can stream percentile statistics such as p95,
3486
- # p99.9 and so on.
3527
+ # p99.9, and so on.
3487
3528
  #
3488
3529
  #
3489
3530
  #
@@ -3772,7 +3813,7 @@ module Aws::CloudWatch
3772
3813
  params: params,
3773
3814
  config: config)
3774
3815
  context[:gem_name] = 'aws-sdk-cloudwatch'
3775
- context[:gem_version] = '1.67.0'
3816
+ context[:gem_version] = '1.69.0'
3776
3817
  Seahorse::Client::Request.new(handlers, context)
3777
3818
  end
3778
3819
 
@@ -122,6 +122,7 @@ module Aws::CloudWatch
122
122
  HistoryData = Shapes::StringShape.new(name: 'HistoryData')
123
123
  HistoryItemType = Shapes::StringShape.new(name: 'HistoryItemType')
124
124
  HistorySummary = Shapes::StringShape.new(name: 'HistorySummary')
125
+ IncludeLinkedAccounts = Shapes::BooleanShape.new(name: 'IncludeLinkedAccounts')
125
126
  InsightRule = Shapes::StructureShape.new(name: 'InsightRule')
126
127
  InsightRuleAggregationStatistic = Shapes::StringShape.new(name: 'InsightRuleAggregationStatistic')
127
128
  InsightRuleContributor = Shapes::StructureShape.new(name: 'InsightRuleContributor')
@@ -216,6 +217,7 @@ module Aws::CloudWatch
216
217
  Namespace = Shapes::StringShape.new(name: 'Namespace')
217
218
  NextToken = Shapes::StringShape.new(name: 'NextToken')
218
219
  OutputFormat = Shapes::StringShape.new(name: 'OutputFormat')
220
+ OwningAccounts = Shapes::ListShape.new(name: 'OwningAccounts')
219
221
  PartialFailure = Shapes::StructureShape.new(name: 'PartialFailure')
220
222
  Period = Shapes::IntegerShape.new(name: 'Period')
221
223
  PutAnomalyDetectorInput = Shapes::StructureShape.new(name: 'PutAnomalyDetectorInput')
@@ -673,10 +675,13 @@ module Aws::CloudWatch
673
675
  ListMetricsInput.add_member(:dimensions, Shapes::ShapeRef.new(shape: DimensionFilters, location_name: "Dimensions"))
674
676
  ListMetricsInput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
675
677
  ListMetricsInput.add_member(:recently_active, Shapes::ShapeRef.new(shape: RecentlyActive, location_name: "RecentlyActive"))
678
+ ListMetricsInput.add_member(:include_linked_accounts, Shapes::ShapeRef.new(shape: IncludeLinkedAccounts, location_name: "IncludeLinkedAccounts"))
679
+ ListMetricsInput.add_member(:owning_account, Shapes::ShapeRef.new(shape: AccountId, location_name: "OwningAccount"))
676
680
  ListMetricsInput.struct_class = Types::ListMetricsInput
677
681
 
678
682
  ListMetricsOutput.add_member(:metrics, Shapes::ShapeRef.new(shape: Metrics, location_name: "Metrics"))
679
683
  ListMetricsOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
684
+ ListMetricsOutput.add_member(:owning_accounts, Shapes::ShapeRef.new(shape: OwningAccounts, location_name: "OwningAccounts"))
680
685
  ListMetricsOutput.struct_class = Types::ListMetricsOutput
681
686
 
682
687
  ListTagsForResourceInput.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, required: true, location_name: "ResourceARN"))
@@ -825,6 +830,8 @@ module Aws::CloudWatch
825
830
  MissingRequiredParameterException.add_member(:message, Shapes::ShapeRef.new(shape: AwsQueryErrorMessage, location_name: "message"))
826
831
  MissingRequiredParameterException.struct_class = Types::MissingRequiredParameterException
827
832
 
833
+ OwningAccounts.member = Shapes::ShapeRef.new(shape: AccountId)
834
+
828
835
  PartialFailure.add_member(:failure_resource, Shapes::ShapeRef.new(shape: FailureResource, location_name: "FailureResource"))
829
836
  PartialFailure.add_member(:exception_type, Shapes::ShapeRef.new(shape: ExceptionType, location_name: "ExceptionType"))
830
837
  PartialFailure.add_member(:failure_code, Shapes::ShapeRef.new(shape: FailureCode, location_name: "FailureCode"))
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::CloudWatch
11
+ # Endpoint parameters used to influence endpoints per request.
12
+ #
13
+ # @!attribute region
14
+ # The AWS region used to dispatch the request.
15
+ #
16
+ # @return [String]
17
+ #
18
+ # @!attribute use_dual_stack
19
+ # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
+ #
21
+ # @return [Boolean]
22
+ #
23
+ # @!attribute use_fips
24
+ # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
25
+ #
26
+ # @return [Boolean]
27
+ #
28
+ # @!attribute endpoint
29
+ # Override the endpoint used to send this request
30
+ #
31
+ # @return [String]
32
+ #
33
+ EndpointParameters = Struct.new(
34
+ :region,
35
+ :use_dual_stack,
36
+ :use_fips,
37
+ :endpoint,
38
+ ) do
39
+ include Aws::Structure
40
+
41
+ # @api private
42
+ class << self
43
+ PARAM_MAP = {
44
+ 'Region' => :region,
45
+ 'UseDualStack' => :use_dual_stack,
46
+ 'UseFIPS' => :use_fips,
47
+ 'Endpoint' => :endpoint,
48
+ }.freeze
49
+ end
50
+
51
+ def initialize(options = {})
52
+ self[:region] = options[:region]
53
+ self[:use_dual_stack] = options[:use_dual_stack]
54
+ self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
+ if self[:use_dual_stack].nil?
56
+ raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
+ end
58
+ self[:use_fips] = options[:use_fips]
59
+ self[:use_fips] = false if self[:use_fips].nil?
60
+ if self[:use_fips].nil?
61
+ raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
+ end
63
+ self[:endpoint] = options[:endpoint]
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,117 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::CloudWatch
11
+ class EndpointProvider
12
+ def initialize(rule_set = nil)
13
+ @@rule_set ||= begin
14
+ endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
15
+ Aws::Endpoints::RuleSet.new(
16
+ version: endpoint_rules['version'],
17
+ service_id: endpoint_rules['serviceId'],
18
+ parameters: endpoint_rules['parameters'],
19
+ rules: endpoint_rules['rules']
20
+ )
21
+ end
22
+ @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
+ end
24
+
25
+ def resolve_endpoint(parameters)
26
+ @provider.resolve_endpoint(parameters)
27
+ end
28
+
29
+ # @api private
30
+ RULES = <<-JSON
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
+ dCI6eyJ1cmwiOiJodHRwczovL21vbml0b3JpbmctZmlwcy57UmVnaW9ufS57
77
+ UGFydGl0aW9uUmVzdWx0I2R1YWxTdGFja0Ruc1N1ZmZpeH0iLCJwcm9wZXJ0
78
+ aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19LHsi
79
+ Y29uZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBhbmQgRHVhbFN0YWNrIGFy
80
+ ZSBlbmFibGVkLCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9y
81
+ dCBvbmUgb3IgYm90aCIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25z
82
+ IjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VG
83
+ SVBTIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
84
+ aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJm
85
+ biI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQi
86
+ fSwic3VwcG9ydHNGSVBTIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpb
87
+ eyJjb25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29u
88
+ ZGl0aW9ucyI6W3siZm4iOiJzdHJpbmdFcXVhbHMiLCJhcmd2IjpbImF3cy11
89
+ cy1nb3YiLHsiZm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0
90
+ aW9uUmVzdWx0In0sIm5hbWUiXX1dfV0sImVuZHBvaW50Ijp7InVybCI6Imh0
91
+ dHBzOi8vbW9uaXRvcmluZy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ru
92
+ c1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBl
93
+ IjoiZW5kcG9pbnQifSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1
94
+ cmwiOiJodHRwczovL21vbml0b3JpbmctZmlwcy57UmVnaW9ufS57UGFydGl0
95
+ aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVy
96
+ cyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0seyJjb25kaXRpb25zIjpb
97
+ XSwiZXJyb3IiOiJGSVBTIGlzIGVuYWJsZWQgYnV0IHRoaXMgcGFydGl0aW9u
98
+ IGRvZXMgbm90IHN1cHBvcnQgRklQUyIsInR5cGUiOiJlcnJvciJ9XX0seyJj
99
+ b25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJy
100
+ ZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJ0eXBlIjoidHJlZSIsInJ1
101
+ bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJh
102
+ cmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBh
103
+ cnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0R1YWxTdGFjayJdfV19XSwidHlw
104
+ ZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W10sImVuZHBvaW50
105
+ Ijp7InVybCI6Imh0dHBzOi8vbW9uaXRvcmluZy57UmVnaW9ufS57UGFydGl0
106
+ aW9uUmVzdWx0I2R1YWxTdGFja0Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7
107
+ fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19LHsiY29uZGl0
108
+ aW9ucyI6W10sImVycm9yIjoiRHVhbFN0YWNrIGlzIGVuYWJsZWQgYnV0IHRo
109
+ aXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgRHVhbFN0YWNrIiwidHlw
110
+ ZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1
111
+ cmwiOiJodHRwczovL21vbml0b3Jpbmcue1JlZ2lvbn0ue1BhcnRpdGlvblJl
112
+ c3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9
113
+ fSwidHlwZSI6ImVuZHBvaW50In1dfV19
114
+
115
+ JSON
116
+ end
117
+ end