aws-sdk-iotwireless 1.28.0 → 1.30.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-iotwireless/client.rb +53 -7
- data/lib/aws-sdk-iotwireless/client_api.rb +12 -0
- data/lib/aws-sdk-iotwireless/endpoint_parameters.rb +0 -3
- data/lib/aws-sdk-iotwireless/endpoint_provider.rb +53 -96
- data/lib/aws-sdk-iotwireless/types.rb +78 -2367
- data/lib/aws-sdk-iotwireless.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d9a3099381e5e0df41a43711fb5563375ce43c2410deeb62cde2f2d58a2224b
|
4
|
+
data.tar.gz: f5676df5cc1a4ac3642840a18ceabb015ac182be5c5f1e239005c87cddca57ab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 443f50e83defec76ebf872cc7980907ccc326f11aa2f31bdf4d7cec57dc2efe3c5dc24d34e5227470f02888d058e5feaedbad3d0a1b02518cf087ef59327dace
|
7
|
+
data.tar.gz: dfcb37b0b3daa471d792bbd22853458a3e5f4c796740f2e4323e0244e0db4105bfd2b62b4ed00eb4bf0f3606b0ae082d04816aff1ff74f479803a28859d87bc3
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,18 @@
|
|
1
1
|
Unreleased Changes
|
2
2
|
------------------
|
3
3
|
|
4
|
+
1.30.0 (2023-02-23)
|
5
|
+
------------------
|
6
|
+
|
7
|
+
* Feature - In this release, we add additional capabilities for the FUOTA which allows user to configure the fragment size, the sending interval and the redundancy ratio of the FUOTA tasks
|
8
|
+
|
9
|
+
1.29.0 (2023-01-18)
|
10
|
+
------------------
|
11
|
+
|
12
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
13
|
+
|
14
|
+
* Issue - Replace runtime endpoint resolution approach with generated ruby code.
|
15
|
+
|
4
16
|
1.28.0 (2022-11-28)
|
5
17
|
------------------
|
6
18
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.30.0
|
@@ -758,6 +758,23 @@ module Aws::IoTWireless
|
|
758
758
|
# The tag to attach to the specified resource. Tags are metadata that
|
759
759
|
# you can use to manage a resource.
|
760
760
|
#
|
761
|
+
# @option params [Integer] :redundancy_percent
|
762
|
+
# The percentage of added redundant fragments. For example, if firmware
|
763
|
+
# file is 100 bytes and fragment size is 10 bytes, with
|
764
|
+
# `RedundancyPercent` set to 50(%), the final number of encoded
|
765
|
+
# fragments is (100 / 10) + (100 / 10 * 50%) = 15.
|
766
|
+
#
|
767
|
+
# @option params [Integer] :fragment_size_bytes
|
768
|
+
# The size of each fragment in bytes. Currently only supported in fuota
|
769
|
+
# tasks with multicast groups.
|
770
|
+
#
|
771
|
+
# @option params [Integer] :fragment_interval_ms
|
772
|
+
# The interval of sending fragments in milliseconds. Currently the
|
773
|
+
# interval will be rounded to the nearest second. Note that this
|
774
|
+
# interval only controls the timing when the cloud sends the fragments
|
775
|
+
# down. The actual delay of receiving fragments at device side depends
|
776
|
+
# on the device's class and the communication delay with the cloud.
|
777
|
+
#
|
761
778
|
# @return [Types::CreateFuotaTaskResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
762
779
|
#
|
763
780
|
# * {Types::CreateFuotaTaskResponse#arn #arn} => String
|
@@ -780,6 +797,9 @@ module Aws::IoTWireless
|
|
780
797
|
# value: "TagValue", # required
|
781
798
|
# },
|
782
799
|
# ],
|
800
|
+
# redundancy_percent: 1,
|
801
|
+
# fragment_size_bytes: 1,
|
802
|
+
# fragment_interval_ms: 1,
|
783
803
|
# })
|
784
804
|
#
|
785
805
|
# @example Response structure
|
@@ -1794,6 +1814,9 @@ module Aws::IoTWireless
|
|
1794
1814
|
# * {Types::GetFuotaTaskResponse#firmware_update_image #firmware_update_image} => String
|
1795
1815
|
# * {Types::GetFuotaTaskResponse#firmware_update_role #firmware_update_role} => String
|
1796
1816
|
# * {Types::GetFuotaTaskResponse#created_at #created_at} => Time
|
1817
|
+
# * {Types::GetFuotaTaskResponse#redundancy_percent #redundancy_percent} => Integer
|
1818
|
+
# * {Types::GetFuotaTaskResponse#fragment_size_bytes #fragment_size_bytes} => Integer
|
1819
|
+
# * {Types::GetFuotaTaskResponse#fragment_interval_ms #fragment_interval_ms} => Integer
|
1797
1820
|
#
|
1798
1821
|
# @example Request syntax with placeholder values
|
1799
1822
|
#
|
@@ -1813,6 +1836,9 @@ module Aws::IoTWireless
|
|
1813
1836
|
# resp.firmware_update_image #=> String
|
1814
1837
|
# resp.firmware_update_role #=> String
|
1815
1838
|
# resp.created_at #=> Time
|
1839
|
+
# resp.redundancy_percent #=> Integer
|
1840
|
+
# resp.fragment_size_bytes #=> Integer
|
1841
|
+
# resp.fragment_interval_ms #=> Integer
|
1816
1842
|
#
|
1817
1843
|
# @overload get_fuota_task(params = {})
|
1818
1844
|
# @param [Hash] params ({})
|
@@ -2118,7 +2144,7 @@ module Aws::IoTWireless
|
|
2118
2144
|
#
|
2119
2145
|
# @option params [Time,DateTime,Date,Integer,String] :timestamp
|
2120
2146
|
# Optional information that specifies the time when the position
|
2121
|
-
# information will be resolved. It uses the
|
2147
|
+
# information will be resolved. It uses the Unix timestamp format. If
|
2122
2148
|
# not specified, the time at which the request was received will be
|
2123
2149
|
# used.
|
2124
2150
|
#
|
@@ -2367,7 +2393,7 @@ module Aws::IoTWireless
|
|
2367
2393
|
end
|
2368
2394
|
|
2369
2395
|
# Get the position information for a given wireless device or a wireless
|
2370
|
-
# gateway resource. The
|
2396
|
+
# gateway resource. The position information uses the [ World Geodetic
|
2371
2397
|
# System (WGS84)][1].
|
2372
2398
|
#
|
2373
2399
|
#
|
@@ -2376,8 +2402,8 @@ module Aws::IoTWireless
|
|
2376
2402
|
#
|
2377
2403
|
# @option params [required, String] :resource_identifier
|
2378
2404
|
# The identifier of the resource for which position information is
|
2379
|
-
# retrieved. It can be the wireless device ID or the wireless gateway
|
2380
|
-
# depending on the resource type.
|
2405
|
+
# retrieved. It can be the wireless device ID or the wireless gateway
|
2406
|
+
# ID, depending on the resource type.
|
2381
2407
|
#
|
2382
2408
|
# @option params [required, String] :resource_type
|
2383
2409
|
# The type of resource for which position information is retrieved,
|
@@ -4062,6 +4088,23 @@ module Aws::IoTWireless
|
|
4062
4088
|
# @option params [String] :firmware_update_role
|
4063
4089
|
# The firmware update role that is to be used with a FUOTA task.
|
4064
4090
|
#
|
4091
|
+
# @option params [Integer] :redundancy_percent
|
4092
|
+
# The percentage of added redundant fragments. For example, if firmware
|
4093
|
+
# file is 100 bytes and fragment size is 10 bytes, with
|
4094
|
+
# `RedundancyPercent` set to 50(%), the final number of encoded
|
4095
|
+
# fragments is (100 / 10) + (100 / 10 * 50%) = 15.
|
4096
|
+
#
|
4097
|
+
# @option params [Integer] :fragment_size_bytes
|
4098
|
+
# The size of each fragment in bytes. Currently only supported in fuota
|
4099
|
+
# tasks with multicast groups.
|
4100
|
+
#
|
4101
|
+
# @option params [Integer] :fragment_interval_ms
|
4102
|
+
# The interval of sending fragments in milliseconds. Currently the
|
4103
|
+
# interval will be rounded to the nearest second. Note that this
|
4104
|
+
# interval only controls the timing when the cloud sends the fragments
|
4105
|
+
# down. The actual delay of receiving fragments at device side depends
|
4106
|
+
# on the device's class and the communication delay with the cloud.
|
4107
|
+
#
|
4065
4108
|
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
4066
4109
|
#
|
4067
4110
|
# @example Request syntax with placeholder values
|
@@ -4075,6 +4118,9 @@ module Aws::IoTWireless
|
|
4075
4118
|
# },
|
4076
4119
|
# firmware_update_image: "FirmwareUpdateImage",
|
4077
4120
|
# firmware_update_role: "FirmwareUpdateRole",
|
4121
|
+
# redundancy_percent: 1,
|
4122
|
+
# fragment_size_bytes: 1,
|
4123
|
+
# fragment_interval_ms: 1,
|
4078
4124
|
# })
|
4079
4125
|
#
|
4080
4126
|
# @overload update_fuota_task(params = {})
|
@@ -4371,7 +4417,7 @@ module Aws::IoTWireless
|
|
4371
4417
|
end
|
4372
4418
|
|
4373
4419
|
# Update the position information of a given wireless device or a
|
4374
|
-
# wireless gateway resource. The
|
4420
|
+
# wireless gateway resource. The position coordinates are based on the [
|
4375
4421
|
# World Geodetic System (WGS84)][1].
|
4376
4422
|
#
|
4377
4423
|
#
|
@@ -4380,7 +4426,7 @@ module Aws::IoTWireless
|
|
4380
4426
|
#
|
4381
4427
|
# @option params [required, String] :resource_identifier
|
4382
4428
|
# The identifier of the resource for which position information is
|
4383
|
-
# updated. It can be the wireless device ID or the wireless gateway ID
|
4429
|
+
# updated. It can be the wireless device ID or the wireless gateway ID,
|
4384
4430
|
# depending on the resource type.
|
4385
4431
|
#
|
4386
4432
|
# @option params [required, String] :resource_type
|
@@ -4530,7 +4576,7 @@ module Aws::IoTWireless
|
|
4530
4576
|
params: params,
|
4531
4577
|
config: config)
|
4532
4578
|
context[:gem_name] = 'aws-sdk-iotwireless'
|
4533
|
-
context[:gem_version] = '1.
|
4579
|
+
context[:gem_version] = '1.30.0'
|
4534
4580
|
Seahorse::Client::Request.new(handlers, context)
|
4535
4581
|
end
|
4536
4582
|
|
@@ -189,6 +189,8 @@ module Aws::IoTWireless
|
|
189
189
|
Fingerprint = Shapes::StringShape.new(name: 'Fingerprint')
|
190
190
|
FirmwareUpdateImage = Shapes::StringShape.new(name: 'FirmwareUpdateImage')
|
191
191
|
FirmwareUpdateRole = Shapes::StringShape.new(name: 'FirmwareUpdateRole')
|
192
|
+
FragmentIntervalMS = Shapes::IntegerShape.new(name: 'FragmentIntervalMS')
|
193
|
+
FragmentSizeBytes = Shapes::IntegerShape.new(name: 'FragmentSizeBytes')
|
192
194
|
FuotaDeviceStatus = Shapes::StringShape.new(name: 'FuotaDeviceStatus')
|
193
195
|
FuotaTask = Shapes::StructureShape.new(name: 'FuotaTask')
|
194
196
|
FuotaTaskArn = Shapes::StringShape.new(name: 'FuotaTaskArn')
|
@@ -427,6 +429,7 @@ module Aws::IoTWireless
|
|
427
429
|
RSRQ = Shapes::FloatShape.new(name: 'RSRQ')
|
428
430
|
RSS = Shapes::IntegerShape.new(name: 'RSS')
|
429
431
|
RaAllowed = Shapes::BooleanShape.new(name: 'RaAllowed')
|
432
|
+
RedundancyPercent = Shapes::IntegerShape.new(name: 'RedundancyPercent')
|
430
433
|
RegParamsRevision = Shapes::StringShape.new(name: 'RegParamsRevision')
|
431
434
|
RegistrationZone = Shapes::IntegerShape.new(name: 'RegistrationZone')
|
432
435
|
ReportDevStatusBattery = Shapes::BooleanShape.new(name: 'ReportDevStatusBattery')
|
@@ -765,6 +768,9 @@ module Aws::IoTWireless
|
|
765
768
|
CreateFuotaTaskRequest.add_member(:firmware_update_image, Shapes::ShapeRef.new(shape: FirmwareUpdateImage, required: true, location_name: "FirmwareUpdateImage"))
|
766
769
|
CreateFuotaTaskRequest.add_member(:firmware_update_role, Shapes::ShapeRef.new(shape: FirmwareUpdateRole, required: true, location_name: "FirmwareUpdateRole"))
|
767
770
|
CreateFuotaTaskRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
|
771
|
+
CreateFuotaTaskRequest.add_member(:redundancy_percent, Shapes::ShapeRef.new(shape: RedundancyPercent, location_name: "RedundancyPercent"))
|
772
|
+
CreateFuotaTaskRequest.add_member(:fragment_size_bytes, Shapes::ShapeRef.new(shape: FragmentSizeBytes, location_name: "FragmentSizeBytes"))
|
773
|
+
CreateFuotaTaskRequest.add_member(:fragment_interval_ms, Shapes::ShapeRef.new(shape: FragmentIntervalMS, location_name: "FragmentIntervalMS"))
|
768
774
|
CreateFuotaTaskRequest.struct_class = Types::CreateFuotaTaskRequest
|
769
775
|
|
770
776
|
CreateFuotaTaskResponse.add_member(:arn, Shapes::ShapeRef.new(shape: FuotaTaskArn, location_name: "Arn"))
|
@@ -1057,6 +1063,9 @@ module Aws::IoTWireless
|
|
1057
1063
|
GetFuotaTaskResponse.add_member(:firmware_update_image, Shapes::ShapeRef.new(shape: FirmwareUpdateImage, location_name: "FirmwareUpdateImage"))
|
1058
1064
|
GetFuotaTaskResponse.add_member(:firmware_update_role, Shapes::ShapeRef.new(shape: FirmwareUpdateRole, location_name: "FirmwareUpdateRole"))
|
1059
1065
|
GetFuotaTaskResponse.add_member(:created_at, Shapes::ShapeRef.new(shape: CreatedAt, location_name: "CreatedAt"))
|
1066
|
+
GetFuotaTaskResponse.add_member(:redundancy_percent, Shapes::ShapeRef.new(shape: RedundancyPercent, location_name: "RedundancyPercent"))
|
1067
|
+
GetFuotaTaskResponse.add_member(:fragment_size_bytes, Shapes::ShapeRef.new(shape: FragmentSizeBytes, location_name: "FragmentSizeBytes"))
|
1068
|
+
GetFuotaTaskResponse.add_member(:fragment_interval_ms, Shapes::ShapeRef.new(shape: FragmentIntervalMS, location_name: "FragmentIntervalMS"))
|
1060
1069
|
GetFuotaTaskResponse.struct_class = Types::GetFuotaTaskResponse
|
1061
1070
|
|
1062
1071
|
GetLogLevelsByResourceTypesRequest.struct_class = Types::GetLogLevelsByResourceTypesRequest
|
@@ -1937,6 +1946,9 @@ module Aws::IoTWireless
|
|
1937
1946
|
UpdateFuotaTaskRequest.add_member(:lo_ra_wan, Shapes::ShapeRef.new(shape: LoRaWANFuotaTask, location_name: "LoRaWAN"))
|
1938
1947
|
UpdateFuotaTaskRequest.add_member(:firmware_update_image, Shapes::ShapeRef.new(shape: FirmwareUpdateImage, location_name: "FirmwareUpdateImage"))
|
1939
1948
|
UpdateFuotaTaskRequest.add_member(:firmware_update_role, Shapes::ShapeRef.new(shape: FirmwareUpdateRole, location_name: "FirmwareUpdateRole"))
|
1949
|
+
UpdateFuotaTaskRequest.add_member(:redundancy_percent, Shapes::ShapeRef.new(shape: RedundancyPercent, location_name: "RedundancyPercent"))
|
1950
|
+
UpdateFuotaTaskRequest.add_member(:fragment_size_bytes, Shapes::ShapeRef.new(shape: FragmentSizeBytes, location_name: "FragmentSizeBytes"))
|
1951
|
+
UpdateFuotaTaskRequest.add_member(:fragment_interval_ms, Shapes::ShapeRef.new(shape: FragmentIntervalMS, location_name: "FragmentIntervalMS"))
|
1940
1952
|
UpdateFuotaTaskRequest.struct_class = Types::UpdateFuotaTaskRequest
|
1941
1953
|
|
1942
1954
|
UpdateFuotaTaskResponse.struct_class = Types::UpdateFuotaTaskResponse
|
@@ -50,9 +50,6 @@ module Aws::IoTWireless
|
|
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
|
56
53
|
self[:use_dual_stack] = options[:use_dual_stack]
|
57
54
|
self[:use_dual_stack] = false if self[:use_dual_stack].nil?
|
58
55
|
if self[:use_dual_stack].nil?
|
@@ -9,104 +9,61 @@
|
|
9
9
|
|
10
10
|
module Aws::IoTWireless
|
11
11
|
class EndpointProvider
|
12
|
-
def
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
12
|
+
def resolve_endpoint(parameters)
|
13
|
+
region = parameters.region
|
14
|
+
use_dual_stack = parameters.use_dual_stack
|
15
|
+
use_fips = parameters.use_fips
|
16
|
+
endpoint = parameters.endpoint
|
17
|
+
if Aws::Endpoints::Matchers.set?(endpoint)
|
18
|
+
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
|
19
|
+
raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
|
20
|
+
end
|
21
|
+
if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
22
|
+
raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
|
23
|
+
end
|
24
|
+
return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
|
21
25
|
end
|
22
|
-
|
23
|
-
|
26
|
+
if Aws::Endpoints::Matchers.set?(region)
|
27
|
+
if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
|
28
|
+
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
29
|
+
if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
|
30
|
+
return Aws::Endpoints::Endpoint.new(url: "https://api.iotwireless-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
31
|
+
end
|
32
|
+
raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
|
33
|
+
end
|
34
|
+
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
|
35
|
+
if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
|
36
|
+
return Aws::Endpoints::Endpoint.new(url: "https://api.iotwireless-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
37
|
+
end
|
38
|
+
raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
|
39
|
+
end
|
40
|
+
if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
41
|
+
if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
|
42
|
+
return Aws::Endpoints::Endpoint.new(url: "https://api.iotwireless.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
43
|
+
end
|
44
|
+
raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
|
45
|
+
end
|
46
|
+
if Aws::Endpoints::Matchers.string_equals?(region, "ap-northeast-1")
|
47
|
+
return Aws::Endpoints::Endpoint.new(url: "https://api.iotwireless.ap-northeast-1.amazonaws.com", headers: {}, properties: {})
|
48
|
+
end
|
49
|
+
if Aws::Endpoints::Matchers.string_equals?(region, "ap-southeast-2")
|
50
|
+
return Aws::Endpoints::Endpoint.new(url: "https://api.iotwireless.ap-southeast-2.amazonaws.com", headers: {}, properties: {})
|
51
|
+
end
|
52
|
+
if Aws::Endpoints::Matchers.string_equals?(region, "eu-west-1")
|
53
|
+
return Aws::Endpoints::Endpoint.new(url: "https://api.iotwireless.eu-west-1.amazonaws.com", headers: {}, properties: {})
|
54
|
+
end
|
55
|
+
if Aws::Endpoints::Matchers.string_equals?(region, "us-east-1")
|
56
|
+
return Aws::Endpoints::Endpoint.new(url: "https://api.iotwireless.us-east-1.amazonaws.com", headers: {}, properties: {})
|
57
|
+
end
|
58
|
+
if Aws::Endpoints::Matchers.string_equals?(region, "us-west-2")
|
59
|
+
return Aws::Endpoints::Endpoint.new(url: "https://api.iotwireless.us-west-2.amazonaws.com", headers: {}, properties: {})
|
60
|
+
end
|
61
|
+
return Aws::Endpoints::Endpoint.new(url: "https://api.iotwireless.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
62
|
+
end
|
63
|
+
end
|
64
|
+
raise ArgumentError, "Invalid Configuration: Missing Region"
|
65
|
+
raise ArgumentError, 'No endpoint could be resolved'
|
24
66
|
|
25
|
-
def resolve_endpoint(parameters)
|
26
|
-
@provider.resolve_endpoint(parameters)
|
27
67
|
end
|
28
|
-
|
29
|
-
# @api private
|
30
|
-
RULES = <<-JSON
|
31
|
-
eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
|
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
|
-
c1NldCIsImFyZ3YiOlt7InJlZiI6IkVuZHBvaW50In1dfSx7ImZuIjoicGFy
|
54
|
-
c2VVUkwiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XSwiYXNzaWduIjoi
|
55
|
-
dXJsIn1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpb
|
56
|
-
eyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VGSVBT
|
57
|
-
In0sdHJ1ZV19XSwiZXJyb3IiOiJJbnZhbGlkIENvbmZpZ3VyYXRpb246IEZJ
|
58
|
-
UFMgYW5kIGN1c3RvbSBlbmRwb2ludCBhcmUgbm90IHN1cHBvcnRlZCIsInR5
|
59
|
-
cGUiOiJlcnJvciJ9LHsiY29uZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwi
|
60
|
-
cnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIs
|
61
|
-
ImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9LHRydWVdfV0sImVycm9y
|
62
|
-
IjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBEdWFsc3RhY2sgYW5kIGN1c3Rv
|
63
|
-
bSBlbmRwb2ludCBhcmUgbm90IHN1cHBvcnRlZCIsInR5cGUiOiJlcnJvciJ9
|
64
|
-
LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6eyJyZWYiOiJF
|
65
|
-
bmRwb2ludCJ9LCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBl
|
66
|
-
IjoiZW5kcG9pbnQifV19XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xl
|
67
|
-
YW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VGSVBTIn0sdHJ1ZV19LHsi
|
68
|
-
Zm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRHVhbFN0
|
69
|
-
YWNrIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
|
70
|
-
aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJm
|
71
|
-
biI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQi
|
72
|
-
fSwic3VwcG9ydHNGSVBTIl19XX0seyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJh
|
73
|
-
cmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBh
|
74
|
-
cnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0R1YWxTdGFjayJdfV19XSwidHlw
|
75
|
-
ZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W10sImVuZHBvaW50
|
76
|
-
Ijp7InVybCI6Imh0dHBzOi8vYXBpLmlvdHdpcmVsZXNzLWZpcHMue1JlZ2lv
|
77
|
-
bn0ue1BhcnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJv
|
78
|
-
cGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1d
|
79
|
-
fSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgYW5kIER1YWxTdGFj
|
80
|
-
ayBhcmUgZW5hYmxlZCwgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1
|
81
|
-
cHBvcnQgb25lIG9yIGJvdGgiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0
|
82
|
-
aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoi
|
83
|
-
VXNlRklQUyJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNv
|
84
|
-
bmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVl
|
85
|
-
LHsiZm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVz
|
86
|
-
dWx0In0sInN1cHBvcnRzRklQUyJdfV19XSwidHlwZSI6InRyZWUiLCJydWxl
|
87
|
-
cyI6W3siY29uZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7
|
88
|
-
ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL2Fw
|
89
|
-
aS5pb3R3aXJlbGVzcy1maXBzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQj
|
90
|
-
ZG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5
|
91
|
-
cGUiOiJlbmRwb2ludCJ9XX1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6
|
92
|
-
IkZJUFMgaXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qg
|
93
|
-
c3VwcG9ydCBGSVBTIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMi
|
94
|
-
Olt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1
|
95
|
-
YWxTdGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNv
|
96
|
-
bmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVl
|
97
|
-
LHsiZm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVz
|
98
|
-
dWx0In0sInN1cHBvcnRzRHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIs
|
99
|
-
InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoi
|
100
|
-
aHR0cHM6Ly9hcGkuaW90d2lyZWxlc3Mue1JlZ2lvbn0ue1BhcnRpdGlvblJl
|
101
|
-
c3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhl
|
102
|
-
YWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfSx7ImNvbmRpdGlvbnMi
|
103
|
-
OltdLCJlcnJvciI6IkR1YWxTdGFjayBpcyBlbmFibGVkIGJ1dCB0aGlzIHBh
|
104
|
-
cnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IER1YWxTdGFjayIsInR5cGUiOiJl
|
105
|
-
cnJvciJ9XX0seyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoi
|
106
|
-
aHR0cHM6Ly9hcGkuaW90d2lyZWxlc3Mue1JlZ2lvbn0ue1BhcnRpdGlvblJl
|
107
|
-
c3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9
|
108
|
-
fSwidHlwZSI6ImVuZHBvaW50In1dfV19
|
109
|
-
|
110
|
-
JSON
|
111
68
|
end
|
112
69
|
end
|