aws-sdk-workspaces 1.72.0 → 1.74.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2c91c7db4285863209bd00670cc0fd06d75166350bfb09ff4fc2c541f7e060b3
4
- data.tar.gz: 4844ade3c37b6fbaf184a5268bdabb2fb2dea0cec1dcaf44f9c44a0f9fe6d4b2
3
+ metadata.gz: e6ba8f1e12224fc00cdbd06e6fde6e96900ff99c3a8df3f2b4870a35fd0ecafb
4
+ data.tar.gz: 6955ec9309db91f398e9a76ca38b8f51679bac811caaed5546d5b81718237c32
5
5
  SHA512:
6
- metadata.gz: 2a7b0339c0538fa6ac5533054e4e2496807c11b51ead7aed9e55c62895fbcae5c8ba858e2f7af291c062f5bb5e9f83049d8876ca3201ff2fe9fecbb984876954
7
- data.tar.gz: c94915077d8b24ae8086291a670967de543c63d0bbdb8393bd39ba3052a7f0d50de10d825275eaf49f3fa1c7f2ef7520f95a1f794d94c513e123ce036b54936e
6
+ metadata.gz: f026274f0ad8c4870f42611d8c42cd09433b68cb5d5051d1712e1c1bac43a9e304219e4c8fcb530d7e42d46ab1242ce3e01c7ac6d6c9958f32337d7ac32f0e14
7
+ data.tar.gz: 115cadc1b60277ae62c98256cf6b6f9e7b6a429b1880a1f58dbe0b747c2dab1ac28f40081d900375a49e2a9fc7bab5070f6167cb14f1286db9a8a44058748d35
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.74.0 (2022-10-25)
5
+ ------------------
6
+
7
+ * Feature - This release adds new enums for supporting Workspaces Core features, including creating Manual running mode workspaces, importing regular Workspaces Core images and importing g4dn Workspaces Core images.
8
+
9
+ 1.73.0 (2022-09-29)
10
+ ------------------
11
+
12
+ * Feature - This release includes diagnostic log uploading feature. If it is enabled, the log files of WorkSpaces Windows client will be sent to Amazon WorkSpaces automatically for troubleshooting. You can use modifyClientProperty api to enable/disable this feature.
13
+
4
14
  1.72.0 (2022-08-01)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.72.0
