aws-sdk-wafv2 1.42.0 → 1.44.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 +10 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-wafv2/client.rb +1139 -20
- data/lib/aws-sdk-wafv2/client_api.rb +45 -0
- data/lib/aws-sdk-wafv2/endpoint_parameters.rb +66 -0
- data/lib/aws-sdk-wafv2/endpoint_provider.rb +111 -0
- data/lib/aws-sdk-wafv2/endpoints.rb +687 -0
- data/lib/aws-sdk-wafv2/plugins/endpoints.rb +164 -0
- data/lib/aws-sdk-wafv2/types.rb +2697 -82
- data/lib/aws-sdk-wafv2.rb +5 -1
- metadata +8 -4
@@ -13,6 +13,7 @@ module Aws::WAFV2
|
|
13
13
|
|
14
14
|
include Seahorse::Model
|
15
15
|
|
16
|
+
AWSManagedRulesBotControlRuleSet = Shapes::StructureShape.new(name: 'AWSManagedRulesBotControlRuleSet')
|
16
17
|
Action = Shapes::StringShape.new(name: 'Action')
|
17
18
|
ActionCondition = Shapes::StructureShape.new(name: 'ActionCondition')
|
18
19
|
ActionValue = Shapes::StringShape.new(name: 'ActionValue')
|
@@ -31,6 +32,9 @@ module Aws::WAFV2
|
|
31
32
|
CaptchaAction = Shapes::StructureShape.new(name: 'CaptchaAction')
|
32
33
|
CaptchaConfig = Shapes::StructureShape.new(name: 'CaptchaConfig')
|
33
34
|
CaptchaResponse = Shapes::StructureShape.new(name: 'CaptchaResponse')
|
35
|
+
ChallengeAction = Shapes::StructureShape.new(name: 'ChallengeAction')
|
36
|
+
ChallengeConfig = Shapes::StructureShape.new(name: 'ChallengeConfig')
|
37
|
+
ChallengeResponse = Shapes::StructureShape.new(name: 'ChallengeResponse')
|
34
38
|
CheckCapacityRequest = Shapes::StructureShape.new(name: 'CheckCapacityRequest')
|
35
39
|
CheckCapacityResponse = Shapes::StructureShape.new(name: 'CheckCapacityResponse')
|
36
40
|
ComparisonOperator = Shapes::StringShape.new(name: 'ComparisonOperator')
|
@@ -147,6 +151,7 @@ module Aws::WAFV2
|
|
147
151
|
IPSetSummary = Shapes::StructureShape.new(name: 'IPSetSummary')
|
148
152
|
IPString = Shapes::StringShape.new(name: 'IPString')
|
149
153
|
ImmunityTimeProperty = Shapes::StructureShape.new(name: 'ImmunityTimeProperty')
|
154
|
+
InspectionLevel = Shapes::StringShape.new(name: 'InspectionLevel')
|
150
155
|
JsonBody = Shapes::StructureShape.new(name: 'JsonBody')
|
151
156
|
JsonMatchPattern = Shapes::StructureShape.new(name: 'JsonMatchPattern')
|
152
157
|
JsonMatchScope = Shapes::StringShape.new(name: 'JsonMatchScope')
|
@@ -254,6 +259,8 @@ module Aws::WAFV2
|
|
254
259
|
ResponseStatusCode = Shapes::IntegerShape.new(name: 'ResponseStatusCode')
|
255
260
|
Rule = Shapes::StructureShape.new(name: 'Rule')
|
256
261
|
RuleAction = Shapes::StructureShape.new(name: 'RuleAction')
|
262
|
+
RuleActionOverride = Shapes::StructureShape.new(name: 'RuleActionOverride')
|
263
|
+
RuleActionOverrides = Shapes::ListShape.new(name: 'RuleActionOverrides')
|
257
264
|
RuleGroup = Shapes::StructureShape.new(name: 'RuleGroup')
|
258
265
|
RuleGroupReferenceStatement = Shapes::StructureShape.new(name: 'RuleGroupReferenceStatement')
|
259
266
|
RuleGroupSummaries = Shapes::ListShape.new(name: 'RuleGroupSummaries')
|
@@ -293,6 +300,8 @@ module Aws::WAFV2
|
|
293
300
|
TimeWindowDay = Shapes::IntegerShape.new(name: 'TimeWindowDay')
|
294
301
|
TimeWindowSecond = Shapes::IntegerShape.new(name: 'TimeWindowSecond')
|
295
302
|
Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
|
303
|
+
TokenDomain = Shapes::StringShape.new(name: 'TokenDomain')
|
304
|
+
TokenDomains = Shapes::ListShape.new(name: 'TokenDomains')
|
296
305
|
URIString = Shapes::StringShape.new(name: 'URIString')
|
297
306
|
UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
|
298
307
|
UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
|
@@ -336,6 +345,9 @@ module Aws::WAFV2
|
|
336
345
|
WebACLSummary = Shapes::StructureShape.new(name: 'WebACLSummary')
|
337
346
|
XssMatchStatement = Shapes::StructureShape.new(name: 'XssMatchStatement')
|
338
347
|
|
348
|
+
AWSManagedRulesBotControlRuleSet.add_member(:inspection_level, Shapes::ShapeRef.new(shape: InspectionLevel, required: true, location_name: "InspectionLevel"))
|
349
|
+
AWSManagedRulesBotControlRuleSet.struct_class = Types::AWSManagedRulesBotControlRuleSet
|
350
|
+
|
339
351
|
ActionCondition.add_member(:action, Shapes::ShapeRef.new(shape: ActionValue, required: true, location_name: "Action"))
|
340
352
|
ActionCondition.struct_class = Types::ActionCondition
|
341
353
|
|
@@ -378,6 +390,17 @@ module Aws::WAFV2
|
|
378
390
|
CaptchaResponse.add_member(:failure_reason, Shapes::ShapeRef.new(shape: FailureReason, location_name: "FailureReason"))
|
379
391
|
CaptchaResponse.struct_class = Types::CaptchaResponse
|
380
392
|
|
393
|
+
ChallengeAction.add_member(:custom_request_handling, Shapes::ShapeRef.new(shape: CustomRequestHandling, location_name: "CustomRequestHandling"))
|
394
|
+
ChallengeAction.struct_class = Types::ChallengeAction
|
395
|
+
|
396
|
+
ChallengeConfig.add_member(:immunity_time_property, Shapes::ShapeRef.new(shape: ImmunityTimeProperty, location_name: "ImmunityTimeProperty"))
|
397
|
+
ChallengeConfig.struct_class = Types::ChallengeConfig
|
398
|
+
|
399
|
+
ChallengeResponse.add_member(:response_code, Shapes::ShapeRef.new(shape: ResponseCode, location_name: "ResponseCode"))
|
400
|
+
ChallengeResponse.add_member(:solve_timestamp, Shapes::ShapeRef.new(shape: SolveTimestamp, location_name: "SolveTimestamp"))
|
401
|
+
ChallengeResponse.add_member(:failure_reason, Shapes::ShapeRef.new(shape: FailureReason, location_name: "FailureReason"))
|
402
|
+
ChallengeResponse.struct_class = Types::ChallengeResponse
|
403
|
+
|
381
404
|
CheckCapacityRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scope, required: true, location_name: "Scope"))
|
382
405
|
CheckCapacityRequest.add_member(:rules, Shapes::ShapeRef.new(shape: Rules, required: true, location_name: "Rules"))
|
383
406
|
CheckCapacityRequest.struct_class = Types::CheckCapacityRequest
|
@@ -451,6 +474,8 @@ module Aws::WAFV2
|
|
451
474
|
CreateWebACLRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
|
452
475
|
CreateWebACLRequest.add_member(:custom_response_bodies, Shapes::ShapeRef.new(shape: CustomResponseBodies, location_name: "CustomResponseBodies"))
|
453
476
|
CreateWebACLRequest.add_member(:captcha_config, Shapes::ShapeRef.new(shape: CaptchaConfig, location_name: "CaptchaConfig"))
|
477
|
+
CreateWebACLRequest.add_member(:challenge_config, Shapes::ShapeRef.new(shape: ChallengeConfig, location_name: "ChallengeConfig"))
|
478
|
+
CreateWebACLRequest.add_member(:token_domains, Shapes::ShapeRef.new(shape: TokenDomains, location_name: "TokenDomains"))
|
454
479
|
CreateWebACLRequest.struct_class = Types::CreateWebACLRequest
|
455
480
|
|
456
481
|
CreateWebACLResponse.add_member(:summary, Shapes::ShapeRef.new(shape: WebACLSummary, location_name: "Summary"))
|
@@ -902,6 +927,7 @@ module Aws::WAFV2
|
|
902
927
|
ManagedRuleGroupConfig.add_member(:payload_type, Shapes::ShapeRef.new(shape: PayloadType, location_name: "PayloadType"))
|
903
928
|
ManagedRuleGroupConfig.add_member(:username_field, Shapes::ShapeRef.new(shape: UsernameField, location_name: "UsernameField"))
|
904
929
|
ManagedRuleGroupConfig.add_member(:password_field, Shapes::ShapeRef.new(shape: PasswordField, location_name: "PasswordField"))
|
930
|
+
ManagedRuleGroupConfig.add_member(:aws_managed_rules_bot_control_rule_set, Shapes::ShapeRef.new(shape: AWSManagedRulesBotControlRuleSet, location_name: "AWSManagedRulesBotControlRuleSet"))
|
905
931
|
ManagedRuleGroupConfig.struct_class = Types::ManagedRuleGroupConfig
|
906
932
|
|
907
933
|
ManagedRuleGroupConfigs.member = Shapes::ShapeRef.new(shape: ManagedRuleGroupConfig)
|
@@ -912,6 +938,7 @@ module Aws::WAFV2
|
|
912
938
|
ManagedRuleGroupStatement.add_member(:excluded_rules, Shapes::ShapeRef.new(shape: ExcludedRules, location_name: "ExcludedRules"))
|
913
939
|
ManagedRuleGroupStatement.add_member(:scope_down_statement, Shapes::ShapeRef.new(shape: Statement, location_name: "ScopeDownStatement"))
|
914
940
|
ManagedRuleGroupStatement.add_member(:managed_rule_group_configs, Shapes::ShapeRef.new(shape: ManagedRuleGroupConfigs, location_name: "ManagedRuleGroupConfigs"))
|
941
|
+
ManagedRuleGroupStatement.add_member(:rule_action_overrides, Shapes::ShapeRef.new(shape: RuleActionOverrides, location_name: "RuleActionOverrides"))
|
915
942
|
ManagedRuleGroupStatement.struct_class = Types::ManagedRuleGroupStatement
|
916
943
|
|
917
944
|
ManagedRuleGroupSummaries.member = Shapes::ShapeRef.new(shape: ManagedRuleGroupSummary)
|
@@ -1065,14 +1092,22 @@ module Aws::WAFV2
|
|
1065
1092
|
Rule.add_member(:rule_labels, Shapes::ShapeRef.new(shape: Labels, location_name: "RuleLabels"))
|
1066
1093
|
Rule.add_member(:visibility_config, Shapes::ShapeRef.new(shape: VisibilityConfig, required: true, location_name: "VisibilityConfig"))
|
1067
1094
|
Rule.add_member(:captcha_config, Shapes::ShapeRef.new(shape: CaptchaConfig, location_name: "CaptchaConfig"))
|
1095
|
+
Rule.add_member(:challenge_config, Shapes::ShapeRef.new(shape: ChallengeConfig, location_name: "ChallengeConfig"))
|
1068
1096
|
Rule.struct_class = Types::Rule
|
1069
1097
|
|
1070
1098
|
RuleAction.add_member(:block, Shapes::ShapeRef.new(shape: BlockAction, location_name: "Block"))
|
1071
1099
|
RuleAction.add_member(:allow, Shapes::ShapeRef.new(shape: AllowAction, location_name: "Allow"))
|
1072
1100
|
RuleAction.add_member(:count, Shapes::ShapeRef.new(shape: CountAction, location_name: "Count"))
|
1073
1101
|
RuleAction.add_member(:captcha, Shapes::ShapeRef.new(shape: CaptchaAction, location_name: "Captcha"))
|
1102
|
+
RuleAction.add_member(:challenge, Shapes::ShapeRef.new(shape: ChallengeAction, location_name: "Challenge"))
|
1074
1103
|
RuleAction.struct_class = Types::RuleAction
|
1075
1104
|
|
1105
|
+
RuleActionOverride.add_member(:name, Shapes::ShapeRef.new(shape: EntityName, required: true, location_name: "Name"))
|
1106
|
+
RuleActionOverride.add_member(:action_to_use, Shapes::ShapeRef.new(shape: RuleAction, required: true, location_name: "ActionToUse"))
|
1107
|
+
RuleActionOverride.struct_class = Types::RuleActionOverride
|
1108
|
+
|
1109
|
+
RuleActionOverrides.member = Shapes::ShapeRef.new(shape: RuleActionOverride)
|
1110
|
+
|
1076
1111
|
RuleGroup.add_member(:name, Shapes::ShapeRef.new(shape: EntityName, required: true, location_name: "Name"))
|
1077
1112
|
RuleGroup.add_member(:id, Shapes::ShapeRef.new(shape: EntityId, required: true, location_name: "Id"))
|
1078
1113
|
RuleGroup.add_member(:capacity, Shapes::ShapeRef.new(shape: CapacityUnit, required: true, location_name: "Capacity"))
|
@@ -1088,6 +1123,7 @@ module Aws::WAFV2
|
|
1088
1123
|
|
1089
1124
|
RuleGroupReferenceStatement.add_member(:arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ARN"))
|
1090
1125
|
RuleGroupReferenceStatement.add_member(:excluded_rules, Shapes::ShapeRef.new(shape: ExcludedRules, location_name: "ExcludedRules"))
|
1126
|
+
RuleGroupReferenceStatement.add_member(:rule_action_overrides, Shapes::ShapeRef.new(shape: RuleActionOverrides, location_name: "RuleActionOverrides"))
|
1091
1127
|
RuleGroupReferenceStatement.struct_class = Types::RuleGroupReferenceStatement
|
1092
1128
|
|
1093
1129
|
RuleGroupSummaries.member = Shapes::ShapeRef.new(shape: RuleGroupSummary)
|
@@ -1116,6 +1152,8 @@ module Aws::WAFV2
|
|
1116
1152
|
SampledHTTPRequest.add_member(:response_code_sent, Shapes::ShapeRef.new(shape: ResponseStatusCode, location_name: "ResponseCodeSent"))
|
1117
1153
|
SampledHTTPRequest.add_member(:labels, Shapes::ShapeRef.new(shape: Labels, location_name: "Labels"))
|
1118
1154
|
SampledHTTPRequest.add_member(:captcha_response, Shapes::ShapeRef.new(shape: CaptchaResponse, location_name: "CaptchaResponse"))
|
1155
|
+
SampledHTTPRequest.add_member(:challenge_response, Shapes::ShapeRef.new(shape: ChallengeResponse, location_name: "ChallengeResponse"))
|
1156
|
+
SampledHTTPRequest.add_member(:overridden_action, Shapes::ShapeRef.new(shape: Action, location_name: "OverriddenAction"))
|
1119
1157
|
SampledHTTPRequest.struct_class = Types::SampledHTTPRequest
|
1120
1158
|
|
1121
1159
|
SampledHTTPRequests.member = Shapes::ShapeRef.new(shape: SampledHTTPRequest)
|
@@ -1184,6 +1222,8 @@ module Aws::WAFV2
|
|
1184
1222
|
TimeWindow.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "EndTime"))
|
1185
1223
|
TimeWindow.struct_class = Types::TimeWindow
|
1186
1224
|
|
1225
|
+
TokenDomains.member = Shapes::ShapeRef.new(shape: TokenDomain)
|
1226
|
+
|
1187
1227
|
UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceARN"))
|
1188
1228
|
UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, required: true, location_name: "TagKeys"))
|
1189
1229
|
UntagResourceRequest.struct_class = Types::UntagResourceRequest
|
@@ -1248,6 +1288,8 @@ module Aws::WAFV2
|
|
1248
1288
|
UpdateWebACLRequest.add_member(:lock_token, Shapes::ShapeRef.new(shape: LockToken, required: true, location_name: "LockToken"))
|
1249
1289
|
UpdateWebACLRequest.add_member(:custom_response_bodies, Shapes::ShapeRef.new(shape: CustomResponseBodies, location_name: "CustomResponseBodies"))
|
1250
1290
|
UpdateWebACLRequest.add_member(:captcha_config, Shapes::ShapeRef.new(shape: CaptchaConfig, location_name: "CaptchaConfig"))
|
1291
|
+
UpdateWebACLRequest.add_member(:challenge_config, Shapes::ShapeRef.new(shape: ChallengeConfig, location_name: "ChallengeConfig"))
|
1292
|
+
UpdateWebACLRequest.add_member(:token_domains, Shapes::ShapeRef.new(shape: TokenDomains, location_name: "TokenDomains"))
|
1251
1293
|
UpdateWebACLRequest.struct_class = Types::UpdateWebACLRequest
|
1252
1294
|
|
1253
1295
|
UpdateWebACLResponse.add_member(:next_lock_token, Shapes::ShapeRef.new(shape: LockToken, location_name: "NextLockToken"))
|
@@ -1341,6 +1383,8 @@ module Aws::WAFV2
|
|
1341
1383
|
WebACL.add_member(:label_namespace, Shapes::ShapeRef.new(shape: LabelName, location_name: "LabelNamespace"))
|
1342
1384
|
WebACL.add_member(:custom_response_bodies, Shapes::ShapeRef.new(shape: CustomResponseBodies, location_name: "CustomResponseBodies"))
|
1343
1385
|
WebACL.add_member(:captcha_config, Shapes::ShapeRef.new(shape: CaptchaConfig, location_name: "CaptchaConfig"))
|
1386
|
+
WebACL.add_member(:challenge_config, Shapes::ShapeRef.new(shape: ChallengeConfig, location_name: "ChallengeConfig"))
|
1387
|
+
WebACL.add_member(:token_domains, Shapes::ShapeRef.new(shape: TokenDomains, location_name: "TokenDomains"))
|
1344
1388
|
WebACL.struct_class = Types::WebACL
|
1345
1389
|
|
1346
1390
|
WebACLSummaries.member = Shapes::ShapeRef.new(shape: WebACLSummary)
|
@@ -1475,6 +1519,7 @@ module Aws::WAFV2
|
|
1475
1519
|
o.errors << Shapes::ShapeRef.new(shape: WAFSubscriptionNotFoundException)
|
1476
1520
|
o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
|
1477
1521
|
o.errors << Shapes::ShapeRef.new(shape: WAFConfigurationWarningException)
|
1522
|
+
o.errors << Shapes::ShapeRef.new(shape: WAFExpiredManagedRuleGroupVersionException)
|
1478
1523
|
end)
|
1479
1524
|
|
1480
1525
|
api.add_operation(:delete_firewall_manager_rule_groups, Seahorse::Model::Operation.new.tap do |o|
|
@@ -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::WAFV2
|
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::WAFV2
|
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
|
+
dCI6eyJ1cmwiOiJodHRwczovL3dhZnYyLWZpcHMue1JlZ2lvbn0ue1BhcnRp
|
77
|
+
dGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJvcGVydGllcyI6
|
78
|
+
e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfSx7ImNvbmRp
|
79
|
+
dGlvbnMiOltdLCJlcnJvciI6IkZJUFMgYW5kIER1YWxTdGFjayBhcmUgZW5h
|
80
|
+
YmxlZCwgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgb25l
|
81
|
+
IG9yIGJvdGgiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W3si
|
82
|
+
Zm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9
|
83
|
+
LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMi
|
84
|
+
Olt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJn
|
85
|
+
ZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1
|
86
|
+
cHBvcnRzRklQUyJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29u
|
87
|
+
ZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlv
|
88
|
+
bnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL3dhZnYyLWZpcHMu
|
89
|
+
e1JlZ2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkbnNTdWZmaXh9IiwicHJvcGVy
|
90
|
+
dGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfV19
|
91
|
+
LHsiY29uZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBpcyBlbmFibGVkIGJ1
|
92
|
+
dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IEZJUFMiLCJ0eXBl
|
93
|
+
IjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1
|
94
|
+
YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRHVhbFN0YWNrIn0sdHJ1ZV19XSwi
|
95
|
+
dHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4iOiJi
|
96
|
+
b29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJh
|
97
|
+
cmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFs
|
98
|
+
U3RhY2siXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlv
|
99
|
+
bnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL3dhZnYyLntSZWdp
|
100
|
+
b259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInBy
|
101
|
+
b3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9
|
102
|
+
XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sgaXMgZW5h
|
103
|
+
YmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBEdWFs
|
104
|
+
U3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W10sImVu
|
105
|
+
ZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vd2FmdjIue1JlZ2lvbn0ue1BhcnRp
|
106
|
+
dGlvblJlc3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRl
|
107
|
+
cnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfV19
|
108
|
+
|
109
|
+
JSON
|
110
|
+
end
|
111
|
+
end
|