aws-sdk-appmesh 1.46.0 → 1.48.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 +4 -4
- data/CHANGELOG.md +10 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-appmesh/client.rb +176 -3
- data/lib/aws-sdk-appmesh/client_api.rb +34 -0
- data/lib/aws-sdk-appmesh/endpoint_parameters.rb +66 -0
- data/lib/aws-sdk-appmesh/endpoint_provider.rb +111 -0
- data/lib/aws-sdk-appmesh/endpoints.rb +547 -0
- data/lib/aws-sdk-appmesh/plugins/endpoints.rb +144 -0
- data/lib/aws-sdk-appmesh/types.rb +298 -3
- data/lib/aws-sdk-appmesh.rb +5 -1
- metadata +8 -4
@@ -149,6 +149,10 @@ module Aws::AppMesh
|
|
149
149
|
HttpTimeout = Shapes::StructureShape.new(name: 'HttpTimeout')
|
150
150
|
InternalServerErrorException = Shapes::StructureShape.new(name: 'InternalServerErrorException')
|
151
151
|
IpPreference = Shapes::StringShape.new(name: 'IpPreference')
|
152
|
+
JsonFormat = Shapes::ListShape.new(name: 'JsonFormat')
|
153
|
+
JsonFormatRef = Shapes::StructureShape.new(name: 'JsonFormatRef')
|
154
|
+
JsonKey = Shapes::StringShape.new(name: 'JsonKey')
|
155
|
+
JsonValue = Shapes::StringShape.new(name: 'JsonValue')
|
152
156
|
LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
|
153
157
|
ListGatewayRoutesInput = Shapes::StructureShape.new(name: 'ListGatewayRoutesInput')
|
154
158
|
ListGatewayRoutesLimit = Shapes::IntegerShape.new(name: 'ListGatewayRoutesLimit')
|
@@ -174,6 +178,7 @@ module Aws::AppMesh
|
|
174
178
|
ListVirtualServicesLimit = Shapes::IntegerShape.new(name: 'ListVirtualServicesLimit')
|
175
179
|
ListVirtualServicesOutput = Shapes::StructureShape.new(name: 'ListVirtualServicesOutput')
|
176
180
|
Listener = Shapes::StructureShape.new(name: 'Listener')
|
181
|
+
ListenerPort = Shapes::IntegerShape.new(name: 'ListenerPort')
|
177
182
|
ListenerTimeout = Shapes::UnionShape.new(name: 'ListenerTimeout')
|
178
183
|
ListenerTls = Shapes::StructureShape.new(name: 'ListenerTls')
|
179
184
|
ListenerTlsAcmCertificate = Shapes::StructureShape.new(name: 'ListenerTlsAcmCertificate')
|
@@ -185,6 +190,7 @@ module Aws::AppMesh
|
|
185
190
|
ListenerTlsValidationContextTrust = Shapes::UnionShape.new(name: 'ListenerTlsValidationContextTrust')
|
186
191
|
Listeners = Shapes::ListShape.new(name: 'Listeners')
|
187
192
|
Logging = Shapes::StructureShape.new(name: 'Logging')
|
193
|
+
LoggingFormat = Shapes::UnionShape.new(name: 'LoggingFormat')
|
188
194
|
Long = Shapes::IntegerShape.new(name: 'Long')
|
189
195
|
MatchRange = Shapes::StructureShape.new(name: 'MatchRange')
|
190
196
|
MaxConnections = Shapes::IntegerShape.new(name: 'MaxConnections')
|
@@ -242,7 +248,9 @@ module Aws::AppMesh
|
|
242
248
|
TcpRetryPolicyEvents = Shapes::ListShape.new(name: 'TcpRetryPolicyEvents')
|
243
249
|
TcpRoute = Shapes::StructureShape.new(name: 'TcpRoute')
|
244
250
|
TcpRouteAction = Shapes::StructureShape.new(name: 'TcpRouteAction')
|
251
|
+
TcpRouteMatch = Shapes::StructureShape.new(name: 'TcpRouteMatch')
|
245
252
|
TcpTimeout = Shapes::StructureShape.new(name: 'TcpTimeout')
|
253
|
+
TextFormat = Shapes::StringShape.new(name: 'TextFormat')
|
246
254
|
Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
|
247
255
|
TlsValidationContext = Shapes::StructureShape.new(name: 'TlsValidationContext')
|
248
256
|
TlsValidationContextAcmTrust = Shapes::StructureShape.new(name: 'TlsValidationContextAcmTrust')
|
@@ -637,6 +645,7 @@ module Aws::AppMesh
|
|
637
645
|
EgressFilter.add_member(:type, Shapes::ShapeRef.new(shape: EgressFilterType, required: true, location_name: "type"))
|
638
646
|
EgressFilter.struct_class = Types::EgressFilter
|
639
647
|
|
648
|
+
FileAccessLog.add_member(:format, Shapes::ShapeRef.new(shape: LoggingFormat, location_name: "format"))
|
640
649
|
FileAccessLog.add_member(:path, Shapes::ShapeRef.new(shape: FilePath, required: true, location_name: "path"))
|
641
650
|
FileAccessLog.struct_class = Types::FileAccessLog
|
642
651
|
|
@@ -680,6 +689,7 @@ module Aws::AppMesh
|
|
680
689
|
GatewayRouteStatus.add_member(:status, Shapes::ShapeRef.new(shape: GatewayRouteStatusCode, required: true, location_name: "status"))
|
681
690
|
GatewayRouteStatus.struct_class = Types::GatewayRouteStatus
|
682
691
|
|
692
|
+
GatewayRouteTarget.add_member(:port, Shapes::ShapeRef.new(shape: ListenerPort, location_name: "port"))
|
683
693
|
GatewayRouteTarget.add_member(:virtual_service, Shapes::ShapeRef.new(shape: GatewayRouteVirtualService, required: true, location_name: "virtualService"))
|
684
694
|
GatewayRouteTarget.struct_class = Types::GatewayRouteTarget
|
685
695
|
|
@@ -696,6 +706,7 @@ module Aws::AppMesh
|
|
696
706
|
|
697
707
|
GrpcGatewayRouteMatch.add_member(:hostname, Shapes::ShapeRef.new(shape: GatewayRouteHostnameMatch, location_name: "hostname"))
|
698
708
|
GrpcGatewayRouteMatch.add_member(:metadata, Shapes::ShapeRef.new(shape: GrpcGatewayRouteMetadataList, location_name: "metadata"))
|
709
|
+
GrpcGatewayRouteMatch.add_member(:port, Shapes::ShapeRef.new(shape: ListenerPort, location_name: "port"))
|
699
710
|
GrpcGatewayRouteMatch.add_member(:service_name, Shapes::ShapeRef.new(shape: ServiceName, location_name: "serviceName"))
|
700
711
|
GrpcGatewayRouteMatch.struct_class = Types::GrpcGatewayRouteMatch
|
701
712
|
|
@@ -743,6 +754,7 @@ module Aws::AppMesh
|
|
743
754
|
|
744
755
|
GrpcRouteMatch.add_member(:metadata, Shapes::ShapeRef.new(shape: GrpcRouteMetadataList, location_name: "metadata"))
|
745
756
|
GrpcRouteMatch.add_member(:method_name, Shapes::ShapeRef.new(shape: MethodName, location_name: "methodName"))
|
757
|
+
GrpcRouteMatch.add_member(:port, Shapes::ShapeRef.new(shape: ListenerPort, location_name: "port"))
|
746
758
|
GrpcRouteMatch.add_member(:service_name, Shapes::ShapeRef.new(shape: ServiceName, location_name: "serviceName"))
|
747
759
|
GrpcRouteMatch.struct_class = Types::GrpcRouteMatch
|
748
760
|
|
@@ -813,6 +825,7 @@ module Aws::AppMesh
|
|
813
825
|
HttpGatewayRouteMatch.add_member(:hostname, Shapes::ShapeRef.new(shape: GatewayRouteHostnameMatch, location_name: "hostname"))
|
814
826
|
HttpGatewayRouteMatch.add_member(:method, Shapes::ShapeRef.new(shape: HttpMethod, location_name: "method"))
|
815
827
|
HttpGatewayRouteMatch.add_member(:path, Shapes::ShapeRef.new(shape: HttpPathMatch, location_name: "path"))
|
828
|
+
HttpGatewayRouteMatch.add_member(:port, Shapes::ShapeRef.new(shape: ListenerPort, location_name: "port"))
|
816
829
|
HttpGatewayRouteMatch.add_member(:prefix, Shapes::ShapeRef.new(shape: String, location_name: "prefix"))
|
817
830
|
HttpGatewayRouteMatch.add_member(:query_parameters, Shapes::ShapeRef.new(shape: HttpQueryParameters, location_name: "queryParameters"))
|
818
831
|
HttpGatewayRouteMatch.struct_class = Types::HttpGatewayRouteMatch
|
@@ -866,6 +879,7 @@ module Aws::AppMesh
|
|
866
879
|
HttpRouteMatch.add_member(:headers, Shapes::ShapeRef.new(shape: HttpRouteHeaders, location_name: "headers"))
|
867
880
|
HttpRouteMatch.add_member(:method, Shapes::ShapeRef.new(shape: HttpMethod, location_name: "method"))
|
868
881
|
HttpRouteMatch.add_member(:path, Shapes::ShapeRef.new(shape: HttpPathMatch, location_name: "path"))
|
882
|
+
HttpRouteMatch.add_member(:port, Shapes::ShapeRef.new(shape: ListenerPort, location_name: "port"))
|
869
883
|
HttpRouteMatch.add_member(:prefix, Shapes::ShapeRef.new(shape: String, location_name: "prefix"))
|
870
884
|
HttpRouteMatch.add_member(:query_parameters, Shapes::ShapeRef.new(shape: HttpQueryParameters, location_name: "queryParameters"))
|
871
885
|
HttpRouteMatch.add_member(:scheme, Shapes::ShapeRef.new(shape: HttpScheme, location_name: "scheme"))
|
@@ -878,6 +892,12 @@ module Aws::AppMesh
|
|
878
892
|
InternalServerErrorException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
|
879
893
|
InternalServerErrorException.struct_class = Types::InternalServerErrorException
|
880
894
|
|
895
|
+
JsonFormat.member = Shapes::ShapeRef.new(shape: JsonFormatRef)
|
896
|
+
|
897
|
+
JsonFormatRef.add_member(:key, Shapes::ShapeRef.new(shape: JsonKey, required: true, location_name: "key"))
|
898
|
+
JsonFormatRef.add_member(:value, Shapes::ShapeRef.new(shape: JsonValue, required: true, location_name: "value"))
|
899
|
+
JsonFormatRef.struct_class = Types::JsonFormatRef
|
900
|
+
|
881
901
|
LimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
|
882
902
|
LimitExceededException.struct_class = Types::LimitExceededException
|
883
903
|
|
@@ -1022,6 +1042,14 @@ module Aws::AppMesh
|
|
1022
1042
|
Logging.add_member(:access_log, Shapes::ShapeRef.new(shape: AccessLog, location_name: "accessLog"))
|
1023
1043
|
Logging.struct_class = Types::Logging
|
1024
1044
|
|
1045
|
+
LoggingFormat.add_member(:json, Shapes::ShapeRef.new(shape: JsonFormat, location_name: "json"))
|
1046
|
+
LoggingFormat.add_member(:text, Shapes::ShapeRef.new(shape: TextFormat, location_name: "text"))
|
1047
|
+
LoggingFormat.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
|
1048
|
+
LoggingFormat.add_member_subclass(:json, Types::LoggingFormat::Json)
|
1049
|
+
LoggingFormat.add_member_subclass(:text, Types::LoggingFormat::Text)
|
1050
|
+
LoggingFormat.add_member_subclass(:unknown, Types::LoggingFormat::Unknown)
|
1051
|
+
LoggingFormat.struct_class = Types::LoggingFormat
|
1052
|
+
|
1025
1053
|
MatchRange.add_member(:end, Shapes::ShapeRef.new(shape: Long, required: true, location_name: "end"))
|
1026
1054
|
MatchRange.add_member(:start, Shapes::ShapeRef.new(shape: Long, required: true, location_name: "start"))
|
1027
1055
|
MatchRange.struct_class = Types::MatchRange
|
@@ -1150,12 +1178,16 @@ module Aws::AppMesh
|
|
1150
1178
|
TcpRetryPolicyEvents.member = Shapes::ShapeRef.new(shape: TcpRetryPolicyEvent)
|
1151
1179
|
|
1152
1180
|
TcpRoute.add_member(:action, Shapes::ShapeRef.new(shape: TcpRouteAction, required: true, location_name: "action"))
|
1181
|
+
TcpRoute.add_member(:match, Shapes::ShapeRef.new(shape: TcpRouteMatch, location_name: "match"))
|
1153
1182
|
TcpRoute.add_member(:timeout, Shapes::ShapeRef.new(shape: TcpTimeout, location_name: "timeout"))
|
1154
1183
|
TcpRoute.struct_class = Types::TcpRoute
|
1155
1184
|
|
1156
1185
|
TcpRouteAction.add_member(:weighted_targets, Shapes::ShapeRef.new(shape: WeightedTargets, required: true, location_name: "weightedTargets"))
|
1157
1186
|
TcpRouteAction.struct_class = Types::TcpRouteAction
|
1158
1187
|
|
1188
|
+
TcpRouteMatch.add_member(:port, Shapes::ShapeRef.new(shape: ListenerPort, location_name: "port"))
|
1189
|
+
TcpRouteMatch.struct_class = Types::TcpRouteMatch
|
1190
|
+
|
1159
1191
|
TcpTimeout.add_member(:idle, Shapes::ShapeRef.new(shape: Duration, location_name: "idle"))
|
1160
1192
|
TcpTimeout.struct_class = Types::TcpTimeout
|
1161
1193
|
|
@@ -1323,6 +1355,7 @@ module Aws::AppMesh
|
|
1323
1355
|
VirtualGatewayData.add_member(:virtual_gateway_name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location_name: "virtualGatewayName"))
|
1324
1356
|
VirtualGatewayData.struct_class = Types::VirtualGatewayData
|
1325
1357
|
|
1358
|
+
VirtualGatewayFileAccessLog.add_member(:format, Shapes::ShapeRef.new(shape: LoggingFormat, location_name: "format"))
|
1326
1359
|
VirtualGatewayFileAccessLog.add_member(:path, Shapes::ShapeRef.new(shape: FilePath, required: true, location_name: "path"))
|
1327
1360
|
VirtualGatewayFileAccessLog.struct_class = Types::VirtualGatewayFileAccessLog
|
1328
1361
|
|
@@ -1567,6 +1600,7 @@ module Aws::AppMesh
|
|
1567
1600
|
VirtualServiceStatus.add_member(:status, Shapes::ShapeRef.new(shape: VirtualServiceStatusCode, required: true, location_name: "status"))
|
1568
1601
|
VirtualServiceStatus.struct_class = Types::VirtualServiceStatus
|
1569
1602
|
|
1603
|
+
WeightedTarget.add_member(:port, Shapes::ShapeRef.new(shape: ListenerPort, location_name: "port"))
|
1570
1604
|
WeightedTarget.add_member(:virtual_node, Shapes::ShapeRef.new(shape: ResourceName, required: true, location_name: "virtualNode"))
|
1571
1605
|
WeightedTarget.add_member(:weight, Shapes::ShapeRef.new(shape: PercentInt, required: true, location_name: "weight"))
|
1572
1606
|
WeightedTarget.struct_class = Types::WeightedTarget
|
@@ -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::AppMesh
|
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,111 @@
|
|
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::AppMesh
|
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
|
+
dCI6eyJ1cmwiOiJodHRwczovL2FwcG1lc2gtZmlwcy57UmVnaW9ufS57UGFy
|
77
|
+
dGl0aW9uUmVzdWx0I2R1YWxTdGFja0Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVz
|
78
|
+
Ijp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19LHsiY29u
|
79
|
+
ZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBhbmQgRHVhbFN0YWNrIGFyZSBl
|
80
|
+
bmFibGVkLCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBv
|
81
|
+
bmUgb3IgYm90aCIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpb
|
82
|
+
eyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VGSVBT
|
83
|
+
In0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9u
|
84
|
+
cyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJmbiI6
|
85
|
+
ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwi
|
86
|
+
c3VwcG9ydHNGSVBTIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJj
|
87
|
+
b25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
|
88
|
+
aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vYXBwbWVzaC1m
|
89
|
+
aXBzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4fSIsInBy
|
90
|
+
b3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9
|
91
|
+
XX1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgaXMgZW5hYmxl
|
92
|
+
ZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBGSVBTIiwi
|
93
|
+
dHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVh
|
94
|
+
bkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9LHRydWVd
|
95
|
+
fV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZu
|
96
|
+
IjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJnZXRBdHRy
|
97
|
+
IiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1cHBvcnRz
|
98
|
+
RHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25k
|
99
|
+
aXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9hcHBtZXNo
|
100
|
+
LntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4
|
101
|
+
fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRw
|
102
|
+
b2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sg
|
103
|
+
aXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9y
|
104
|
+
dCBEdWFsU3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6
|
105
|
+
W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vYXBwbWVzaC57UmVnaW9u
|
106
|
+
fS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7
|
107
|
+
fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0=
|
108
|
+
|
109
|
+
JSON
|
110
|
+
end
|
111
|
+
end
|