1
+ 1.74.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/json_rpc.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:workspaces)
@@ -79,8 +79,9 @@ module Aws::WorkSpaces
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::JsonRpc)
84
+ add_plugin(Aws::WorkSpaces::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -297,6 +298,19 @@ module Aws::WorkSpaces
297
298
  # ** Please note ** When response stubbing is enabled, no HTTP
298
299
  # requests are made, and retries are disabled.
299
300
  #
301
+ # @option options [Aws::TokenProvider] :token_provider
302
+ # A Bearer Token Provider. This can be an instance of any one of the
303
+ # following classes:
304
+ #
305
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
306
+ # tokens.
307
+ #
308
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
309
+ # access token generated from `aws login`.
310
+ #
311
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
312
+ # will be used to search for tokens configured for your profile in shared configuration files.
313
+ #
300
314
  # @option options [Boolean] :use_dualstack_endpoint
301
315
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
302
316
  # will be used if available.
@@ -310,6 +324,9 @@ module Aws::WorkSpaces
310
324
  # When `true`, request parameters are validated before
311
325
  # sending the request.
312
326
  #
327
+ # @option options [Aws::WorkSpaces::EndpointProvider] :endpoint_provider
328
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::WorkSpaces::EndpointParameters`
329
+ #
313
330
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
314
331
  # requests through. Formatted like 'http://proxy.com:123'.
315
332
  #
@@ -947,6 +964,16 @@ module Aws::WorkSpaces
947
964
  # This operation is asynchronous and returns before the WorkSpaces are
948
965
  # created.
949
966
  #
967
+ # <note markdown="1"> The `MANUAL` running mode value is only supported by Amazon WorkSpaces
968
+ # Core. Contact your account team to be allow-listed to use this value.
969
+ # For more information, see [Amazon WorkSpaces Core][1].
970
+ #
971
+ # </note>
972
+ #
973
+ #
974
+ #
975
+ # [1]: http://aws.amazon.com/workspaces/core/
976
+ #
950
977
  # @option params [required, Array<Types::WorkspaceRequest>] :workspaces
951
978
  # The WorkSpaces to create. You can specify up to 25 WorkSpaces.
952
979
  #
@@ -967,7 +994,7 @@ module Aws::WorkSpaces
967
994
  # user_volume_encryption_enabled: false,
968
995
  # root_volume_encryption_enabled: false,
969
996
  # workspace_properties: {
970
- # running_mode: "AUTO_STOP", # accepts AUTO_STOP, ALWAYS_ON
997
+ # running_mode: "AUTO_STOP", # accepts AUTO_STOP, ALWAYS_ON, MANUAL
971
998
  # running_mode_auto_stop_timeout_in_minutes: 1,
972
999
  # root_volume_size_gib: 1,
973
1000
  # user_volume_size_gib: 1,
@@ -992,7 +1019,7 @@ module Aws::WorkSpaces
992
1019
  # resp.failed_requests[0].workspace_request.volume_encryption_key #=> String
993
1020
  # resp.failed_requests[0].workspace_request.user_volume_encryption_enabled #=> Boolean
994
1021
  # resp.failed_requests[0].workspace_request.root_volume_encryption_enabled #=> Boolean
995
- # resp.failed_requests[0].workspace_request.workspace_properties.running_mode #=> String, one of "AUTO_STOP", "ALWAYS_ON"
1022
+ # resp.failed_requests[0].workspace_request.workspace_properties.running_mode #=> String, one of "AUTO_STOP", "ALWAYS_ON", "MANUAL"
996
1023
  # resp.failed_requests[0].workspace_request.workspace_properties.running_mode_auto_stop_timeout_in_minutes #=> Integer
997
1024
  # resp.failed_requests[0].workspace_request.workspace_properties.root_volume_size_gib #=> Integer
998
1025
  # resp.failed_requests[0].workspace_request.workspace_properties.user_volume_size_gib #=> Integer
@@ -1016,7 +1043,7 @@ module Aws::WorkSpaces
1016
1043
  # resp.pending_requests[0].volume_encryption_key #=> String
1017
1044
  # resp.pending_requests[0].user_volume_encryption_enabled #=> Boolean
1018
1045
  # resp.pending_requests[0].root_volume_encryption_enabled #=> Boolean
1019
- # resp.pending_requests[0].workspace_properties.running_mode #=> String, one of "AUTO_STOP", "ALWAYS_ON"
1046
+ # resp.pending_requests[0].workspace_properties.running_mode #=> String, one of "AUTO_STOP", "ALWAYS_ON", "MANUAL"
1020
1047
  # resp.pending_requests[0].workspace_properties.running_mode_auto_stop_timeout_in_minutes #=> Integer
1021
1048
  # resp.pending_requests[0].workspace_properties.root_volume_size_gib #=> Integer
1022
1049
  # resp.pending_requests[0].workspace_properties.user_volume_size_gib #=> Integer
@@ -1451,6 +1478,7 @@ module Aws::WorkSpaces
1451
1478
  # resp.client_properties_list #=> Array
1452
1479
  # resp.client_properties_list[0].resource_id #=> String
1453
1480
  # resp.client_properties_list[0].client_properties.reconnect_enabled #=> String, one of "ENABLED", "DISABLED"
1481
+ # resp.client_properties_list[0].client_properties.log_upload_enabled #=> String, one of "ENABLED", "DISABLED"
1454
1482
  #
1455
1483
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeClientProperties AWS API Documentation
1456
1484
  #
@@ -2031,7 +2059,7 @@ module Aws::WorkSpaces
2031
2059
  # resp.workspaces[0].volume_encryption_key #=> String
2032
2060
  # resp.workspaces[0].user_volume_encryption_enabled #=> Boolean
2033
2061
  # resp.workspaces[0].root_volume_encryption_enabled #=> Boolean
2034
- # resp.workspaces[0].workspace_properties.running_mode #=> String, one of "AUTO_STOP", "ALWAYS_ON"
2062
+ # resp.workspaces[0].workspace_properties.running_mode #=> String, one of "AUTO_STOP", "ALWAYS_ON", "MANUAL"
2035
2063
  # resp.workspaces[0].workspace_properties.running_mode_auto_stop_timeout_in_minutes #=> Integer
2036
2064
  # resp.workspaces[0].workspace_properties.root_volume_size_gib #=> Integer
2037
2065
  # resp.workspaces[0].workspace_properties.user_volume_size_gib #=> Integer
@@ -2320,11 +2348,12 @@ module Aws::WorkSpaces
2320
2348
  req.send_request(options)
2321
2349
  end
2322
2350
 
2323
- # Imports the specified Windows 10 Bring Your Own License (BYOL) image
2324
- # into Amazon WorkSpaces. The image must be an already licensed Amazon
2325
- # EC2 image that is in your Amazon Web Services account, and you must
2326
- # own the image. For more information about creating BYOL images, see [
2327
- # Bring Your Own Windows Desktop Licenses][1].
2351
+ # Imports the specified Windows 10 Bring Your Own License (BYOL) or
2352
+ # Windows Server 2016 BYOL image into Amazon WorkSpaces. The image must
2353
+ # be an already licensed Amazon EC2 image that is in your Amazon Web
2354
+ # Services account, and you must own the image. For more information
2355
+ # about creating BYOL images, see [ Bring Your Own Windows Desktop
2356
+ # Licenses][1].
2328
2357
  #
2329
2358
  #
2330
2359
  #
@@ -2336,13 +2365,25 @@ module Aws::WorkSpaces
2336
2365
  # @option params [required, String] :ingestion_process
2337
2366
  # The ingestion process to be used when importing the image, depending
2338
2367
  # on which protocol you want to use for your BYOL Workspace image,
2339
- # either PCoIP or WorkSpaces Streaming Protocol (WSP). To use WSP,
2340
- # specify a value that ends in `_WSP`. To use PCoIP, specify a value
2341
- # that does not end in `_WSP`.
2368
+ # either PCoIP, WorkSpaces Streaming Protocol (WSP), or bring your own
2369
+ # protocol (BYOP). To use WSP, specify a value that ends in `_WSP`. To
2370
+ # use PCoIP, specify a value that does not end in `_WSP`. To use BYOP,
2371
+ # specify a value that ends in `_BYOP`.
2342
2372
  #
2343
2373
  # For non-GPU-enabled bundles (bundles other than Graphics or
2344
- # GraphicsPro), specify `BYOL_REGULAR` or `BYOL_REGULAR_WSP`, depending
2345
- # on the protocol.
2374
+ # GraphicsPro), specify `BYOL_REGULAR`, `BYOL_REGULAR_WSP`, or
2375
+ # `BYOL_REGULAR_BYOP`, depending on the protocol.
2376
+ #
2377
+ # <note markdown="1"> The `BYOL_REGULAR_BYOP` and `BYOL_GRAPHICS_G4DN_BYOP` values are only
2378
+ # supported by Amazon WorkSpaces Core. Contact your account team to be
2379
+ # allow-listed to use these values. For more information, see [Amazon
2380
+ # WorkSpaces Core][1].
2381
+ #
2382
+ # </note>
2383
+ #
2384
+ #
2385
+ #
2386
+ # [1]: http://aws.amazon.com/workspaces/core/
2346
2387
  #
2347
2388
  # @option params [required, String] :image_name
2348
2389
  # The name of the WorkSpace image.
@@ -2376,7 +2417,7 @@ module Aws::WorkSpaces
2376
2417
  #
2377
2418
  # resp = client.import_workspace_image({
2378
2419
  # ec2_image_id: "Ec2ImageId", # required
2379
- # ingestion_process: "BYOL_REGULAR", # required, accepts BYOL_REGULAR, BYOL_GRAPHICS, BYOL_GRAPHICSPRO, BYOL_GRAPHICS_G4DN, BYOL_REGULAR_WSP
2420
+ # ingestion_process: "BYOL_REGULAR", # required, accepts BYOL_REGULAR, BYOL_GRAPHICS, BYOL_GRAPHICSPRO, BYOL_GRAPHICS_G4DN, BYOL_REGULAR_WSP, BYOL_REGULAR_BYOP, BYOL_GRAPHICS_G4DN_BYOP
2380
2421
  # image_name: "WorkspaceImageName", # required
2381
2422
  # image_description: "WorkspaceImageDescription", # required
2382
2423
  # tags: [
@@ -2552,6 +2593,7 @@ module Aws::WorkSpaces
2552
2593
  # resource_id: "NonEmptyString", # required
2553
2594
  # client_properties: { # required
2554
2595
  # reconnect_enabled: "ENABLED", # accepts ENABLED, DISABLED
2596
+ # log_upload_enabled: "ENABLED", # accepts ENABLED, DISABLED
2555
2597
  # },
2556
2598
  # })
2557
2599
  #
@@ -2726,9 +2768,16 @@ module Aws::WorkSpaces
2726
2768
  # about how to modify the size of the root and user volumes, see [
2727
2769
  # Modify a WorkSpace][1].
2728
2770
  #
2771
+ # <note markdown="1"> The `MANUAL` running mode value is only supported by Amazon WorkSpaces
2772
+ # Core. Contact your account team to be allow-listed to use this value.
2773
+ # For more information, see [Amazon WorkSpaces Core][2].
2774
+ #
2775
+ # </note>
2776
+ #
2729
2777
  #
2730
2778
  #
2731
2779
  # [1]: https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html
2780
+ # [2]: http://aws.amazon.com/workspaces/core/
2732
2781
  #
2733
2782
  # @option params [required, String] :workspace_id
2734
2783
  # The identifier of the WorkSpace.
@@ -2743,7 +2792,7 @@ module Aws::WorkSpaces
2743
2792
  # resp = client.modify_workspace_properties({
2744
2793
  # workspace_id: "WorkspaceId", # required
2745
2794
  # workspace_properties: { # required
2746
- # running_mode: "AUTO_STOP", # accepts AUTO_STOP, ALWAYS_ON
2795
+ # running_mode: "AUTO_STOP", # accepts AUTO_STOP, ALWAYS_ON, MANUAL
2747
2796
  # running_mode_auto_stop_timeout_in_minutes: 1,
2748
2797
  # root_volume_size_gib: 1,
2749
2798
  # user_volume_size_gib: 1,
@@ -3405,7 +3454,7 @@ module Aws::WorkSpaces
3405
3454
  params: params,
3406
3455
  config: config)
3407
3456
  context[:gem_name] = 'aws-sdk-workspaces'
3408
- context[:gem_version] = '1.72.0'
3457
+ context[:gem_version] = '1.74.0'
3409
3458
  Seahorse::Client::Request.new(handlers, context)
3410
3459
  end
3411
3460
 
@@ -190,6 +190,7 @@ module Aws::WorkSpaces
190
190
  Limit = Shapes::IntegerShape.new(name: 'Limit')
191
191
  ListAvailableManagementCidrRangesRequest = Shapes::StructureShape.new(name: 'ListAvailableManagementCidrRangesRequest')
192
192
  ListAvailableManagementCidrRangesResult = Shapes::StructureShape.new(name: 'ListAvailableManagementCidrRangesResult')
193
+ LogUploadEnum = Shapes::StringShape.new(name: 'LogUploadEnum')
193
194
  LoginMessage = Shapes::MapShape.new(name: 'LoginMessage')
194
195
  ManagementCidrRangeConstraint = Shapes::StringShape.new(name: 'ManagementCidrRangeConstraint')
195
196
  ManagementCidrRangeMaxResults = Shapes::IntegerShape.new(name: 'ManagementCidrRangeMaxResults')
@@ -370,6 +371,7 @@ module Aws::WorkSpaces
370
371
  ClientDeviceTypeList.member = Shapes::ShapeRef.new(shape: ClientDeviceType)
371
372
 
372
373
  ClientProperties.add_member(:reconnect_enabled, Shapes::ShapeRef.new(shape: ReconnectEnum, location_name: "ReconnectEnabled"))
374
+ ClientProperties.add_member(:log_upload_enabled, Shapes::ShapeRef.new(shape: LogUploadEnum, location_name: "LogUploadEnabled"))
373
375
  ClientProperties.struct_class = Types::ClientProperties
374
376
 
375
377
  ClientPropertiesList.member = Shapes::ShapeRef.new(shape: ClientPropertiesResult)
@@ -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::WorkSpaces
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,112 @@
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::WorkSpaces
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
+ dCI6eyJ1cmwiOiJodHRwczovL3dvcmtzcGFjZXMtZmlwcy57UmVnaW9ufS57
77
+ UGFydGl0aW9uUmVzdWx0I2R1YWxTdGFja0Ruc1N1ZmZpeH0iLCJwcm9wZXJ0
78
+ aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19LHsi
79
+ Y29uZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBhbmQgRHVhbFN0YWNrIGFy
80
+ ZSBlbmFibGVkLCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9y
81
+ dCBvbmUgb3IgYm90aCIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25z
82
+ IjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VG
83
+ SVBTIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
84
+ aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJm
85
+ biI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQi
86
+ fSwic3VwcG9ydHNGSVBTIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpb
87
+ eyJjb25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29u
88
+ ZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vd29ya3Nw
89
+ YWNlcy1maXBzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4
90
+ fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRw
91
+ b2ludCJ9XX1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgaXMg
92
+ ZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBG
93
+ SVBTIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
94
+ Ym9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9
95
+ LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMi
96
+ Olt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJn
97
+ ZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1
98
+ cHBvcnRzRHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpb
99
+ eyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly93
100
+ b3Jrc3BhY2VzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNr
101
+ RG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5
102
+ cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJE
103
+ dWFsU3RhY2sgaXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBu
104
+ b3Qgc3VwcG9ydCBEdWFsU3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29u
105
+ ZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vd29ya3Nw
106
+ YWNlcy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJw
107
+ cm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQi
108
+ fV19XX0=
109
+
110
+ JSON
111
+ end
112
+ end