aws-sdk-customerprofiles 1.22.0 → 1.24.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-customerprofiles/client.rb +68 -5
- data/lib/aws-sdk-customerprofiles/client_api.rb +20 -0
- data/lib/aws-sdk-customerprofiles/endpoint_parameters.rb +66 -0
- data/lib/aws-sdk-customerprofiles/endpoint_provider.rb +111 -0
- data/lib/aws-sdk-customerprofiles/endpoints.rb +547 -0
- data/lib/aws-sdk-customerprofiles/plugins/endpoints.rb +144 -0
- data/lib/aws-sdk-customerprofiles/types.rb +132 -3
- data/lib/aws-sdk-customerprofiles.rb +5 -1
- metadata +8 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 873f685772d2b81ed1bd473376590ebb073ffdfd4337bf7fa7956b26da63307c
|
4
|
+
data.tar.gz: 10d62a0420366eefcb3ba8788ec895b7b0af66470ed54f447f9f0aff5932618e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7035a3ffe7ad88607d0a7d26290e73089d1148bc4a905d5bd12a32bf63a28bf2810f40683f631ce6cd097bcd76d8e5967f56a90ba3a32aed3cdee047a0cf2ec3
|
7
|
+
data.tar.gz: a62a75ba126b5792bedb14b5cfb849b5a361f9454f49572b365faa09f1a120331393ef380094ed048e32c8b18a480ff5b1dc05ec5d3aa29b8c2c72e56c0f424f
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,16 @@
|
|
1
1
|
Unreleased Changes
|
2
2
|
------------------
|
3
3
|
|
4
|
+
1.24.0 (2022-11-14)
|
5
|
+
------------------
|
6
|
+
|
7
|
+
* Feature - This release enhances the SearchProfiles API by providing functionality to search for profiles using multiple keys and logical operators.
|
8
|
+
|
9
|
+
1.23.0 (2022-10-25)
|
10
|
+
------------------
|
11
|
+
|
12
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
13
|
+
|
4
14
|
1.22.0 (2022-09-13)
|
5
15
|
------------------
|
6
16
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.24.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/
|
33
|
+
require 'aws-sdk-core/plugins/sign.rb'
|
34
34
|
require 'aws-sdk-core/plugins/protocols/rest_json.rb'
|
35
35
|
|
36
36
|
Aws::Plugins::GlobalConfiguration.add_identifier(:customerprofiles)
|
@@ -79,8 +79,9 @@ module Aws::CustomerProfiles
|
|
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::
|
82
|
+
add_plugin(Aws::Plugins::Sign)
|
83
83
|
add_plugin(Aws::Plugins::Protocols::RestJson)
|
84
|
+
add_plugin(Aws::CustomerProfiles::Plugins::Endpoints)
|
84
85
|
|
85
86
|
# @overload initialize(options)
|
86
87
|
# @param [Hash] options
|
@@ -287,6 +288,19 @@ module Aws::CustomerProfiles
|
|
287
288
|
# ** Please note ** When response stubbing is enabled, no HTTP
|
288
289
|
# requests are made, and retries are disabled.
|
289
290
|
#
|
291
|
+
# @option options [Aws::TokenProvider] :token_provider
|
292
|
+
# A Bearer Token Provider. This can be an instance of any one of the
|
293
|
+
# following classes:
|
294
|
+
#
|
295
|
+
# * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
|
296
|
+
# tokens.
|
297
|
+
#
|
298
|
+
# * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
|
299
|
+
# access token generated from `aws login`.
|
300
|
+
#
|
301
|
+
# When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
|
302
|
+
# will be used to search for tokens configured for your profile in shared configuration files.
|
303
|
+
#
|
290
304
|
# @option options [Boolean] :use_dualstack_endpoint
|
291
305
|
# When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
|
292
306
|
# will be used if available.
|
@@ -300,6 +314,9 @@ module Aws::CustomerProfiles
|
|
300
314
|
# When `true`, request parameters are validated before
|
301
315
|
# sending the request.
|
302
316
|
#
|
317
|
+
# @option options [Aws::CustomerProfiles::EndpointProvider] :endpoint_provider
|
318
|
+
# The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::CustomerProfiles::EndpointParameters`
|
319
|
+
#
|
303
320
|
# @option options [URI::HTTP,String] :http_proxy A proxy to send
|
304
321
|
# requests through. Formatted like 'http://proxy.com:123'.
|
305
322
|
#
|
@@ -2515,8 +2532,14 @@ module Aws::CustomerProfiles
|
|
2515
2532
|
req.send_request(options)
|
2516
2533
|
end
|
2517
2534
|
|
2518
|
-
# Searches for profiles within a specific domain
|
2519
|
-
#
|
2535
|
+
# Searches for profiles within a specific domain using one or more
|
2536
|
+
# predefined search keys (e.g., \_fullName, \_phone, \_email, \_account,
|
2537
|
+
# etc.) and/or custom-defined search keys. A search key is a data type
|
2538
|
+
# pair that consists of a `KeyName` and `Values` list.
|
2539
|
+
#
|
2540
|
+
# This operation supports searching for profiles with a minimum of 1
|
2541
|
+
# key-value(s) pair and up to 5 key-value(s) pairs using either `AND` or
|
2542
|
+
# `OR` logic.
|
2520
2543
|
#
|
2521
2544
|
# @option params [String] :next_token
|
2522
2545
|
# The pagination token from the previous SearchProfiles API call.
|
@@ -2524,6 +2547,8 @@ module Aws::CustomerProfiles
|
|
2524
2547
|
# @option params [Integer] :max_results
|
2525
2548
|
# The maximum number of objects returned per page.
|
2526
2549
|
#
|
2550
|
+
# The default is 20 if this parameter is not included in the request.
|
2551
|
+
#
|
2527
2552
|
# @option params [required, String] :domain_name
|
2528
2553
|
# The unique name of the domain.
|
2529
2554
|
#
|
@@ -2539,6 +2564,33 @@ module Aws::CustomerProfiles
|
|
2539
2564
|
# @option params [required, Array<String>] :values
|
2540
2565
|
# A list of key values.
|
2541
2566
|
#
|
2567
|
+
# @option params [Array<Types::AdditionalSearchKey>] :additional_search_keys
|
2568
|
+
# A list of `AdditionalSearchKey` objects that are each searchable
|
2569
|
+
# identifiers of a profile. Each `AdditionalSearchKey` object contains a
|
2570
|
+
# `KeyName` and a list of `Values` associated with that specific key
|
2571
|
+
# (i.e., a key-value(s) pair). These additional search keys will be used
|
2572
|
+
# in conjunction with the `LogicalOperator` and the required `KeyName`
|
2573
|
+
# and `Values` parameters to search for profiles that satisfy the search
|
2574
|
+
# criteria.
|
2575
|
+
#
|
2576
|
+
# @option params [String] :logical_operator
|
2577
|
+
# Relationship between all specified search keys that will be used to
|
2578
|
+
# search for profiles. This includes the required `KeyName` and `Values`
|
2579
|
+
# parameters as well as any key-value(s) pairs specified in the
|
2580
|
+
# `AdditionalSearchKeys` list.
|
2581
|
+
#
|
2582
|
+
# This parameter influences which profiles will be returned in the
|
2583
|
+
# response in the following manner:
|
2584
|
+
#
|
2585
|
+
# * `AND` - The response only includes profiles that match all of the
|
2586
|
+
# search keys.
|
2587
|
+
#
|
2588
|
+
# * `OR` - The response includes profiles that match at least one of the
|
2589
|
+
# search keys.
|
2590
|
+
#
|
2591
|
+
# The `OR` relationship is the default behavior if this parameter is not
|
2592
|
+
# included in the request.
|
2593
|
+
#
|
2542
2594
|
# @return [Types::SearchProfilesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
2543
2595
|
#
|
2544
2596
|
# * {Types::SearchProfilesResponse#items #items} => Array<Types::Profile>
|
@@ -2552,6 +2604,13 @@ module Aws::CustomerProfiles
|
|
2552
2604
|
# domain_name: "name", # required
|
2553
2605
|
# key_name: "name", # required
|
2554
2606
|
# values: ["string1To255"], # required
|
2607
|
+
# additional_search_keys: [
|
2608
|
+
# {
|
2609
|
+
# key_name: "name", # required
|
2610
|
+
# values: ["string1To255"], # required
|
2611
|
+
# },
|
2612
|
+
# ],
|
2613
|
+
# logical_operator: "AND", # accepts AND, OR
|
2555
2614
|
# })
|
2556
2615
|
#
|
2557
2616
|
# @example Response structure
|
@@ -2616,6 +2675,10 @@ module Aws::CustomerProfiles
|
|
2616
2675
|
# resp.items[0].billing_address.postal_code #=> String
|
2617
2676
|
# resp.items[0].attributes #=> Hash
|
2618
2677
|
# resp.items[0].attributes["string1To255"] #=> String
|
2678
|
+
# resp.items[0].found_by_items #=> Array
|
2679
|
+
# resp.items[0].found_by_items[0].key_name #=> String
|
2680
|
+
# resp.items[0].found_by_items[0].values #=> Array
|
2681
|
+
# resp.items[0].found_by_items[0].values[0] #=> String
|
2619
2682
|
# resp.next_token #=> String
|
2620
2683
|
#
|
2621
2684
|
# @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/SearchProfiles AWS API Documentation
|
@@ -3025,7 +3088,7 @@ module Aws::CustomerProfiles
|
|
3025
3088
|
params: params,
|
3026
3089
|
config: config)
|
3027
3090
|
context[:gem_name] = 'aws-sdk-customerprofiles'
|
3028
|
-
context[:gem_version] = '1.
|
3091
|
+
context[:gem_version] = '1.24.0'
|
3029
3092
|
Seahorse::Client::Request.new(handlers, context)
|
3030
3093
|
end
|
3031
3094
|
|
@@ -16,6 +16,7 @@ module Aws::CustomerProfiles
|
|
16
16
|
AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
|
17
17
|
AddProfileKeyRequest = Shapes::StructureShape.new(name: 'AddProfileKeyRequest')
|
18
18
|
AddProfileKeyResponse = Shapes::StructureShape.new(name: 'AddProfileKeyResponse')
|
19
|
+
AdditionalSearchKey = Shapes::StructureShape.new(name: 'AdditionalSearchKey')
|
19
20
|
Address = Shapes::StructureShape.new(name: 'Address')
|
20
21
|
AppflowIntegration = Shapes::StructureShape.new(name: 'AppflowIntegration')
|
21
22
|
AppflowIntegrationWorkflowAttributes = Shapes::StructureShape.new(name: 'AppflowIntegrationWorkflowAttributes')
|
@@ -71,6 +72,7 @@ module Aws::CustomerProfiles
|
|
71
72
|
FlowDefinition = Shapes::StructureShape.new(name: 'FlowDefinition')
|
72
73
|
FlowDescription = Shapes::StringShape.new(name: 'FlowDescription')
|
73
74
|
FlowName = Shapes::StringShape.new(name: 'FlowName')
|
75
|
+
FoundByKeyValue = Shapes::StructureShape.new(name: 'FoundByKeyValue')
|
74
76
|
Gender = Shapes::StringShape.new(name: 'Gender')
|
75
77
|
GetAutoMergingPreviewRequest = Shapes::StructureShape.new(name: 'GetAutoMergingPreviewRequest')
|
76
78
|
GetAutoMergingPreviewResponse = Shapes::StructureShape.new(name: 'GetAutoMergingPreviewResponse')
|
@@ -213,9 +215,12 @@ module Aws::CustomerProfiles
|
|
213
215
|
WorkflowType = Shapes::StringShape.new(name: 'WorkflowType')
|
214
216
|
ZendeskConnectorOperator = Shapes::StringShape.new(name: 'ZendeskConnectorOperator')
|
215
217
|
ZendeskSourceProperties = Shapes::StructureShape.new(name: 'ZendeskSourceProperties')
|
218
|
+
additionalSearchKeysList = Shapes::ListShape.new(name: 'additionalSearchKeysList')
|
216
219
|
boolean = Shapes::BooleanShape.new(name: 'boolean')
|
217
220
|
encryptionKey = Shapes::StringShape.new(name: 'encryptionKey')
|
218
221
|
expirationDaysInteger = Shapes::IntegerShape.new(name: 'expirationDaysInteger')
|
222
|
+
foundByList = Shapes::ListShape.new(name: 'foundByList')
|
223
|
+
logicalOperator = Shapes::StringShape.new(name: 'logicalOperator')
|
219
224
|
long = Shapes::IntegerShape.new(name: 'long')
|
220
225
|
matchesNumber = Shapes::IntegerShape.new(name: 'matchesNumber')
|
221
226
|
maxSize100 = Shapes::IntegerShape.new(name: 'maxSize100')
|
@@ -252,6 +257,10 @@ module Aws::CustomerProfiles
|
|
252
257
|
AddProfileKeyResponse.add_member(:values, Shapes::ShapeRef.new(shape: requestValueList, location_name: "Values"))
|
253
258
|
AddProfileKeyResponse.struct_class = Types::AddProfileKeyResponse
|
254
259
|
|
260
|
+
AdditionalSearchKey.add_member(:key_name, Shapes::ShapeRef.new(shape: name, required: true, location_name: "KeyName"))
|
261
|
+
AdditionalSearchKey.add_member(:values, Shapes::ShapeRef.new(shape: requestValueList, required: true, location_name: "Values"))
|
262
|
+
AdditionalSearchKey.struct_class = Types::AdditionalSearchKey
|
263
|
+
|
255
264
|
Address.add_member(:address_1, Shapes::ShapeRef.new(shape: string1To255, location_name: "Address1"))
|
256
265
|
Address.add_member(:address_2, Shapes::ShapeRef.new(shape: string1To255, location_name: "Address2"))
|
257
266
|
Address.add_member(:address_3, Shapes::ShapeRef.new(shape: string1To255, location_name: "Address3"))
|
@@ -481,6 +490,10 @@ module Aws::CustomerProfiles
|
|
481
490
|
FlowDefinition.add_member(:trigger_config, Shapes::ShapeRef.new(shape: TriggerConfig, required: true, location_name: "TriggerConfig"))
|
482
491
|
FlowDefinition.struct_class = Types::FlowDefinition
|
483
492
|
|
493
|
+
FoundByKeyValue.add_member(:key_name, Shapes::ShapeRef.new(shape: name, location_name: "KeyName"))
|
494
|
+
FoundByKeyValue.add_member(:values, Shapes::ShapeRef.new(shape: requestValueList, location_name: "Values"))
|
495
|
+
FoundByKeyValue.struct_class = Types::FoundByKeyValue
|
496
|
+
|
484
497
|
GetAutoMergingPreviewRequest.add_member(:domain_name, Shapes::ShapeRef.new(shape: name, required: true, location: "uri", location_name: "DomainName"))
|
485
498
|
GetAutoMergingPreviewRequest.add_member(:consolidation, Shapes::ShapeRef.new(shape: Consolidation, required: true, location_name: "Consolidation"))
|
486
499
|
GetAutoMergingPreviewRequest.add_member(:conflict_resolution, Shapes::ShapeRef.new(shape: ConflictResolution, required: true, location_name: "ConflictResolution"))
|
@@ -843,6 +856,7 @@ module Aws::CustomerProfiles
|
|
843
856
|
Profile.add_member(:mailing_address, Shapes::ShapeRef.new(shape: Address, location_name: "MailingAddress"))
|
844
857
|
Profile.add_member(:billing_address, Shapes::ShapeRef.new(shape: Address, location_name: "BillingAddress"))
|
845
858
|
Profile.add_member(:attributes, Shapes::ShapeRef.new(shape: Attributes, location_name: "Attributes"))
|
859
|
+
Profile.add_member(:found_by_items, Shapes::ShapeRef.new(shape: foundByList, location_name: "FoundByItems"))
|
846
860
|
Profile.struct_class = Types::Profile
|
847
861
|
|
848
862
|
ProfileIdList.member = Shapes::ShapeRef.new(shape: uuid)
|
@@ -945,6 +959,8 @@ module Aws::CustomerProfiles
|
|
945
959
|
SearchProfilesRequest.add_member(:domain_name, Shapes::ShapeRef.new(shape: name, required: true, location: "uri", location_name: "DomainName"))
|
946
960
|
SearchProfilesRequest.add_member(:key_name, Shapes::ShapeRef.new(shape: name, required: true, location_name: "KeyName"))
|
947
961
|
SearchProfilesRequest.add_member(:values, Shapes::ShapeRef.new(shape: requestValueList, required: true, location_name: "Values"))
|
962
|
+
SearchProfilesRequest.add_member(:additional_search_keys, Shapes::ShapeRef.new(shape: additionalSearchKeysList, location_name: "AdditionalSearchKeys"))
|
963
|
+
SearchProfilesRequest.add_member(:logical_operator, Shapes::ShapeRef.new(shape: logicalOperator, location_name: "LogicalOperator"))
|
948
964
|
SearchProfilesRequest.struct_class = Types::SearchProfilesRequest
|
949
965
|
|
950
966
|
SearchProfilesResponse.add_member(:items, Shapes::ShapeRef.new(shape: ProfileList, location_name: "Items"))
|
@@ -1087,6 +1103,10 @@ module Aws::CustomerProfiles
|
|
1087
1103
|
ZendeskSourceProperties.add_member(:object, Shapes::ShapeRef.new(shape: Object, required: true, location_name: "Object"))
|
1088
1104
|
ZendeskSourceProperties.struct_class = Types::ZendeskSourceProperties
|
1089
1105
|
|
1106
|
+
additionalSearchKeysList.member = Shapes::ShapeRef.new(shape: AdditionalSearchKey)
|
1107
|
+
|
1108
|
+
foundByList.member = Shapes::ShapeRef.new(shape: FoundByKeyValue)
|
1109
|
+
|
1090
1110
|
requestValueList.member = Shapes::ShapeRef.new(shape: string1To255)
|
1091
1111
|
|
1092
1112
|
|
@@ -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::CustomerProfiles
|
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::CustomerProfiles
|
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
|
+
dCI6eyJ1cmwiOiJodHRwczovL3Byb2ZpbGUtZmlwcy57UmVnaW9ufS57UGFy
|
77
|
+
dGl0aW9uUmVzdWx0I2R1YWxTdGFja0Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVz
|
78
|
+
Ijp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19LHsiY29u
|
79
|
+
ZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBhbmQgRHVhbFN0YWNrIGFyZSBl
|
80
|
+
bmFibGVkLCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBv
|
81
|
+
bmUgb3IgYm90aCIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpb
|
82
|
+
eyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VGSVBT
|
83
|
+
In0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9u
|
84
|
+
cyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJmbiI6
|
85
|
+
ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwi
|
86
|
+
c3VwcG9ydHNGSVBTIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJj
|
87
|
+
b25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
|
88
|
+
aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vcHJvZmlsZS1m
|
89
|
+
aXBzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4fSIsInBy
|
90
|
+
b3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9
|
91
|
+
XX1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgaXMgZW5hYmxl
|
92
|
+
ZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBGSVBTIiwi
|
93
|
+
dHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVh
|
94
|
+
bkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9LHRydWVd
|
95
|
+
fV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZu
|
96
|
+
IjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJnZXRBdHRy
|
97
|
+
IiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1cHBvcnRz
|
98
|
+
RHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25k
|
99
|
+
aXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9wcm9maWxl
|
100
|
+
LntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4
|
101
|
+
fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRw
|
102
|
+
b2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sg
|
103
|
+
aXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9y
|
104
|
+
dCBEdWFsU3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6
|
105
|
+
W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vcHJvZmlsZS57UmVnaW9u
|
106
|
+
fS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7
|
107
|
+
fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0=
|
108
|
+
|
109
|
+
JSON
|
110
|
+
end
|
111
|
+
end
|