@rio-cloud/cdk-v2-constructs 2.0.1 → 2.0.4
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.
- package/.jsii +92 -50
- package/CHANGELOG.md +11 -0
- package/MIGRATION_GUIDE.md +20 -16
- package/lib/datadog/datadogLogIndexMonitoring.d.ts +6 -0
- package/lib/datadog/datadogLogIndexMonitoring.js +5 -5
- package/lib/fargate/datadog.d.ts +76 -5
- package/lib/fargate/datadog.js +266 -196
- package/lib/fargate/rio-fargate-service.d.ts +36 -17
- package/lib/fargate/rio-fargate-service.js +92 -9
- package/package.json +12 -12
- package/version.json +1 -1
package/.jsii
CHANGED
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
"url": "https://rio.cloud/"
|
|
9
9
|
},
|
|
10
10
|
"bundled": {
|
|
11
|
-
"js-yaml": "4.1.0"
|
|
11
|
+
"js-yaml": "~4.1.0"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"aws-cdk-lib": "2.
|
|
15
|
-
"constructs": "10.0.107"
|
|
14
|
+
"aws-cdk-lib": "^2.20.0",
|
|
15
|
+
"constructs": "^10.0.107"
|
|
16
16
|
},
|
|
17
17
|
"dependencyClosure": {
|
|
18
18
|
"aws-cdk-lib": {
|
|
@@ -3244,14 +3244,14 @@
|
|
|
3244
3244
|
"abstract": true,
|
|
3245
3245
|
"docs": {
|
|
3246
3246
|
"default": "- No environment variables.",
|
|
3247
|
-
"remarks": "
|
|
3247
|
+
"remarks": "Some Datadog specific environment variables are not allowed to be set,\nbecause they are set automatically or computed from other attributes.\nThese are:\n* DD_ENV: Set same as prop stage\n* DD_SERVICE: Set same as prop serviceName\n* DD_VERSION: Set same as prop version\n* DD_TAGS: Set same as DatadogIntegrationProps#additionalTags\n* DD_LOGS_INJECTION: true\nOther DD_-prefixed vaiable may be added to this list.\n\nOther Environment variables set by default are overwritten if passed.\nThese are:\n* DD_SERVICE_MAPPING: database:fargate-web-app-aurora,java-aws-sdk:fargate-web-app-aws-sdk,kafka:fargate-web-app-kafka,mysql:fargate-web-app-aurora\n* DD_TRACE_SAMPLE_RATE: 1.0",
|
|
3248
3248
|
"stability": "stable",
|
|
3249
3249
|
"summary": "The environment variables to pass to the container."
|
|
3250
3250
|
},
|
|
3251
3251
|
"immutable": true,
|
|
3252
3252
|
"locationInModule": {
|
|
3253
3253
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
3254
|
-
"line":
|
|
3254
|
+
"line": 100
|
|
3255
3255
|
},
|
|
3256
3256
|
"name": "environment",
|
|
3257
3257
|
"optional": true,
|
|
@@ -3274,7 +3274,7 @@
|
|
|
3274
3274
|
"immutable": true,
|
|
3275
3275
|
"locationInModule": {
|
|
3276
3276
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
3277
|
-
"line":
|
|
3277
|
+
"line": 114
|
|
3278
3278
|
},
|
|
3279
3279
|
"name": "healthCheck",
|
|
3280
3280
|
"optional": true,
|
|
@@ -3292,7 +3292,7 @@
|
|
|
3292
3292
|
"immutable": true,
|
|
3293
3293
|
"locationInModule": {
|
|
3294
3294
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
3295
|
-
"line":
|
|
3295
|
+
"line": 107
|
|
3296
3296
|
},
|
|
3297
3297
|
"name": "secrets",
|
|
3298
3298
|
"optional": true,
|
|
@@ -3380,7 +3380,7 @@
|
|
|
3380
3380
|
"kind": "enum",
|
|
3381
3381
|
"locationInModule": {
|
|
3382
3382
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
3383
|
-
"line":
|
|
3383
|
+
"line": 289
|
|
3384
3384
|
},
|
|
3385
3385
|
"members": [
|
|
3386
3386
|
{
|
|
@@ -3607,10 +3607,33 @@
|
|
|
3607
3607
|
"kind": "interface",
|
|
3608
3608
|
"locationInModule": {
|
|
3609
3609
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
3610
|
-
"line":
|
|
3610
|
+
"line": 215
|
|
3611
3611
|
},
|
|
3612
3612
|
"name": "DatadogIntegrationProps",
|
|
3613
3613
|
"properties": [
|
|
3614
|
+
{
|
|
3615
|
+
"abstract": true,
|
|
3616
|
+
"docs": {
|
|
3617
|
+
"remarks": "We would like to learn about your use cases.\n\nDefault tags are not allowed to be overridden!\n\nDefaults are:\n* env: Set to RioFargateServiceProps#stage prop\n* service: Set to RioFargateServiceProps#serviceName prop\n* version: Set to RioFargateServiceProps#version prop\n* account_id:${accountID}\n* account_name:${accountName}\n* region:${AWSRegion}\n* team:${teamName from ssm param /config/team/name}\n* team_identifier:${teamIdentifier from ssm param /config/team/identifier}",
|
|
3618
|
+
"stability": "stable",
|
|
3619
|
+
"summary": "Configure additional tags, which are appended to the defaults, When you define custom tags we would be glad if you contact us."
|
|
3620
|
+
},
|
|
3621
|
+
"immutable": true,
|
|
3622
|
+
"locationInModule": {
|
|
3623
|
+
"filename": "src/fargate/rio-fargate-service.ts",
|
|
3624
|
+
"line": 286
|
|
3625
|
+
},
|
|
3626
|
+
"name": "additionalTags",
|
|
3627
|
+
"optional": true,
|
|
3628
|
+
"type": {
|
|
3629
|
+
"collection": {
|
|
3630
|
+
"elementtype": {
|
|
3631
|
+
"primitive": "string"
|
|
3632
|
+
},
|
|
3633
|
+
"kind": "map"
|
|
3634
|
+
}
|
|
3635
|
+
}
|
|
3636
|
+
},
|
|
3614
3637
|
{
|
|
3615
3638
|
"abstract": true,
|
|
3616
3639
|
"docs": {
|
|
@@ -3622,7 +3645,7 @@
|
|
|
3622
3645
|
"immutable": true,
|
|
3623
3646
|
"locationInModule": {
|
|
3624
3647
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
3625
|
-
"line":
|
|
3648
|
+
"line": 254
|
|
3626
3649
|
},
|
|
3627
3650
|
"name": "apmGetEndpointsToIgnore",
|
|
3628
3651
|
"optional": true,
|
|
@@ -3645,7 +3668,7 @@
|
|
|
3645
3668
|
"immutable": true,
|
|
3646
3669
|
"locationInModule": {
|
|
3647
3670
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
3648
|
-
"line":
|
|
3671
|
+
"line": 221
|
|
3649
3672
|
},
|
|
3650
3673
|
"name": "cpu",
|
|
3651
3674
|
"optional": true,
|
|
@@ -3663,7 +3686,7 @@
|
|
|
3663
3686
|
"immutable": true,
|
|
3664
3687
|
"locationInModule": {
|
|
3665
3688
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
3666
|
-
"line":
|
|
3689
|
+
"line": 261
|
|
3667
3690
|
},
|
|
3668
3691
|
"name": "datadogSidecarEssential",
|
|
3669
3692
|
"optional": true,
|
|
@@ -3681,7 +3704,7 @@
|
|
|
3681
3704
|
"immutable": true,
|
|
3682
3705
|
"locationInModule": {
|
|
3683
3706
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
3684
|
-
"line":
|
|
3707
|
+
"line": 267
|
|
3685
3708
|
},
|
|
3686
3709
|
"name": "datadogSidecarTag",
|
|
3687
3710
|
"optional": true,
|
|
@@ -3699,7 +3722,7 @@
|
|
|
3699
3722
|
"immutable": true,
|
|
3700
3723
|
"locationInModule": {
|
|
3701
3724
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
3702
|
-
"line":
|
|
3725
|
+
"line": 247
|
|
3703
3726
|
},
|
|
3704
3727
|
"name": "loggingModeForDatadogAgent",
|
|
3705
3728
|
"optional": true,
|
|
@@ -3717,7 +3740,7 @@
|
|
|
3717
3740
|
"immutable": true,
|
|
3718
3741
|
"locationInModule": {
|
|
3719
3742
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
3720
|
-
"line":
|
|
3743
|
+
"line": 240
|
|
3721
3744
|
},
|
|
3722
3745
|
"name": "loggingModeForService",
|
|
3723
3746
|
"optional": true,
|
|
@@ -3736,7 +3759,7 @@
|
|
|
3736
3759
|
"immutable": true,
|
|
3737
3760
|
"locationInModule": {
|
|
3738
3761
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
3739
|
-
"line":
|
|
3762
|
+
"line": 233
|
|
3740
3763
|
},
|
|
3741
3764
|
"name": "memoryLimitMiB",
|
|
3742
3765
|
"optional": true,
|
|
@@ -3762,7 +3785,7 @@
|
|
|
3762
3785
|
},
|
|
3763
3786
|
"locationInModule": {
|
|
3764
3787
|
"filename": "src/datadog/datadogLogIndexMonitoring.ts",
|
|
3765
|
-
"line":
|
|
3788
|
+
"line": 64
|
|
3766
3789
|
},
|
|
3767
3790
|
"parameters": [
|
|
3768
3791
|
{
|
|
@@ -3788,7 +3811,7 @@
|
|
|
3788
3811
|
"kind": "class",
|
|
3789
3812
|
"locationInModule": {
|
|
3790
3813
|
"filename": "src/datadog/datadogLogIndexMonitoring.ts",
|
|
3791
|
-
"line":
|
|
3814
|
+
"line": 63
|
|
3792
3815
|
},
|
|
3793
3816
|
"name": "DatadogLogIndexMonitoring",
|
|
3794
3817
|
"symbolId": "src/datadog/datadogLogIndexMonitoring:DatadogLogIndexMonitoring"
|
|
@@ -3817,7 +3840,7 @@
|
|
|
3817
3840
|
"immutable": true,
|
|
3818
3841
|
"locationInModule": {
|
|
3819
3842
|
"filename": "src/datadog/datadogLogIndexMonitoring.ts",
|
|
3820
|
-
"line":
|
|
3843
|
+
"line": 20
|
|
3821
3844
|
},
|
|
3822
3845
|
"name": "alertType",
|
|
3823
3846
|
"type": {
|
|
@@ -3833,7 +3856,7 @@
|
|
|
3833
3856
|
"immutable": true,
|
|
3834
3857
|
"locationInModule": {
|
|
3835
3858
|
"filename": "src/datadog/datadogLogIndexMonitoring.ts",
|
|
3836
|
-
"line":
|
|
3859
|
+
"line": 25
|
|
3837
3860
|
},
|
|
3838
3861
|
"name": "dailyLogQuota",
|
|
3839
3862
|
"type": {
|
|
@@ -3849,7 +3872,7 @@
|
|
|
3849
3872
|
"immutable": true,
|
|
3850
3873
|
"locationInModule": {
|
|
3851
3874
|
"filename": "src/datadog/datadogLogIndexMonitoring.ts",
|
|
3852
|
-
"line":
|
|
3875
|
+
"line": 14
|
|
3853
3876
|
},
|
|
3854
3877
|
"name": "indexName",
|
|
3855
3878
|
"type": {
|
|
@@ -3866,12 +3889,31 @@
|
|
|
3866
3889
|
"immutable": true,
|
|
3867
3890
|
"locationInModule": {
|
|
3868
3891
|
"filename": "src/datadog/datadogLogIndexMonitoring.ts",
|
|
3869
|
-
"line":
|
|
3892
|
+
"line": 9
|
|
3870
3893
|
},
|
|
3871
3894
|
"name": "serviceName",
|
|
3872
3895
|
"type": {
|
|
3873
3896
|
"primitive": "string"
|
|
3874
3897
|
}
|
|
3898
|
+
},
|
|
3899
|
+
{
|
|
3900
|
+
"abstract": true,
|
|
3901
|
+
"docs": {
|
|
3902
|
+
"default": "- false",
|
|
3903
|
+
"remarks": "Without setting this value it will lead to an empty result and therefore trigger an alert.",
|
|
3904
|
+
"stability": "stable",
|
|
3905
|
+
"summary": "This value should be used if there is no log message within 24 hours or missing historical data."
|
|
3906
|
+
},
|
|
3907
|
+
"immutable": true,
|
|
3908
|
+
"locationInModule": {
|
|
3909
|
+
"filename": "src/datadog/datadogLogIndexMonitoring.ts",
|
|
3910
|
+
"line": 32
|
|
3911
|
+
},
|
|
3912
|
+
"name": "sparseLogging",
|
|
3913
|
+
"optional": true,
|
|
3914
|
+
"type": {
|
|
3915
|
+
"primitive": "boolean"
|
|
3916
|
+
}
|
|
3875
3917
|
}
|
|
3876
3918
|
],
|
|
3877
3919
|
"symbolId": "src/datadog/datadogLogIndexMonitoring:DatadogLogIndexMonitoringProps"
|
|
@@ -3886,7 +3928,7 @@
|
|
|
3886
3928
|
"kind": "interface",
|
|
3887
3929
|
"locationInModule": {
|
|
3888
3930
|
"filename": "src/datadog/datadogLogIndexMonitoring.ts",
|
|
3889
|
-
"line":
|
|
3931
|
+
"line": 35
|
|
3890
3932
|
},
|
|
3891
3933
|
"name": "DatadogLogQuotaProps",
|
|
3892
3934
|
"properties": [
|
|
@@ -3900,7 +3942,7 @@
|
|
|
3900
3942
|
"immutable": true,
|
|
3901
3943
|
"locationInModule": {
|
|
3902
3944
|
"filename": "src/datadog/datadogLogIndexMonitoring.ts",
|
|
3903
|
-
"line":
|
|
3945
|
+
"line": 50
|
|
3904
3946
|
},
|
|
3905
3947
|
"name": "alertThresholdInPercent",
|
|
3906
3948
|
"type": {
|
|
@@ -3916,7 +3958,7 @@
|
|
|
3916
3958
|
"immutable": true,
|
|
3917
3959
|
"locationInModule": {
|
|
3918
3960
|
"filename": "src/datadog/datadogLogIndexMonitoring.ts",
|
|
3919
|
-
"line":
|
|
3961
|
+
"line": 39
|
|
3920
3962
|
},
|
|
3921
3963
|
"name": "valueInMillionEvents",
|
|
3922
3964
|
"type": {
|
|
@@ -3932,7 +3974,7 @@
|
|
|
3932
3974
|
"immutable": true,
|
|
3933
3975
|
"locationInModule": {
|
|
3934
3976
|
"filename": "src/datadog/datadogLogIndexMonitoring.ts",
|
|
3935
|
-
"line":
|
|
3977
|
+
"line": 44
|
|
3936
3978
|
},
|
|
3937
3979
|
"name": "warningThresholdInPercent",
|
|
3938
3980
|
"type": {
|
|
@@ -3952,7 +3994,7 @@
|
|
|
3952
3994
|
"kind": "interface",
|
|
3953
3995
|
"locationInModule": {
|
|
3954
3996
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
3955
|
-
"line":
|
|
3997
|
+
"line": 117
|
|
3956
3998
|
},
|
|
3957
3999
|
"name": "FargateTaskDefinitionProps",
|
|
3958
4000
|
"properties": [
|
|
@@ -3967,7 +4009,7 @@
|
|
|
3967
4009
|
"immutable": true,
|
|
3968
4010
|
"locationInModule": {
|
|
3969
4011
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
3970
|
-
"line":
|
|
4012
|
+
"line": 135
|
|
3971
4013
|
},
|
|
3972
4014
|
"name": "cpu",
|
|
3973
4015
|
"type": {
|
|
@@ -3985,7 +4027,7 @@
|
|
|
3985
4027
|
"immutable": true,
|
|
3986
4028
|
"locationInModule": {
|
|
3987
4029
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
3988
|
-
"line":
|
|
4030
|
+
"line": 153
|
|
3989
4031
|
},
|
|
3990
4032
|
"name": "memoryLimitMiB",
|
|
3991
4033
|
"type": {
|
|
@@ -4002,7 +4044,7 @@
|
|
|
4002
4044
|
"immutable": true,
|
|
4003
4045
|
"locationInModule": {
|
|
4004
4046
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
4005
|
-
"line":
|
|
4047
|
+
"line": 161
|
|
4006
4048
|
},
|
|
4007
4049
|
"name": "desiredCount",
|
|
4008
4050
|
"optional": true,
|
|
@@ -4660,7 +4702,7 @@
|
|
|
4660
4702
|
"kind": "interface",
|
|
4661
4703
|
"locationInModule": {
|
|
4662
4704
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
4663
|
-
"line":
|
|
4705
|
+
"line": 164
|
|
4664
4706
|
},
|
|
4665
4707
|
"name": "ListenerRule",
|
|
4666
4708
|
"properties": [
|
|
@@ -4672,7 +4714,7 @@
|
|
|
4672
4714
|
"immutable": true,
|
|
4673
4715
|
"locationInModule": {
|
|
4674
4716
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
4675
|
-
"line":
|
|
4717
|
+
"line": 167
|
|
4676
4718
|
},
|
|
4677
4719
|
"name": "conditions",
|
|
4678
4720
|
"type": {
|
|
@@ -4692,7 +4734,7 @@
|
|
|
4692
4734
|
"immutable": true,
|
|
4693
4735
|
"locationInModule": {
|
|
4694
4736
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
4695
|
-
"line":
|
|
4737
|
+
"line": 165
|
|
4696
4738
|
},
|
|
4697
4739
|
"name": "priority",
|
|
4698
4740
|
"type": {
|
|
@@ -4712,7 +4754,7 @@
|
|
|
4712
4754
|
"kind": "interface",
|
|
4713
4755
|
"locationInModule": {
|
|
4714
4756
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
4715
|
-
"line":
|
|
4757
|
+
"line": 170
|
|
4716
4758
|
},
|
|
4717
4759
|
"name": "LoadBalancerOptions",
|
|
4718
4760
|
"properties": [
|
|
@@ -4725,7 +4767,7 @@
|
|
|
4725
4767
|
"immutable": true,
|
|
4726
4768
|
"locationInModule": {
|
|
4727
4769
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
4728
|
-
"line":
|
|
4770
|
+
"line": 189
|
|
4729
4771
|
},
|
|
4730
4772
|
"name": "healthCheck",
|
|
4731
4773
|
"type": {
|
|
@@ -4741,7 +4783,7 @@
|
|
|
4741
4783
|
"immutable": true,
|
|
4742
4784
|
"locationInModule": {
|
|
4743
4785
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
4744
|
-
"line":
|
|
4786
|
+
"line": 194
|
|
4745
4787
|
},
|
|
4746
4788
|
"name": "healthCheckGracePeriod",
|
|
4747
4789
|
"type": {
|
|
@@ -4757,7 +4799,7 @@
|
|
|
4757
4799
|
"immutable": true,
|
|
4758
4800
|
"locationInModule": {
|
|
4759
4801
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
4760
|
-
"line":
|
|
4802
|
+
"line": 174
|
|
4761
4803
|
},
|
|
4762
4804
|
"name": "listener",
|
|
4763
4805
|
"type": {
|
|
@@ -4774,7 +4816,7 @@
|
|
|
4774
4816
|
"immutable": true,
|
|
4775
4817
|
"locationInModule": {
|
|
4776
4818
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
4777
|
-
"line":
|
|
4819
|
+
"line": 184
|
|
4778
4820
|
},
|
|
4779
4821
|
"name": "listenerRules",
|
|
4780
4822
|
"type": {
|
|
@@ -4797,7 +4839,7 @@
|
|
|
4797
4839
|
"immutable": true,
|
|
4798
4840
|
"locationInModule": {
|
|
4799
4841
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
4800
|
-
"line":
|
|
4842
|
+
"line": 212
|
|
4801
4843
|
},
|
|
4802
4844
|
"name": "deregistrationDelay",
|
|
4803
4845
|
"optional": true,
|
|
@@ -4816,7 +4858,7 @@
|
|
|
4816
4858
|
"immutable": true,
|
|
4817
4859
|
"locationInModule": {
|
|
4818
4860
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
4819
|
-
"line":
|
|
4861
|
+
"line": 203
|
|
4820
4862
|
},
|
|
4821
4863
|
"name": "slowStart",
|
|
4822
4864
|
"optional": true,
|
|
@@ -5265,7 +5307,7 @@
|
|
|
5265
5307
|
},
|
|
5266
5308
|
"locationInModule": {
|
|
5267
5309
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
5268
|
-
"line":
|
|
5310
|
+
"line": 351
|
|
5269
5311
|
},
|
|
5270
5312
|
"parameters": [
|
|
5271
5313
|
{
|
|
@@ -5294,7 +5336,7 @@
|
|
|
5294
5336
|
"kind": "class",
|
|
5295
5337
|
"locationInModule": {
|
|
5296
5338
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
5297
|
-
"line":
|
|
5339
|
+
"line": 308
|
|
5298
5340
|
},
|
|
5299
5341
|
"name": "RioFargateService",
|
|
5300
5342
|
"properties": [
|
|
@@ -5306,7 +5348,7 @@
|
|
|
5306
5348
|
"immutable": true,
|
|
5307
5349
|
"locationInModule": {
|
|
5308
5350
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
5309
|
-
"line":
|
|
5351
|
+
"line": 347
|
|
5310
5352
|
},
|
|
5311
5353
|
"name": "connections",
|
|
5312
5354
|
"overrides": "aws-cdk-lib.aws_ec2.IConnectable",
|
|
@@ -5321,7 +5363,7 @@
|
|
|
5321
5363
|
"immutable": true,
|
|
5322
5364
|
"locationInModule": {
|
|
5323
5365
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
5324
|
-
"line":
|
|
5366
|
+
"line": 343
|
|
5325
5367
|
},
|
|
5326
5368
|
"name": "datadogSideCarContainerDefinition",
|
|
5327
5369
|
"type": {
|
|
@@ -5335,7 +5377,7 @@
|
|
|
5335
5377
|
"immutable": true,
|
|
5336
5378
|
"locationInModule": {
|
|
5337
5379
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
5338
|
-
"line":
|
|
5380
|
+
"line": 348
|
|
5339
5381
|
},
|
|
5340
5382
|
"name": "service",
|
|
5341
5383
|
"type": {
|
|
@@ -5349,7 +5391,7 @@
|
|
|
5349
5391
|
"immutable": true,
|
|
5350
5392
|
"locationInModule": {
|
|
5351
5393
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
5352
|
-
"line":
|
|
5394
|
+
"line": 342
|
|
5353
5395
|
},
|
|
5354
5396
|
"name": "serviceContainerDefinition",
|
|
5355
5397
|
"type": {
|
|
@@ -5363,7 +5405,7 @@
|
|
|
5363
5405
|
"immutable": true,
|
|
5364
5406
|
"locationInModule": {
|
|
5365
5407
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
5366
|
-
"line":
|
|
5408
|
+
"line": 345
|
|
5367
5409
|
},
|
|
5368
5410
|
"name": "taskDefinition",
|
|
5369
5411
|
"type": {
|
|
@@ -5377,7 +5419,7 @@
|
|
|
5377
5419
|
"immutable": true,
|
|
5378
5420
|
"locationInModule": {
|
|
5379
5421
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
5380
|
-
"line":
|
|
5422
|
+
"line": 344
|
|
5381
5423
|
},
|
|
5382
5424
|
"name": "logRouterContainerDefinition",
|
|
5383
5425
|
"optional": true,
|
|
@@ -5392,7 +5434,7 @@
|
|
|
5392
5434
|
"immutable": true,
|
|
5393
5435
|
"locationInModule": {
|
|
5394
5436
|
"filename": "src/fargate/rio-fargate-service.ts",
|
|
5395
|
-
"line":
|
|
5437
|
+
"line": 349
|
|
5396
5438
|
},
|
|
5397
5439
|
"name": "targetGroup",
|
|
5398
5440
|
"optional": true,
|
|
@@ -7828,5 +7870,5 @@
|
|
|
7828
7870
|
}
|
|
7829
7871
|
},
|
|
7830
7872
|
"version": "0.0.0",
|
|
7831
|
-
"fingerprint": "
|
|
7873
|
+
"fingerprint": "Jy+OKKtMmQl6v7Nh66t68Cg+74EnVQYYcPwEwkdbVvs="
|
|
7832
7874
|
}
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [2.0.4](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv2.0.3&sourceBranch=refs%2Ftags%2Fv2.0.4) (2022-05-30)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* Migrate Datadog log monitoring to Datadog's "New Events Feature" ([943d8a9](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/commits/943d8a98de63ab2336ac727d4966dafd12d02a3f))
|
|
11
|
+
|
|
12
|
+
### [2.0.3](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv2.0.2&sourceBranch=refs%2Ftags%2Fv2.0.3) (2022-05-19)
|
|
13
|
+
|
|
14
|
+
### [2.0.2](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv2.0.1&sourceBranch=refs%2Ftags%2Fv2.0.2) (2022-04-21)
|
|
15
|
+
|
|
5
16
|
### [2.0.1](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv2.0.0&sourceBranch=refs%2Ftags%2Fv2.0.1) (2022-04-08)
|
|
6
17
|
|
|
7
18
|
|
package/MIGRATION_GUIDE.md
CHANGED
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
# Migration Guide
|
|
2
2
|
|
|
3
3
|
1. Remove projen if not already done
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
a
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
4
|
+
1. **remove projen** dependencies from `package.json`
|
|
5
|
+
2. **copy over** necessary tasks from `.projen/tasks.json` to `package.json`
|
|
6
|
+
3. **remove** `.projen` directory
|
|
7
|
+
* **avoid `eject`** as the resulting tasks script is unreadable and it contains unnecessary/unused features
|
|
8
|
+
* find a more detailed description [here](https://collaboration.msi.audi.com/confluence/display/RIOCLAID/Remove+Projen)
|
|
9
|
+
2. Update `aws-cdk` in `package-json` to latest 2.x version:
|
|
10
|
+
1. **install CDK v2**: `npm install --save-dev aws-cdk@2`
|
|
11
|
+
2. **remove CDK v1 dependencies** (e.g., `@aws-cdk/...`, `constructs`, `@rioclaid/cdk-constructs`) from `package.json`
|
|
12
|
+
3. **add `aws-cdk-lib`**: `npm install aws-cdk-lib`
|
|
13
|
+
3. **add `constructs`**: `npm install constructs@10`
|
|
14
|
+
4. **replace imports**: `$ npx -p aws-cdk-migration rewrite-imports-v2 <your-source-root-here>/**/*.ts`
|
|
15
|
+
5. update `cdk.json` (e.g., by generating a new CDKv2 app in another folder with `npx cdk@2 init app --language=typescript` and comparing its `cdk.json` with yours)
|
|
16
|
+
6. replace `@aws-cdk/assert` with `aws-cdk-lib/assertions` ando migrate expectations to `Template.fromStack(...).hasResource`
|
|
17
|
+
* additional information: [Official Migration Guide](https://docs.aws.amazon.com/cdk/v2/guide/migrating-v2.html)
|
|
18
|
+
5. Replace `@rioclaid/cdk-constructs` with `@rio-cloud/cdk-v2-constructs`
|
|
19
|
+
* **add `@rio-cloud/cdk-v2-constructs`**: `npm install @rio-cloud/cdk-v2-constructs`
|
|
20
|
+
* replace imports `import * as rio from '@rioclaid/cdk-constructs'` with `import * as rio from '@rio-cloud/cdk-v2-constructs'`
|
|
21
|
+
6. In case you use `Claidometer`:\
|
|
22
|
+
There is a breaking change as the property `package` is a reserved keyword in some languages and thus has been renamed to `packageName`
|
|
23
|
+
7. Adopt `renovate.json`
|
|
@@ -18,6 +18,12 @@ export interface DatadogLogIndexMonitoringProps {
|
|
|
18
18
|
* The daily log quota settings.
|
|
19
19
|
*/
|
|
20
20
|
readonly dailyLogQuota: DatadogLogQuotaProps;
|
|
21
|
+
/**
|
|
22
|
+
* This value should be used if there is no log message within 24 hours or missing historical data.
|
|
23
|
+
* Without setting this value it will lead to an empty result and therefore trigger an alert.
|
|
24
|
+
* @default - false
|
|
25
|
+
*/
|
|
26
|
+
readonly sparseLogging?: boolean;
|
|
21
27
|
}
|
|
22
28
|
export interface DatadogLogQuotaProps {
|
|
23
29
|
/**
|
|
@@ -60,7 +60,7 @@ class DatadogLogDailyQuotaMonitor extends datadogMonitor_1.DatadogMonitor {
|
|
|
60
60
|
warning: warningThreshold,
|
|
61
61
|
},
|
|
62
62
|
include_tags: false,
|
|
63
|
-
notify_no_data: true,
|
|
63
|
+
notify_no_data: props.sparseLogging ? false : true,
|
|
64
64
|
no_data_timeframe: 24 * 60,
|
|
65
65
|
},
|
|
66
66
|
},
|
|
@@ -79,7 +79,7 @@ class DatadogLogsAnomalyMonitor extends datadogMonitor_1.DatadogMonitor {
|
|
|
79
79
|
message: `[P4] Logs are getting out of control: ${datadogLogsSearchWithIndexFilterDeepLink(props.indexName)}`,
|
|
80
80
|
options: {
|
|
81
81
|
include_tags: false,
|
|
82
|
-
notify_no_data: true,
|
|
82
|
+
notify_no_data: props.sparseLogging ? false : true,
|
|
83
83
|
threshold_windows: {
|
|
84
84
|
trigger_window: 'last_15m',
|
|
85
85
|
recovery_window: 'last_15m',
|
|
@@ -96,8 +96,8 @@ class DatadogLogDailyQuotaReachedMonitor extends datadogMonitor_1.DatadogMonitor
|
|
|
96
96
|
alertTypes: [props.alertType],
|
|
97
97
|
monitor: {
|
|
98
98
|
name: 'Log quota reached',
|
|
99
|
-
type: 'event alert',
|
|
100
|
-
query: `events(
|
|
99
|
+
type: 'event-v2 alert',
|
|
100
|
+
query: `events("source:datadog datadog_index:${props.indexName} Daily quota reached").rollup("count").last("5m") > 0`,
|
|
101
101
|
message: `[P2] The log quote for the index has been reached. If you do not increase the quota at ${datadogLogsIndexesConfigurationDeepLink}, no new logs will be indexed until the quota is reset at 2:00pm UTC.`,
|
|
102
102
|
options: {
|
|
103
103
|
timeout_h: 24,
|
|
@@ -113,4 +113,4 @@ function datadogLogsSearchWithIndexFilterDeepLink(indexName) {
|
|
|
113
113
|
return `https://app.datadoghq.eu/logs?index=${indexName}`;
|
|
114
114
|
}
|
|
115
115
|
const datadogLogsIndexesConfigurationDeepLink = 'https://app.datadoghq.eu/logs/pipelines/indexes';
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZ0xvZ0luZGV4TW9uaXRvcmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhZG9nL2RhdGFkb2dMb2dJbmRleE1vbml0b3JpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyQ0FBdUM7QUFDdkMscURBQW9FO0FBMkNwRTs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLHlCQUEwQixTQUFRLHNCQUFTO0lBQ3RELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBcUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLDJCQUEyQixDQUFDLElBQUksRUFBRSw2QkFBNkIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1RSxJQUFJLHlCQUF5QixDQUFDLElBQUksRUFBRSwrQkFBK0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1RSxJQUFJLGtDQUFrQyxDQUFDLElBQUksRUFBRSxvQ0FBb0MsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUxRixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUN0QixRQUFRLEVBQUUsR0FBYSxFQUFFO2dCQUN2QixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBQ2xCLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsR0FBRyxHQUFHLEVBQUU7b0JBQzVHLE1BQU0sQ0FBQyxJQUFJLENBQUMsMkVBQTJFLENBQUMsQ0FBQztpQkFDMUY7Z0JBQ0QsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLHVCQUF1QixHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLHVCQUF1QixHQUFHLEdBQUcsRUFBRTtvQkFDeEcsTUFBTSxDQUFDLElBQUksQ0FBQyx5RUFBeUUsQ0FBQyxDQUFDO2lCQUN4RjtnQkFDRCxJQUFJLEtBQUssQ0FBQyxhQUFh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QUFhO2dCQUNuQixLQUFLLEVBQUUsOEJBQThCLEtBQUssQ0FBQyxTQUFTLG9GQUFvRjtnQkFDeEksT0FBTyxFQUFFLDBGQUEwRix1Q0FBdUMsdUVBQXVFO2dCQUNqTixPQUFPLEVBQUU7b0JBQ1AsU0FBUyxFQUFFLEVBQUU7b0JBQ2IsVUFBVSxFQUFFO3dCQUNWLFFBQVEsRUFBRSxDQUFDO3FCQUNaO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFFRCxTQUFTLHdDQUF3QyxDQUFDLFNBQWlCO0lBQ2pFLE9BQU8sdUNBQXVDLFNBQVMsRUFBRSxDQUFDO0FBQzVELENBQUM7QUFFRCxNQUFNLHVDQUF1QyxHQUFHLGlEQUFpRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBEYXRhZG9nTW9uaXRvciwgRGF0YWRvZ0FsZXJ0VHlwZSB9IGZyb20gJy4vZGF0YWRvZ01vbml0b3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFkb2dMb2dJbmRleE1vbml0b3JpbmdQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB5b3VyIHNlcnZpY2UgaW4gRGF0YWRvZy4gQ2FuIGJlIHVzZWQgdG8gcXVlcnkgdGhlIG1vbml0b3JzLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIERhdGFkb2cgaW5kZXguXG4gICAqL1xuICByZWFkb25seSBpbmRleE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGludGVncmF0aW9uIHRvIHVzZSBmb3IgYWxlcnRpbmcuXG4gICAqIEZvciBPcHNHZW5pZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBhbmQgY29uZmlndXJlIHRoZSAnb3BzZ2VuaWUtaW50ZWdyYXRpb24nIGFjY291bnQgbW9kdWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgYWxlcnRUeXBlOiBEYXRhZG9nQWxlcnRUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgZGFpbHkgbG9nIHF1b3RhIHNldHRpbmdzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGFpbHlMb2dRdW90YTogRGF0YWRvZ0xvZ1F1b3RhUHJvcHM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YWRvZ0xvZ1F1b3RhUHJvcHMge1xuICAvKipcbiAgICogVGhlIGRhaWx5IGxvZyBxdW90YSBmb3IgdGhlIHRlYW0tc3BlY2lmaWMgaW5kZXggaW4gbWlsbGlvbiBldmVudHMuXG4gICAqL1xuICByZWFkb25seSB2YWx1ZUluTWlsbGlvbkV2ZW50czogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgd2FybmluZyB0aHJlc2hvbGQgZm9yIHRoZSBkYWlseSBsb2cgcXVvdGEgbW9uaXRvciBpbiBwZXJjZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgd2FybmluZ1RocmVzaG9sZEluUGVyY2VudDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgYWxhcm0gdGhyZXNob2xkIGZvciB0aGUgZGFpbHkgbG9nIHF1b3RhIG1vbml0b3IgaW4gcGVyY2VudC5cbiAgICogVGhlIHZhbHVlIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAxMDAgYW5kIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB0aGUgd2FybmluZyB0aHJlc2hvbGQuXG4gICAqL1xuICByZWFkb25seSBhbGVydFRocmVzaG9sZEluUGVyY2VudDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEJhc2ljIG1vbml0b3JpbmcgYW5kIGFsZXJ0aW5nIGZvciBhIERhdGFkb2cgbG9ncyBpbmRleC5cbiAqIEl0IGZvbGxvd3MgdGhlIERhdGFkb2cgZ3VpZGUgYXQgaHR0cHM6Ly9kb2NzLmRhdGFkb2docS5jb20vbG9ncy9ndWlkZS9sb2dzLW1vbml0b3JzLW9uLXZvbHVtZXMvXG4gKiBhbmQgY29uc2lzdHMgb2YgdGhlIGZvbGxvd2luZyB0aHJlZSBtb25pdG9ycy5cbiAqICAgMS4gQSBtZXRyaWMgYWxlcnQgdGhhdCBmaXJlcyB3aGVuIHlvdSByZWFjaCBhIGNlcnRhaW4gdGhyZXNob2xkIG9mIHlvdXIgZGFpbHkgbG9nIHF1b3RhLlxuICogICAyLiBBbiBhbm9tYWx5IG1vbml0b3IgdGhhdCBkZXRlY3RzIGxvZyBhbW91bnQgc3Bpa2VzLlxuICogICAzLiBBbiBldmVudCBhbGVydCB0aGF0IGZpcmVzIHdoZW4geW91IGhpdCB0aGUgZGFpbHkgbG9nIHF1b3RhLlxuICpcbiAqIEEgZGF0YWRvZyBsb2cgaW5kZXggaXMgdGVhbSBzcGVjaWZpYyBhbmQgdGh1cyB0aGUgbW9uaXRvciBuZWVkcyB0byBiZSBkZXBsb3llZCBqdXN0IG9uY2UgcGVyIGluZGV4L3RlYW0uXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhZG9nTG9nSW5kZXhNb25pdG9yaW5nIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFkb2dMb2dJbmRleE1vbml0b3JpbmdQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBuZXcgRGF0YWRvZ0xvZ0RhaWx5UXVvdGFNb25pdG9yKHRoaXMsICdEYXRhZG9nTG9nRGFpbHlRdW90YU1vbml0b3InLCBwcm9wcyk7XG4gICAgbmV3IERhdGFkb2dMb2dzQW5vbWFseU1vbml0b3IodGhpcywgJ0RhdGFkb2dMb2dBbGVydEFub21hbHlNb25pdG9yJywgcHJvcHMpO1xuICAgIG5ldyBEYXRhZG9nTG9nRGFpbHlRdW90YVJlYWNoZWRNb25pdG9yKHRoaXMsICdEYXRhZG9nTG9nRGFpbHlRdW90YVJlYWNoZWRNb25pdG9yJywgcHJvcHMpO1xuXG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24oe1xuICAgICAgdmFsaWRhdGU6ICgpOiBzdHJpbmdbXSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICBpZiAocHJvcHMuZGFpbHlMb2dRdW90YS53YXJuaW5nVGhyZXNob2xkSW5QZXJjZW50IDwgMCB8fCBwcm9wcy5kYWlseUxvZ1F1b3RhLndhcm5pbmdUaHJlc2hvbGRJblBlcmNlbnQgPiAxMDApIHtcbiAgICAgICAgICByZXN1bHQucHVzaCgnSW52YWxpZCBbd2FybmluZ1RocmVzaG9sZEluUGVyY2VudF06IGV4cGVjdGluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEwMCcpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwcm9wcy5kYWlseUxvZ1F1b3RhLmFsZXJ0VGhyZXNob2xkSW5QZXJjZW50IDwgMCB8fCBwcm9wcy5kYWlseUxvZ1F1b3RhLmFsZXJ0VGhyZXNob2xkSW5QZXJjZW50ID4gMTAwKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goJ0ludmFsaWQgW2FsZXJ0VGhyZXNob2xkSW5QZXJjZW50XTogZXhwZWN0aW5nIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMTAwJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByb3BzLmRhaWx5TG9nUXVvdGEuYWxlcnRUaHJlc2hvbGRJblBlcmNlbnQgPCBwcm9wcy5kYWlseUxvZ1F1b3RhLndhcm5pbmdUaHJlc2hvbGRJblBlcmNlbnQpIHtcbiAgICAgICAgICByZXN1bHQucHVzaCgnSW52YWxpZCBbYWxlcnRUaHJlc2hvbGRJblBlcmNlbnRdOiBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBbd2FybmluZ1RocmVzaG9sZEluUGVyY2VudF0nKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuXG5jbGFzcyBEYXRhZG9nTG9nRGFpbHlRdW90YU1vbml0b3IgZXh0ZW5kcyBEYXRhZG9nTW9uaXRvciB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhZG9nTG9nSW5kZXhNb25pdG9yaW5nUHJvcHMpIHtcbiAgICBjb25zdCBsb2dRdW90YUluRXZlbnRzID0gTWF0aC5mbG9vcihwcm9wcy5kYWlseUxvZ1F1b3RhLnZhbHVlSW5NaWxsaW9uRXZlbnRzICogMV8wMDBfMDAwKTtcbiAgICBjb25zdCB3YXJuaW5nVGhyZXNob2xkID0gTWF0aC5mbG9vcihsb2dRdW90YUluRXZlbnRzICogKHByb3BzLmRhaWx5TG9nUXVvdGEud2FybmluZ1RocmVzaG9sZEluUGVyY2VudCAvIDEwMCkpO1xuICAgIGNvbnN0IGFsZXJ0VGhyZXNob2xkID0gTWF0aC5mbG9vcihsb2dRdW90YUluRXZlbnRzICogKHByb3BzLmRhaWx5TG9nUXVvdGEuYWxlcnRUaHJlc2hvbGRJblBlcmNlbnQgLyAxMDApKTtcblxuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgYWxlcnRUeXBlczogW3Byb3BzLmFsZXJ0VHlwZV0sXG4gICAgICBtb25pdG9yOiB7XG4gICAgICAgIG5hbWU6ICdMb2cgcXVvdGEgYWxtb3N0IHJlYWNoZWQnLFxuICAgICAgICB0eXBlOiAnbWV0cmljIGFsZXJ0JyxcbiAgICAgICAgcXVlcnk6IGBzdW0obGFzdF81bSk6c3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLmxvZ3MuaW5nZXN0ZWRfZXZlbnRze2RhdGFkb2dfaXNfZXhjbHVkZWQ6ZmFsc2UsZGF0YWRvZ19pbmRleDoke3Byb3BzLmluZGV4TmFtZX19LmFzX2NvdW50KCkucm9sbHVwKHN1bSwgODY0MDApID49ICR7YWxlcnRUaHJlc2hvbGR9YCxcbiAgICAgICAgbWVzc2FnZTogYFtQM10gSW5zcGVjdCB5b3VyIGxvZyB2b2x1bWUgYXQgJHtkYXRhZG9nTG9nc1NlYXJjaFdpdGhJbmRleEZpbHRlckRlZXBMaW5rKFxuICAgICAgICAgIHByb3BzLmluZGV4TmFtZSxcbiAgICAgICAgKX0gb3IgYWRhcHQgdGhlIGxvZyBxdW90YSBhdCAke2RhdGFkb2dMb2dzSW5kZXhlc0NvbmZpZ3VyYXRpb25EZWVwTGlua31gLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgdGhyZXNob2xkczoge1xuICAgICAgICAgICAgY3JpdGljYWw6IGFsZXJ0VGhyZXNob2xkLFxuICAgICAgICAgICAgd2FybmluZzogd2FybmluZ1RocmVzaG9sZCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGluY2x1ZGVfdGFnczogZmFsc2UsXG4gICAgICAgICAgbm90aWZ5X25vX2RhdGE6IHRydWUsXG4gICAgICAgICAgbm9fZGF0YV90aW1lZnJhbWU6IDI0ICogNjAsIC8vIDEgZGF5XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbmNsYXNzIERhdGFkb2dMb2dzQW5vbWFseU1vbml0b3IgZXh0ZW5kcyBEYXRhZG9nTW9uaXRvciB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhZG9nTG9nSW5kZXhNb25pdG9yaW5nUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHNlcnZpY2VOYW1lOiBwcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgIGFsZXJ0VHlwZXM6IFtwcm9wcy5hbGVydFR5cGVdLFxuICAgICAgbW9uaXRvcjoge1xuICAgICAgICBuYW1lOiAnTG9nIGFtb3VudCBpcyByaXNpbmcgdG8gdW5leHBlY3RlZCBsZXZlbHMnLFxuICAgICAgICB0eXBlOiAnbWV0cmljIGFsZXJ0JyxcbiAgICAgICAgcXVlcnk6IGBhdmcobGFzdF80aCk6YW5vbWFsaWVzKHN1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5sb2dzLmluZ2VzdGVkX2V2ZW50c3tkYXRhZG9nX2lzX2V4Y2x1ZGVkOmZhbHNlLGRhdGFkb2dfaW5kZXg6JHtwcm9wcy5pbmRleE5hbWV9fS5hc19jb3VudCgpLCAncm9idXN0JywgMiwgZGlyZWN0aW9uPSdhYm92ZScsIGFsZXJ0X3dpbmRvdz0nbGFzdF8xNW0nLCBpbnRlcnZhbD02MCwgY291bnRfZGVmYXVsdF96ZXJvPSd0cnVlJywgc2Vhc29uYWxpdHk9J3dlZWtseScsIHRpbWV6b25lPSdldXJvcGUvYmVybGluJykgPj0gMWAsXG4gICAgICAgIG1lc3NhZ2U6IGBbUDRdIExvZ3MgYXJlIGdldHRpbmcgb3V0IG9mIGNvbnRyb2w6ICR7ZGF0YWRvZ0xvZ3NTZWFyY2hXaXRoSW5kZXhGaWx0ZXJEZWVwTGluayhcbiAgICAgICAgICBwcm9wcy5pbmRleE5hbWUsXG4gICAgICAgICl9YCxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGluY2x1ZGVfdGFnczogZmFsc2UsXG4gICAgICAgICAgbm90aWZ5X25vX2RhdGE6IHRydWUsXG4gICAgICAgICAgdGhyZXNob2xkX3dpbmRvd3M6IHtcbiAgICAgICAgICAgIHRyaWdnZXJfd2luZG93OiAnbGFzdF8xNW0nLFxuICAgICAgICAgICAgcmVjb3Zlcnlfd2luZG93OiAnbGFzdF8xNW0nLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbmNsYXNzIERhdGFkb2dMb2dEYWlseVF1b3RhUmVhY2hlZE1vbml0b3IgZXh0ZW5kcyBEYXRhZG9nTW9uaXRvciB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhZG9nTG9nSW5kZXhNb25pdG9yaW5nUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHNlcnZpY2VOYW1lOiBwcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgIGFsZXJ0VHlwZXM6IFtwcm9wcy5hbGVydFR5cGVdLFxuICAgICAgbW9uaXRvcjoge1xuICAgICAgICBuYW1lOiAnTG9nIHF1b3RhIHJlYWNoZWQnLFxuICAgICAgICB0eXBlOiAnZXZlbnQgYWxlcnQnLFxuICAgICAgICBxdWVyeTogYGV2ZW50cygndGFnczpkYXRhZG9nX2luZGV4OiR7cHJvcHMuaW5kZXhOYW1lfSBwcmlvcml0eTphbGwgRGFpbHkgcXVvdGEgcmVhY2hlZCBzb3VyY2VzOmRhdGFkb2cnKS5yb2xsdXAoJ2NvdW50JykubGFzdCgnNW0nKSA+IDBgLFxuICAgICAgICBtZXNzYWdlOiBgW1AyXSBUaGUgbG9nIHF1b3RlIGZvciB0aGUgaW5kZXggaGFzIGJlZW4gcmVhY2hlZC4gSWYgeW91IGRvIG5vdCBpbmNyZWFzZSB0aGUgcXVvdGEgYXQgJHtkYXRhZG9nTG9nc0luZGV4ZXNDb25maWd1cmF0aW9uRGVlcExpbmt9LCBubyBuZXcgbG9ncyB3aWxsIGJlIGluZGV4ZWQgdW50aWwgdGhlIHF1b3RhIGlzIHJlc2V0IGF0IDI6MDBwbSBVVEMuYCxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHRpbWVvdXRfaDogMjQsXG4gICAgICAgICAgdGhyZXNob2xkczoge1xuICAgICAgICAgICAgY3JpdGljYWw6IDAsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZGF0YWRvZ0xvZ3NTZWFyY2hXaXRoSW5kZXhGaWx0ZXJEZWVwTGluayhpbmRleE5hbWU6IHN0cmluZykge1xuICByZXR1cm4gYGh0dHBzOi8vYXBwLmRhdGFkb2docS5ldS9sb2dzP2luZGV4PSR7aW5kZXhOYW1lfWA7XG59XG5cbmNvbnN0IGRhdGFkb2dMb2dzSW5kZXhlc0NvbmZpZ3VyYXRpb25EZWVwTGluayA9ICdodHRwczovL2FwcC5kYXRhZG9naHEuZXUvbG9ncy9waXBlbGluZXMvaW5kZXhlcyc7XG4iXX0=
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZ0xvZ0luZGV4TW9uaXRvcmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhZG9nL2RhdGFkb2dMb2dJbmRleE1vbml0b3JpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyQ0FBdUM7QUFDdkMscURBQW9FO0FBbURwRTs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLHlCQUEwQixTQUFRLHNCQUFTO0lBQ3RELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBcUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLDJCQUEyQixDQUFDLElBQUksRUFBRSw2QkFBNkIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1RSxJQUFJLHlCQUF5QixDQUFDLElBQUksRUFBRSwrQkFBK0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1RSxJQUFJLGtDQUFrQyxDQUFDLElBQUksRUFBRSxvQ0FBb0MsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUxRixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUN0QixRQUFRLEVBQUUsR0FBYSxFQUFFO2dCQUN2QixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBQ2xCLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsR0FBRyxHQUFHLEVBQUU7b0JBQzVHLE1BQU0sQ0FBQyxJQUFJLENBQUMsMkVBQTJFLENBQUMsQ0FBQztpQkFDMUY7Z0JBQ0QsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLHVCQUF1QixHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLHVCQUF1QixHQUFHLEdBQUcsRUFBRTtvQkFDeEcsTUFBTSxDQUFDLElBQUksQ0FBQyx5RUFBeUUsQ0FBQyxDQUFDO2lCQUN4RjtnQkFDRCxJQUFJLEtBQUssQ0FBQyxhQUFh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VztZQUM5QixVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO1lBQzdCLE9BQU8sRUFBRTtnQkFDUCxJQUFJLEVBQUUsbUJBQW1CO2dCQUN6QixJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixLQUFLLEVBQUUsd0NBQXdDLEtBQUssQ0FBQyxTQUFTLHVEQUF1RDtnQkFDckgsT0FBTyxFQUFFLDBGQUEwRix1Q0FBdUMsdUVBQXVFO2dCQUNqTixPQUFPLEVBQUU7b0JBQ1AsU0FBUyxFQUFFLEVBQUU7b0JBQ2IsVUFBVSxFQUFFO3dCQUNWLFFBQVEsRUFBRSxDQUFDO3FCQUNaO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFFRCxTQUFTLHdDQUF3QyxDQUFDLFNBQWlCO0lBQ2pFLE9BQU8sdUNBQXVDLFNBQVMsRUFBRSxDQUFDO0FBQzVELENBQUM7QUFFRCxNQUFNLHVDQUF1QyxHQUFHLGlEQUFpRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBEYXRhZG9nTW9uaXRvciwgRGF0YWRvZ0FsZXJ0VHlwZSB9IGZyb20gJy4vZGF0YWRvZ01vbml0b3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFkb2dMb2dJbmRleE1vbml0b3JpbmdQcm9wcyB7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHlvdXIgc2VydmljZSBpbiBEYXRhZG9nLiBDYW4gYmUgdXNlZCB0byBxdWVyeSB0aGUgbW9uaXRvcnMuXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgRGF0YWRvZyBpbmRleC5cbiAgICovXG4gIHJlYWRvbmx5IGluZGV4TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaW50ZWdyYXRpb24gdG8gdXNlIGZvciBhbGVydGluZy5cbiAgICogRm9yIE9wc0dlbmllLCB5b3UgbmVlZCB0byBpbnN0YWxsIGFuZCBjb25maWd1cmUgdGhlICdvcHNnZW5pZS1pbnRlZ3JhdGlvbicgYWNjb3VudCBtb2R1bGUuXG4gICAqL1xuICByZWFkb25seSBhbGVydFR5cGU6IERhdGFkb2dBbGVydFR5cGU7XG5cbiAgLyoqXG4gICAqIFRoZSBkYWlseSBsb2cgcXVvdGEgc2V0dGluZ3MuXG4gICAqL1xuICByZWFkb25seSBkYWlseUxvZ1F1b3RhOiBEYXRhZG9nTG9nUXVvdGFQcm9wcztcblxuICAvKipcbiAgICogVGhpcyB2YWx1ZSBzaG91bGQgYmUgdXNlZCBpZiB0aGVyZSBpcyBubyBsb2cgbWVzc2FnZSB3aXRoaW4gMjQgaG91cnMgb3IgbWlzc2luZyBoaXN0b3JpY2FsIGRhdGEuXG4gICAqIFdpdGhvdXQgc2V0dGluZyB0aGlzIHZhbHVlIGl0IHdpbGwgbGVhZCB0byBhbiBlbXB0eSByZXN1bHQgYW5kIHRoZXJlZm9yZSB0cmlnZ2VyIGFuIGFsZXJ0LlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzcGFyc2VMb2dnaW5nPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhZG9nTG9nUXVvdGFQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgZGFpbHkgbG9nIHF1b3RhIGZvciB0aGUgdGVhbS1zcGVjaWZpYyBpbmRleCBpbiBtaWxsaW9uIGV2ZW50cy5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlSW5NaWxsaW9uRXZlbnRzOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB3YXJuaW5nIHRocmVzaG9sZCBmb3IgdGhlIGRhaWx5IGxvZyBxdW90YSBtb25pdG9yIGluIHBlcmNlbnQuXG4gICAqL1xuICByZWFkb25seSB3YXJuaW5nVGhyZXNob2xkSW5QZXJjZW50OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBhbGFybSB0aHJlc2hvbGQgZm9yIHRoZSBkYWlseSBsb2cgcXVvdGEgbW9uaXRvciBpbiBwZXJjZW50LlxuICAgKiBUaGUgdmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDEwMCBhbmQgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSB3YXJuaW5nIHRocmVzaG9sZC5cbiAgICovXG4gIHJlYWRvbmx5IGFsZXJ0VGhyZXNob2xkSW5QZXJjZW50OiBudW1iZXI7XG59XG5cbi8qKlxuICogQmFzaWMgbW9uaXRvcmluZyBhbmQgYWxlcnRpbmcgZm9yIGEgRGF0YWRvZyBsb2dzIGluZGV4LlxuICogSXQgZm9sbG93cyB0aGUgRGF0YWRvZyBndWlkZSBhdCBodHRwczovL2RvY3MuZGF0YWRvZ2hxLmNvbS9sb2dzL2d1aWRlL2xvZ3MtbW9uaXRvcnMtb24tdm9sdW1lcy9cbiAqIGFuZCBjb25zaXN0cyBvZiB0aGUgZm9sbG93aW5nIHRocmVlIG1vbml0b3JzLlxuICogICAxLiBBIG1ldHJpYyBhbGVydCB0aGF0IGZpcmVzIHdoZW4geW91IHJlYWNoIGEgY2VydGFpbiB0aHJlc2hvbGQgb2YgeW91ciBkYWlseSBsb2cgcXVvdGEuXG4gKiAgIDIuIEFuIGFub21hbHkgbW9uaXRvciB0aGF0IGRldGVjdHMgbG9nIGFtb3VudCBzcGlrZXMuXG4gKiAgIDMuIEFuIGV2ZW50IGFsZXJ0IHRoYXQgZmlyZXMgd2hlbiB5b3UgaGl0IHRoZSBkYWlseSBsb2cgcXVvdGEuXG4gKlxuICogQSBkYXRhZG9nIGxvZyBpbmRleCBpcyB0ZWFtIHNwZWNpZmljIGFuZCB0aHVzIHRoZSBtb25pdG9yIG5lZWRzIHRvIGJlIGRlcGxveWVkIGp1c3Qgb25jZSBwZXIgaW5kZXgvdGVhbS5cbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFkb2dMb2dJbmRleE1vbml0b3JpbmcgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGF0YWRvZ0xvZ0luZGV4TW9uaXRvcmluZ1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIG5ldyBEYXRhZG9nTG9nRGFpbHlRdW90YU1vbml0b3IodGhpcywgJ0RhdGFkb2dMb2dEYWlseVF1b3RhTW9uaXRvcicsIHByb3BzKTtcbiAgICBuZXcgRGF0YWRvZ0xvZ3NBbm9tYWx5TW9uaXRvcih0aGlzLCAnRGF0YWRvZ0xvZ0FsZXJ0QW5vbWFseU1vbml0b3InLCBwcm9wcyk7XG4gICAgbmV3IERhdGFkb2dMb2dEYWlseVF1b3RhUmVhY2hlZE1vbml0b3IodGhpcywgJ0RhdGFkb2dMb2dEYWlseVF1b3RhUmVhY2hlZE1vbml0b3InLCBwcm9wcyk7XG5cbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbih7XG4gICAgICB2YWxpZGF0ZTogKCk6IHN0cmluZ1tdID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgIGlmIChwcm9wcy5kYWlseUxvZ1F1b3RhLndhcm5pbmdUaHJlc2hvbGRJblBlcmNlbnQgPCAwIHx8IHByb3BzLmRhaWx5TG9nUXVvdGEud2FybmluZ1RocmVzaG9sZEluUGVyY2VudCA+IDEwMCkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFt3YXJuaW5nVGhyZXNob2xkSW5QZXJjZW50XTogZXhwZWN0aW5nIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMTAwJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByb3BzLmRhaWx5TG9nUXVvdGEuYWxlcnRUaHJlc2hvbGRJblBlcmNlbnQgPCAwIHx8IHByb3BzLmRhaWx5TG9nUXVvdGEuYWxlcnRUaHJlc2hvbGRJblBlcmNlbnQgPiAxMDApIHtcbiAgICAgICAgICByZXN1bHQucHVzaCgnSW52YWxpZCBbYWxlcnRUaHJlc2hvbGRJblBlcmNlbnRdOiBleHBlY3RpbmcgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxMDAnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvcHMuZGFpbHlMb2dRdW90YS5hbGVydFRocmVzaG9sZEluUGVyY2VudCA8IHByb3BzLmRhaWx5TG9nUXVvdGEud2FybmluZ1RocmVzaG9sZEluUGVyY2VudCkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFthbGVydFRocmVzaG9sZEluUGVyY2VudF06IG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIFt3YXJuaW5nVGhyZXNob2xkSW5QZXJjZW50XScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbmNsYXNzIERhdGFkb2dMb2dEYWlseVF1b3RhTW9uaXRvciBleHRlbmRzIERhdGFkb2dNb25pdG9yIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFkb2dMb2dJbmRleE1vbml0b3JpbmdQcm9wcykge1xuICAgIGNvbnN0IGxvZ1F1b3RhSW5FdmVudHMgPSBNYXRoLmZsb29yKHByb3BzLmRhaWx5TG9nUXVvdGEudmFsdWVJbk1pbGxpb25FdmVudHMgKiAxXzAwMF8wMDApO1xuICAgIGNvbnN0IHdhcm5pbmdUaHJlc2hvbGQgPSBNYXRoLmZsb29yKGxvZ1F1b3RhSW5FdmVudHMgKiAocHJvcHMuZGFpbHlMb2dRdW90YS53YXJuaW5nVGhyZXNob2xkSW5QZXJjZW50IC8gMTAwKSk7XG4gICAgY29uc3QgYWxlcnRUaHJlc2hvbGQgPSBNYXRoLmZsb29yKGxvZ1F1b3RhSW5FdmVudHMgKiAocHJvcHMuZGFpbHlMb2dRdW90YS5hbGVydFRocmVzaG9sZEluUGVyY2VudCAvIDEwMCkpO1xuXG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBzZXJ2aWNlTmFtZTogcHJvcHMuc2VydmljZU5hbWUsXG4gICAgICBhbGVydFR5cGVzOiBbcHJvcHMuYWxlcnRUeXBlXSxcbiAgICAgIG1vbml0b3I6IHtcbiAgICAgICAgbmFtZTogJ0xvZyBxdW90YSBhbG1vc3QgcmVhY2hlZCcsXG4gICAgICAgIHR5cGU6ICdtZXRyaWMgYWxlcnQnLFxuICAgICAgICBxdWVyeTogYHN1bShsYXN0XzVtKTpzdW06ZGF0YWRvZy5lc3RpbWF0ZWRfdXNhZ2UubG9ncy5pbmdlc3RlZF9ldmVudHN7ZGF0YWRvZ19pc19leGNsdWRlZDpmYWxzZSxkYXRhZG9nX2luZGV4OiR7cHJvcHMuaW5kZXhOYW1lfX0uYXNfY291bnQoKS5yb2xsdXAoc3VtLCA4NjQwMCkgPj0gJHthbGVydFRocmVzaG9sZH1gLFxuICAgICAgICBtZXNzYWdlOiBgW1AzXSBJbnNwZWN0IHlvdXIgbG9nIHZvbHVtZSBhdCAke2RhdGFkb2dMb2dzU2VhcmNoV2l0aEluZGV4RmlsdGVyRGVlcExpbmsoXG4gICAgICAgICAgcHJvcHMuaW5kZXhOYW1lLFxuICAgICAgICApfSBvciBhZGFwdCB0aGUgbG9nIHF1b3RhIGF0ICR7ZGF0YWRvZ0xvZ3NJbmRleGVzQ29uZmlndXJhdGlvbkRlZXBMaW5rfWAsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICB0aHJlc2hvbGRzOiB7XG4gICAgICAgICAgICBjcml0aWNhbDogYWxlcnRUaHJlc2hvbGQsXG4gICAgICAgICAgICB3YXJuaW5nOiB3YXJuaW5nVGhyZXNob2xkLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgaW5jbHVkZV90YWdzOiBmYWxzZSxcbiAgICAgICAgICBub3RpZnlfbm9fZGF0YTogcHJvcHMuc3BhcnNlTG9nZ2luZyA/IGZhbHNlIDogdHJ1ZSxcbiAgICAgICAgICBub19kYXRhX3RpbWVmcmFtZTogMjQgKiA2MCwgLy8gMSBkYXlcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuY2xhc3MgRGF0YWRvZ0xvZ3NBbm9tYWx5TW9uaXRvciBleHRlbmRzIERhdGFkb2dNb25pdG9yIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFkb2dMb2dJbmRleE1vbml0b3JpbmdQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgYWxlcnRUeXBlczogW3Byb3BzLmFsZXJ0VHlwZV0sXG4gICAgICBtb25pdG9yOiB7XG4gICAgICAgIG5hbWU6ICdMb2cgYW1vdW50IGlzIHJpc2luZyB0byB1bmV4cGVjdGVkIGxldmVscycsXG4gICAgICAgIHR5cGU6ICdtZXRyaWMgYWxlcnQnLFxuICAgICAgICBxdWVyeTogYGF2ZyhsYXN0XzRoKTphbm9tYWxpZXMoc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLmxvZ3MuaW5nZXN0ZWRfZXZlbnRze2RhdGFkb2dfaXNfZXhjbHVkZWQ6ZmFsc2UsZGF0YWRvZ19pbmRleDoke3Byb3BzLmluZGV4TmFtZX19LmFzX2NvdW50KCksICdyb2J1c3QnLCAyLCBkaXJlY3Rpb249J2Fib3ZlJywgYWxlcnRfd2luZG93PSdsYXN0XzE1bScsIGludGVydmFsPTYwLCBjb3VudF9kZWZhdWx0X3plcm89J3RydWUnLCBzZWFzb25hbGl0eT0nd2Vla2x5JywgdGltZXpvbmU9J2V1cm9wZS9iZXJsaW4nKSA+PSAxYCxcbiAgICAgICAgbWVzc2FnZTogYFtQNF0gTG9ncyBhcmUgZ2V0dGluZyBvdXQgb2YgY29udHJvbDogJHtkYXRhZG9nTG9nc1NlYXJjaFdpdGhJbmRleEZpbHRlckRlZXBMaW5rKFxuICAgICAgICAgIHByb3BzLmluZGV4TmFtZSxcbiAgICAgICAgKX1gLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgaW5jbHVkZV90YWdzOiBmYWxzZSxcbiAgICAgICAgICBub3RpZnlfbm9fZGF0YTogcHJvcHMuc3BhcnNlTG9nZ2luZyA/IGZhbHNlIDogdHJ1ZSxcbiAgICAgICAgICB0aHJlc2hvbGRfd2luZG93czoge1xuICAgICAgICAgICAgdHJpZ2dlcl93aW5kb3c6ICdsYXN0XzE1bScsXG4gICAgICAgICAgICByZWNvdmVyeV93aW5kb3c6ICdsYXN0XzE1bScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuY2xhc3MgRGF0YWRvZ0xvZ0RhaWx5UXVvdGFSZWFjaGVkTW9uaXRvciBleHRlbmRzIERhdGFkb2dNb25pdG9yIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFkb2dMb2dJbmRleE1vbml0b3JpbmdQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgYWxlcnRUeXBlczogW3Byb3BzLmFsZXJ0VHlwZV0sXG4gICAgICBtb25pdG9yOiB7XG4gICAgICAgIG5hbWU6ICdMb2cgcXVvdGEgcmVhY2hlZCcsXG4gICAgICAgIHR5cGU6ICdldmVudC12MiBhbGVydCcsXG4gICAgICAgIHF1ZXJ5OiBgZXZlbnRzKFwic291cmNlOmRhdGFkb2cgZGF0YWRvZ19pbmRleDoke3Byb3BzLmluZGV4TmFtZX0gRGFpbHkgcXVvdGEgcmVhY2hlZFwiKS5yb2xsdXAoXCJjb3VudFwiKS5sYXN0KFwiNW1cIikgPiAwYCxcbiAgICAgICAgbWVzc2FnZTogYFtQMl0gVGhlIGxvZyBxdW90ZSBmb3IgdGhlIGluZGV4IGhhcyBiZWVuIHJlYWNoZWQuIElmIHlvdSBkbyBub3QgaW5jcmVhc2UgdGhlIHF1b3RhIGF0ICR7ZGF0YWRvZ0xvZ3NJbmRleGVzQ29uZmlndXJhdGlvbkRlZXBMaW5rfSwgbm8gbmV3IGxvZ3Mgd2lsbCBiZSBpbmRleGVkIHVudGlsIHRoZSBxdW90YSBpcyByZXNldCBhdCAyOjAwcG0gVVRDLmAsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICB0aW1lb3V0X2g6IDI0LFxuICAgICAgICAgIHRocmVzaG9sZHM6IHtcbiAgICAgICAgICAgIGNyaXRpY2FsOiAwLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRhdGFkb2dMb2dzU2VhcmNoV2l0aEluZGV4RmlsdGVyRGVlcExpbmsoaW5kZXhOYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGBodHRwczovL2FwcC5kYXRhZG9naHEuZXUvbG9ncz9pbmRleD0ke2luZGV4TmFtZX1gO1xufVxuXG5jb25zdCBkYXRhZG9nTG9nc0luZGV4ZXNDb25maWd1cmF0aW9uRGVlcExpbmsgPSAnaHR0cHM6Ly9hcHAuZGF0YWRvZ2hxLmV1L2xvZ3MvcGlwZWxpbmVzL2luZGV4ZXMnO1xuIl19
|