browserstack-node-sdk 1.21.1 → 1.23.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.
Files changed (98) hide show
  1. package/ats/src/CFTemplates/aws-eks-cluster-dep.yaml +202 -0
  2. package/ats/src/CFTemplates/s3-create.yaml +20 -0
  3. package/ats/src/CFTemplates/subnet-create.yaml +85 -0
  4. package/ats/src/CFTemplates/subnet-import.yaml +15 -0
  5. package/ats/src/CFTemplates/vpc-create.yaml +27 -0
  6. package/ats/src/CFTemplates/vpc-import.yaml +5 -0
  7. package/ats/src/commands/configure.js +1 -0
  8. package/ats/src/commands/connect.js +1 -0
  9. package/ats/src/commands/connect_commands/grid.js +1 -0
  10. package/ats/src/commands/create.js +1 -0
  11. package/ats/src/commands/create_commands/grid.js +1 -0
  12. package/ats/src/commands/delete.js +1 -0
  13. package/ats/src/commands/delete_commands/grid.js +1 -0
  14. package/ats/src/commands/init.js +1 -0
  15. package/ats/src/commands/list.js +1 -0
  16. package/ats/src/commands/list_commands/grid_profiles.js +1 -0
  17. package/ats/src/commands/list_commands/grids.js +1 -0
  18. package/ats/src/config/constants.js +1 -0
  19. package/ats/src/config/instanceTypes.json +554 -0
  20. package/ats/src/config/logger.js +1 -0
  21. package/ats/src/index.js +2 -0
  22. package/ats/src/templates/KubeConfigTemplate.yaml +33 -0
  23. package/ats/src/templates/autoscaler/cluster-role-binding.yaml +15 -0
  24. package/ats/src/templates/autoscaler/clusterrole.yaml +56 -0
  25. package/ats/src/templates/autoscaler/deployment.yaml +66 -0
  26. package/ats/src/templates/autoscaler/role-binding.yaml +16 -0
  27. package/ats/src/templates/autoscaler/role.yaml +17 -0
  28. package/ats/src/templates/autoscaler/sa.yaml +10 -0
  29. package/ats/src/templates/autoscaler-role-creation.yaml +185 -0
  30. package/ats/src/templates/aws-auth-cm.yaml +13 -0
  31. package/ats/src/templates/cluster-role-binding.yaml +12 -0
  32. package/ats/src/templates/hub-deployment.yaml +76 -0
  33. package/ats/src/templates/hub-service.yaml +26 -0
  34. package/ats/src/utils/AWSUtils.js +1 -0
  35. package/ats/src/utils/createAutoscalerStack.js +1 -0
  36. package/ats/src/utils/createClusterStack.js +1 -0
  37. package/ats/src/utils/createk8sClient.js +1 -0
  38. package/ats/src/utils/deleteStack.js +1 -0
  39. package/ats/src/utils/gridComponents.js +1 -0
  40. package/ats/src/utils/hstUtils.js +1 -0
  41. package/ats/src/utils/instrumentationUtils.js +1 -0
  42. package/ats/src/utils/userInput.js +1 -0
  43. package/ats/src/utils/utilityMethods.js +1 -0
  44. package/ats/src/utils/webSocketUtils.js +1 -0
  45. package/package.json +1 -1
  46. package/src/bin/codeceptjs/BrowserStackPlugin.js +1 -1
  47. package/src/bin/codeceptjs/command.js +1 -1
  48. package/src/bin/cucumber-js/command.js +1 -1
  49. package/src/bin/cucumber-js/formatter/custom_formatter.js +1 -1
  50. package/src/bin/cucumber-js/formatter/custom_formatter_old_versions.js +1 -1
  51. package/src/bin/cucumber-js/test.setup.js +1 -1
  52. package/src/bin/cucumber-js/test_old.setup.js +1 -1
  53. package/src/bin/cucumber-js/timeout.setup.js +1 -1
  54. package/src/bin/jest/command.js +1 -1
  55. package/src/bin/jest/customEnvironment.js +1 -1
  56. package/src/bin/jest/customTestRunnerTemplate.js +1 -1
  57. package/src/bin/jest/jest.setup.js +1 -1
  58. package/src/bin/jest/test_before.setup.js +1 -1
  59. package/src/bin/launcher/launcher.js +1 -1
  60. package/src/bin/mocha/bstack-reporter/customReporter.js +1 -1
  61. package/src/bin/mocha/command.js +1 -1
  62. package/src/bin/mocha/test-observability/builderPatch.js +1 -1
  63. package/src/bin/mocha/test-observability/data-hooks.js +1 -1
  64. package/src/bin/mocha/test-observability/mochaUtils.js +1 -1
  65. package/src/bin/mocha/test.setup.js +1 -1
  66. package/src/bin/nightwatch/command.js +1 -1
  67. package/src/bin/playwright/command.js +1 -1
  68. package/src/bin/playwright/globalSetup.js +1 -1
  69. package/src/bin/playwright/mock-process.js +1 -1
  70. package/src/bin/playwright/reporter/pwUtils.js +1 -1
  71. package/src/bin/playwright/reporter/reporter.js +1 -1
  72. package/src/bin/playwright/reporter/test-details.js +1 -1
  73. package/src/bin/runner.js +1 -1
  74. package/src/bin/setup.js +1 -1
  75. package/src/bin/test-runner/index.js +1 -1
  76. package/src/bin/test-runner/runTest.js +1 -1
  77. package/src/bin/test-runner/testWorker.js +1 -1
  78. package/src/bin/utils/constants.js +1 -1
  79. package/src/bin/utils/log4jsAppender.js +1 -1
  80. package/src/bin/utils/logPatcher.js +1 -1
  81. package/src/bin/utils/logReportingAPI.js +1 -1
  82. package/src/bin/vanilla-js/command.js +1 -1
  83. package/src/helpers/BrowserStackSetup.js +1 -1
  84. package/src/helpers/capsMapping.js +1 -1
  85. package/src/helpers/helper.js +1 -1
  86. package/src/helpers/logger.js +1 -1
  87. package/src/helpers/patchHelpers.js +1 -1
  88. package/src/helpers/request-spy.js +1 -1
  89. package/src/helpers/setKeepAlive.js +1 -1
  90. package/src/helpers/test-observability/constants.js +1 -1
  91. package/src/helpers/test-observability/error-handler.js +1 -1
  92. package/src/helpers/test-observability/performance-tester.js +1 -1
  93. package/src/helpers/test-observability/requestQueueHandler.js +1 -1
  94. package/src/helpers/test-observability/sessionHandler.js +1 -1
  95. package/src/helpers/test-observability/utils.js +1 -1
  96. package/src/helpers/w3cMapping.js +1 -1
  97. package/src/hubAllocationMethods.js +1 -1
  98. package/src/index.js +1 -1
@@ -0,0 +1,15 @@
1
+ apiVersion: rbac.authorization.k8s.io/v1
2
+ kind: ClusterRoleBinding
3
+ metadata:
4
+ name: cluster-autoscaler
5
+ labels:
6
+ k8s-addon: cluster-autoscaler.addons.k8s.io
7
+ k8s-app: cluster-autoscaler
8
+ roleRef:
9
+ apiGroup: rbac.authorization.k8s.io
10
+ kind: ClusterRole
11
+ name: cluster-autoscaler
12
+ subjects:
13
+ - kind: ServiceAccount
14
+ name: cluster-autoscaler
15
+ namespace: kube-system
@@ -0,0 +1,56 @@
1
+ apiVersion: rbac.authorization.k8s.io/v1
2
+ kind: ClusterRole
3
+ metadata:
4
+ name: cluster-autoscaler
5
+ labels:
6
+ k8s-addon: cluster-autoscaler.addons.k8s.io
7
+ k8s-app: cluster-autoscaler
8
+ rules:
9
+ - apiGroups: [""]
10
+ resources: ["events", "endpoints"]
11
+ verbs: ["create", "patch"]
12
+ - apiGroups: [""]
13
+ resources: ["pods/eviction"]
14
+ verbs: ["create"]
15
+ - apiGroups: [""]
16
+ resources: ["pods/status"]
17
+ verbs: ["update"]
18
+ - apiGroups: [""]
19
+ resources: ["endpoints"]
20
+ resourceNames: ["cluster-autoscaler"]
21
+ verbs: ["get", "update"]
22
+ - apiGroups: [""]
23
+ resources: ["nodes"]
24
+ verbs: ["watch", "list", "get", "update"]
25
+ - apiGroups: [""]
26
+ resources:
27
+ - "namespaces"
28
+ - "pods"
29
+ - "services"
30
+ - "replicationcontrollers"
31
+ - "persistentvolumeclaims"
32
+ - "persistentvolumes"
33
+ verbs: ["watch", "list", "get"]
34
+ - apiGroups: ["extensions"]
35
+ resources: ["replicasets", "daemonsets"]
36
+ verbs: ["watch", "list", "get"]
37
+ - apiGroups: ["policy"]
38
+ resources: ["poddisruptionbudgets"]
39
+ verbs: ["watch", "list"]
40
+ - apiGroups: ["apps"]
41
+ resources: ["statefulsets", "replicasets", "daemonsets"]
42
+ verbs: ["watch", "list", "get"]
43
+ - apiGroups: ["storage.k8s.io"]
44
+ resources:
45
+ ["storageclasses", "csinodes", "csidrivers", "csistoragecapacities"]
46
+ verbs: ["watch", "list", "get"]
47
+ - apiGroups: ["batch", "extensions"]
48
+ resources: ["jobs"]
49
+ verbs: ["get", "list", "watch", "patch"]
50
+ - apiGroups: ["coordination.k8s.io"]
51
+ resources: ["leases"]
52
+ verbs: ["create"]
53
+ - apiGroups: ["coordination.k8s.io"]
54
+ resourceNames: ["cluster-autoscaler"]
55
+ resources: ["leases"]
56
+ verbs: ["get", "update"]
@@ -0,0 +1,66 @@
1
+ apiVersion: apps/v1
2
+ kind: Deployment
3
+ metadata:
4
+ name: cluster-autoscaler
5
+ namespace: kube-system
6
+ labels:
7
+ app: cluster-autoscaler
8
+ spec:
9
+ replicas: 1
10
+ selector:
11
+ matchLabels:
12
+ app: cluster-autoscaler
13
+ template:
14
+ metadata:
15
+ labels:
16
+ app: cluster-autoscaler
17
+ annotations:
18
+ prometheus.io/scrape: "true"
19
+ prometheus.io/port: "8085"
20
+ cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
21
+ cluster-autoscaler.kubernetes.io/scale-down-unneeded-time: "300s"
22
+ spec:
23
+ priorityClassName: system-cluster-critical
24
+ securityContext:
25
+ runAsNonRoot: true
26
+ runAsUser: 65534
27
+ fsGroup: 65534
28
+ seccompProfile:
29
+ type: RuntimeDefault
30
+ serviceAccountName: cluster-autoscaler
31
+ containers:
32
+ - image: registry.k8s.io/autoscaling/cluster-autoscaler:v1.26.2
33
+ name: cluster-autoscaler
34
+ resources:
35
+ limits:
36
+ cpu: 100m
37
+ memory: 600Mi
38
+ requests:
39
+ cpu: 100m
40
+ memory: 600Mi
41
+ command:
42
+ - ./cluster-autoscaler
43
+ - --v=4
44
+ - --stderrthreshold=info
45
+ - --cloud-provider=aws
46
+ - --skip-nodes-with-local-storage=false
47
+ - --expander=least-waste
48
+ - --node-group-auto-discovery=asg:tag=k8s.io/cluster-autoscaler/enabled,k8s.io/cluster-autoscaler/<ClusterName>
49
+ - --balance-similar-node-groups
50
+ - --skip-nodes-with-system-pods=false
51
+ - --scale-down-unneeded-time=5m
52
+ volumeMounts:
53
+ - name: ssl-certs
54
+ mountPath: /etc/ssl/certs/ca-certificates.crt #/etc/ssl/certs/ca-bundle.crt for Amazon Linux Worker Nodes
55
+ readOnly: true
56
+ imagePullPolicy: "Always"
57
+ securityContext:
58
+ allowPrivilegeEscalation: false
59
+ capabilities:
60
+ drop:
61
+ - ALL
62
+ readOnlyRootFilesystem: true
63
+ volumes:
64
+ - name: ssl-certs
65
+ hostPath:
66
+ path: "/etc/ssl/certs/ca-bundle.crt"
@@ -0,0 +1,16 @@
1
+ apiVersion: rbac.authorization.k8s.io/v1
2
+ kind: RoleBinding
3
+ metadata:
4
+ name: cluster-autoscaler
5
+ namespace: kube-system
6
+ labels:
7
+ k8s-addon: cluster-autoscaler.addons.k8s.io
8
+ k8s-app: cluster-autoscaler
9
+ roleRef:
10
+ apiGroup: rbac.authorization.k8s.io
11
+ kind: Role
12
+ name: cluster-autoscaler
13
+ subjects:
14
+ - kind: ServiceAccount
15
+ name: cluster-autoscaler
16
+ namespace: kube-system
@@ -0,0 +1,17 @@
1
+ apiVersion: rbac.authorization.k8s.io/v1
2
+ kind: Role
3
+ metadata:
4
+ name: cluster-autoscaler
5
+ namespace: kube-system
6
+ labels:
7
+ k8s-addon: cluster-autoscaler.addons.k8s.io
8
+ k8s-app: cluster-autoscaler
9
+ rules:
10
+ - apiGroups: [""]
11
+ resources: ["configmaps"]
12
+ verbs: ["create", "list", "watch"]
13
+ - apiGroups: [""]
14
+ resources: ["configmaps"]
15
+ resourceNames:
16
+ ["cluster-autoscaler-status", "cluster-autoscaler-priority-expander"]
17
+ verbs: ["delete", "get", "update", "watch"]
@@ -0,0 +1,10 @@
1
+ apiVersion: v1
2
+ kind: ServiceAccount
3
+ metadata:
4
+ labels:
5
+ k8s-addon: cluster-autoscaler.addons.k8s.io
6
+ k8s-app: cluster-autoscaler
7
+ annotations:
8
+ eks.amazonaws.com/role-arn: <AutoScalerARN>
9
+ name: cluster-autoscaler
10
+ namespace: kube-system
@@ -0,0 +1,185 @@
1
+ ---
2
+ AWSTemplateFormatVersion: "2010-09-09"
3
+ Description: "CloudFormation template to configure an EKS cluster with an OpenID Connect provider to use IAM backed service accounts"
4
+
5
+ Parameters:
6
+ ClusterName:
7
+ Type: String
8
+ Description: Name for EKS Cluster
9
+
10
+ Resources:
11
+ ClusterOIDCURL:
12
+ Type: Custom::ClusterOIDCURL
13
+ Properties:
14
+ ServiceToken: !GetAtt ClusterOIDCURLFunction.Arn
15
+ ClusterName: !Ref ClusterName
16
+ Tags: []
17
+
18
+ # We need to use the API to get the OpenID Connect URL from the cluster, so a Lambda does that for us here
19
+ ClusterOIDCURLFunction:
20
+ Type: AWS::Lambda::Function
21
+ Properties:
22
+ Runtime: python3.7
23
+ Handler: index.lambda_handler
24
+ MemorySize: 128
25
+ Role: !GetAtt ClusterOIDCLambdaExecutionRole.Arn
26
+ Timeout: 30
27
+ Code:
28
+ ZipFile: |
29
+ import boto3
30
+ import json
31
+ import cfnresponse
32
+ eks = boto3.client("eks")
33
+ def lambda_handler(event, context):
34
+ responseData = {}
35
+ if event['RequestType'] == 'Delete':
36
+ responseData['Reason'] = "Success"
37
+ cfnresponse.send(event, context, cfnresponse.SUCCESS, responseData, "")
38
+ else:
39
+ try:
40
+ cluster_name = event['ResourceProperties']['ClusterName']
41
+ response = eks.describe_cluster(name=cluster_name)
42
+ cluster_oidc_url = response['cluster']['identity']['oidc']['issuer']
43
+ # We need the url for the roles without the protocol when creating roles, so remove
44
+ # it here to make this easier to use in CF templates.
45
+ without_protocol = cluster_oidc_url.replace('https://', '')
46
+ responseData['Reason'] = "Success"
47
+ responseData['Url'] = without_protocol
48
+ cfnresponse.send(event, context, cfnresponse.SUCCESS, responseData, without_protocol)
49
+ except Exception as e:
50
+ responseData['Reason'] = str(e)
51
+ cfnresponse.send(event, context, cfnresponse.FAILED, responseData, "")
52
+
53
+ ClusterOIDCProvider:
54
+ Type: Custom::ClusterOIDCProvider
55
+ Properties:
56
+ ServiceToken: !GetAtt ClusterOIDCProviderFunction.Arn
57
+ ClusterOIDCURL: !Ref ClusterOIDCURL
58
+ Tags: []
59
+
60
+ # This defines the lambda that will run the setup (and teardown) code for the OIDC provider
61
+ ClusterOIDCProviderFunction:
62
+ Type: AWS::Lambda::Function
63
+ Properties:
64
+ Runtime: python3.7
65
+ Handler: index.lambda_handler
66
+ MemorySize: 128
67
+ Role: !GetAtt ClusterOIDCLambdaExecutionRole.Arn
68
+ Timeout: 30
69
+ Code:
70
+ ZipFile: |
71
+ import boto3
72
+ from botocore.exceptions import ClientError
73
+ import json
74
+ import cfnresponse
75
+ iam = boto3.client("iam")
76
+ def lambda_handler(event, context):
77
+ data = {}
78
+ try:
79
+ cluster_oidc_url = event['ResourceProperties']['ClusterOIDCURL']
80
+ if event['RequestType'] == 'Create':
81
+ with_protocol = "https://" + cluster_oidc_url
82
+ # This is the ca thumbprint of AWS's issuer
83
+ issuer_thumbprint = '9e99a48a9960b14926bb7f3b02e22da2b0ab7280'
84
+ resp = iam.create_open_id_connect_provider(Url=with_protocol,ClientIDList=['sts.amazonaws.com'],ThumbprintList=[issuer_thumbprint])
85
+ provider_arn = resp['OpenIDConnectProviderArn']
86
+ data["Reason"] = "Provider with ARN " + provider_arn + " created"
87
+ cfnresponse.send(event, context, cfnresponse.SUCCESS, data, provider_arn)
88
+ elif event['RequestType'] == 'Delete':
89
+ provider_arn = event["PhysicalResourceId"]
90
+ if provider_arn is None:
91
+ data["Reason"] = "Provider not present"
92
+ cfnresponse.send(event, context, cfnresponse.SUCCESS, data, provider_arn)
93
+ else:
94
+ resp = iam.delete_open_id_connect_provider(OpenIDConnectProviderArn=provider_arn)
95
+ data["Reason"] = "Provider with ARN " + provider_arn + " deleted"
96
+ cfnresponse.send(event, context, cfnresponse.SUCCESS, data, provider_arn)
97
+ else:
98
+ data["Reason"] = "Unknown operation: " + event['RequestType']
99
+ cfnresponse.send(event, context, cfnresponse.FAILED, data, "")
100
+ except iam.exceptions.EntityAlreadyExistsException as e:
101
+ open_id_providers = iam.list_open_id_connect_providers()
102
+ for provider in open_id_providers['OpenIDConnectProviderList']:
103
+ if cluster_oidc_url in provider['Arn'] :
104
+ data["Reason"] = "Provider with ARN " + provider['Arn'] + " already exists"
105
+ cfnresponse.send(event, context, cfnresponse.SUCCESS, data, provider['Arn'])
106
+ except Exception as e:
107
+ data["Reason"] = "Cannot " + event['RequestType'] + " Provider" + str(e)
108
+ cfnresponse.send(event, context, cfnresponse.FAILED, data, "")
109
+
110
+ # This the role that gives the stack sufficient permissions to create the OIDC provider. It is only
111
+ # used during lifecycle operations of this stack
112
+ ClusterOIDCLambdaExecutionRole:
113
+ Type: AWS::IAM::Role
114
+ Properties:
115
+ Path: /
116
+ AssumeRolePolicyDocument:
117
+ Version: "2012-10-17"
118
+ Statement:
119
+ - Effect: Allow
120
+ Principal:
121
+ Service:
122
+ - lambda.amazonaws.com
123
+ Action:
124
+ - sts:AssumeRole
125
+ Policies:
126
+ - PolicyName: root
127
+ PolicyDocument:
128
+ Version: "2012-10-17"
129
+ Statement:
130
+ - Effect: Allow
131
+ Action:
132
+ - eks:DescribeCluster
133
+ Resource: !Sub "arn:aws:eks:${AWS::Region}:${AWS::AccountId}:cluster/${ClusterName}"
134
+ - Effect: Allow
135
+ Action:
136
+ - iam:*OpenIDConnectProvider*
137
+ Resource: "*"
138
+ - Effect: Allow
139
+ Action:
140
+ - logs:CreateLogGroup
141
+ - logs:CreateLogStream
142
+ - logs:PutLogEvents
143
+ Resource: "*"
144
+ Tags: []
145
+
146
+ ClusterAutoscalerRole:
147
+ Type: AWS::IAM::Role
148
+ DependsOn: ClusterOIDCProvider
149
+ Properties:
150
+ AssumeRolePolicyDocument: !Sub
151
+ - |
152
+ {
153
+ "Version": "2012-10-17",
154
+ "Statement": [
155
+ {
156
+ "Effect": "Allow",
157
+ "Principal": {
158
+ "Federated": "arn:aws:iam::${AWS::AccountId}:oidc-provider/${ClusterOIDCURL}"
159
+ },
160
+ "Action": "sts:AssumeRoleWithWebIdentity",
161
+ "Condition": {
162
+ "StringEquals": {
163
+ "${ClusterOIDCURL}:sub": "system:serviceaccount:kube-system:cluster-autoscaler",
164
+ "${ClusterOIDCURL}:aud": "sts.amazonaws.com"
165
+ }
166
+ }
167
+ }
168
+ ]
169
+ }
170
+ - { "ClusterOIDCURL": !Ref ClusterOIDCURL }
171
+ ManagedPolicyArns:
172
+ - arn:aws:iam::aws:policy/AutoScalingFullAccess
173
+ Path: "/"
174
+ Tags: []
175
+
176
+ Outputs:
177
+ ClusterOIDCURL:
178
+ Description: The OpenID Connect URL (without protocol)
179
+ Value: !Ref ClusterOIDCURL
180
+ ClusterOIDCProvider:
181
+ Description: The ARN of the OIDCProvider
182
+ Value: !Ref ClusterOIDCProvider
183
+ ClusterRoleArn:
184
+ Description: The arn of the Autoscaler role
185
+ Value: !GetAtt ClusterAutoscalerRole.Arn
@@ -0,0 +1,13 @@
1
+ ---
2
+ apiVersion: v1
3
+ data:
4
+ mapRoles: |
5
+ - rolearn: <ARN>
6
+ username: system:node:{{EC2PrivateDNSName}}
7
+ groups:
8
+ - system:bootstrappers
9
+ - system:nodes
10
+ kind: ConfigMap
11
+ metadata:
12
+ name: aws-auth
13
+ namespace: kube-system
@@ -0,0 +1,12 @@
1
+ apiVersion: rbac.authorization.k8s.io/v1
2
+ kind: ClusterRoleBinding
3
+ metadata:
4
+ name: deployer-srvacct-binding-<GridNamespace>
5
+ subjects:
6
+ - kind: ServiceAccount
7
+ namespace: <GridNamespace>
8
+ name: default
9
+ roleRef:
10
+ kind: ClusterRole
11
+ name: cluster-admin
12
+ apiGroup: rbac.authorization.k8s.io
@@ -0,0 +1,76 @@
1
+ ---
2
+ # Source: selenium-grid/templates/hub-deployment.yaml
3
+ apiVersion: apps/v1
4
+ kind: Deployment
5
+ metadata:
6
+ name: browserstack-turboscale-grid
7
+ namespace: <GridNamespace>
8
+ labels:
9
+ name: browserstack-turboscale-grid
10
+ spec:
11
+ replicas: 1
12
+ selector:
13
+ matchLabels:
14
+ name: browserstack-turboscale-grid
15
+ template:
16
+ metadata:
17
+ labels:
18
+ name: browserstack-turboscale-grid
19
+ spec:
20
+ containers:
21
+ - name: browserstack-turboscale-grid
22
+ image: public.ecr.aws/v4a1k5d3/browserstack/selenium-hub:0.1.1
23
+ imagePullPolicy: Always
24
+ env:
25
+ - name: CLUSTER_NAME
26
+ value: "<ClusterName>"
27
+ - name: ENABLE_K8S
28
+ value: "true"
29
+ - name: BSTACK_URL
30
+ value: "<BstackURL>"
31
+ - name: K8S_NAMESPACE
32
+ value: "<GridNamespace>"
33
+ - name: BSTACK_USERNAME
34
+ value: "<BstackUsername>"
35
+ - name: BSTACK_ACCESSKEY
36
+ value: "<BstackAccessKey>"
37
+ - name: GRID_NAME
38
+ value: "<GridName>"
39
+ - name: GRID_PROFILE
40
+ value: "<GridProfileID>"
41
+ - name: REGION
42
+ value: "<Region>"
43
+ - name: CLOUD_PROVIDER
44
+ value: "<CloudProvider>"
45
+ ports:
46
+ - containerPort: 4444
47
+ protocol: TCP
48
+ - containerPort: 4442
49
+ protocol: TCP
50
+ - containerPort: 4443
51
+ protocol: TCP
52
+ livenessProbe:
53
+ httpGet:
54
+ path: /readyz
55
+ port: 4444
56
+ initialDelaySeconds: 10
57
+ periodSeconds: 10
58
+ timeoutSeconds: 10
59
+ successThreshold: 1
60
+ failureThreshold: 10
61
+ readinessProbe:
62
+ httpGet:
63
+ path: /readyz
64
+ port: 4444
65
+ initialDelaySeconds: 12
66
+ periodSeconds: 10
67
+ timeoutSeconds: 10
68
+ successThreshold: 1
69
+ failureThreshold: 10
70
+ resources:
71
+ limits:
72
+ cpu: "0.5"
73
+ memory: 1Gi
74
+ requests:
75
+ cpu: "0.5"
76
+ memory: 1Gi
@@ -0,0 +1,26 @@
1
+ ---
2
+ # Source: selenium-grid/templates/hub-service.yaml
3
+ apiVersion: v1
4
+ kind: Service
5
+ metadata:
6
+ name: browserstack-turboscale-grid-service
7
+ namespace: <GridNamespace>
8
+ labels:
9
+ app: browserstack-turboscale-grid-service
10
+ spec:
11
+ selector:
12
+ name: browserstack-turboscale-grid
13
+ type: LoadBalancer
14
+ ports:
15
+ - name: http-hub
16
+ protocol: TCP
17
+ port: 4444
18
+ targetPort: 4444
19
+ - name: tcp-hub-pub
20
+ protocol: TCP
21
+ port: 4442
22
+ targetPort: 4442
23
+ - name: tcp-hub-sub
24
+ protocol: TCP
25
+ port: 4443
26
+ targetPort: 4443
@@ -0,0 +1 @@
1
+ function a14_0x632c(){const _0x316ab7=['tbymg','sstKG','zCIqZ','KCkzY','rnKkw','NlbbG','QWonD','secretAccessKey','../config/logger','6BDTDaE','bKJku','ROiyB','IjhEb','fetchSecurityGroups','FEUnh','FlPff','RTVjf','configureAWSIfNotConfigured','ZfaFL','QXOKx','xctSp','promise','drkNG','lwQvZ','apiVersion','IHxAS','describeSecurityGroups','Subnets','isAWSConfigured','vjLUE','Vhoxz','nodegroupName','THqki','aws-auth-cm.yaml','wSbFR','zeIox','aWWjR','DxsUs','OUroR','mzUNK','catch','ktApH','\x20already\x20exists.\x20Skipping\x20Bucket\x20creation','Dhhhe','error','uWXep','cwjgI','bGTlo','NNkBd','join','info','YWbBj','yxgcq','qfTfR','EKS','tXkhF','Xmzho','isSubnetsValid','cTuit','vWdBY','uwUOi','mhOVA','QgHJO','KOgMi','rujqG','EAbyM','rIODH','.\x20Error:\x20','KQmrP','cYRjX','tyVZC','xlNFa','zGEbq','wUqMq','UVRbM','ZRfqE','FiQPe','kNlRa','xdliJ','describeCluster','RAGey','region','dSBvv','Sknlk','uyQPO','Auben','uxdBA','xxUkl','xrQQU','data','DSQGb','nggzf','clusterRegion','VyGiy','setAWSConfig','KnmNV','cVErI','KUFwK','420881hIDysC','MDkgn','vUpav','cloudProviderAccessKey','every','XrURe','ObFNm','LKnla','jPwSY','UZdgz','QuUWG','clusterName','createAuthConfigMap','forEach','nnhsx','olrGh','nimHu','lRano','fDSkW','uWtoX','VoUYE','wdiMI','aws-sdk','mapRoles','yNFPP','getClusterInfo','XLZez','oTvwH','2185564ftTPuV','KCRMB','IxbmX','includes','YndXD','kYoEH','iUqSv','HiRQF','epuhJ','lKweo','vCCNl','jAKnz','XkBTj','tzsph','lUnxI','Regions','loeqT','Failed\x20to\x20fetch\x20VPCs\x20due\x20to\x20error:\x20','KGdAv','fetchVPCs','rNkrv','lBCWx','yiWXf','\x20in\x20region\x20','lwFFM','clusters','YcoCl','Values','AyRsb','replace','VVvvp','ENzFa','sZBIm','WwFtL','VuXkb','neQuK','dvBuD','KcVIZ','jVqDP','<ARN>','GgYEU','update','isBucketPresent','qUpIL','qKrsx','describeNodegroup','elVFa','nwMNl','Oabri','SINfP','readFileAsync','Yunyq','getAWSRegions','estlw','LNXHw','describeRegions','templates','GsRIC','kMldj','XSCTP','tzxVv','7061446Hvxync','kZzfy','253pTVmiZ','KnXQs','rnFiL','TwIzQ','push','OQFCs','4714122DLpNfi','name','mYoUA','iaUXH','kUdOs','accessKeyId','egwiu','UfaQp','bAuWB','../config/constants','ZJuso','225600CkgbQu','JUdEV','2017-11-01','MamDn','SWVzo','load','then','wDrAW','GrLTE','fHuTv','HLZMu','warn','xegUM','kgqbI','XgvTt','fetchSubnets','config','Failed\x20to\x20fetch\x20subnets\x20due\x20to\x20error:\x20','YJjVc','HkyUW','Cannot\x20find\x20subnets\x20','WCayo','mcIoT','DSIJr','gmXpm','scWOK','xtBOl','oyERV','vpc-id','iiPQV','Bucket:\x20','qXvfP','2496579nfqKNo','rTTQm','Failed\x20to\x20fetch\x20AWS\x20Regions\x20due\x20to\x20error:\x20','kVFLO','PeBpz','WQKnk','utf-8','MAxTM','205090QzjVzy','CCbFV','EC2','OnZAS','ErNwe','YOdkt','yYzCN','WBEij','RTVQv','EAlSj','zUTns','Popdx','Failed\x20to\x20fetch\x20Security\x20Groups\x20due\x20to\x20error:\x20','JZyra','VRjJA','LVHWc','qCpJo','243ZYGjfP','jwwTo','KSeDE','describeVpcs','MTedG','vyAWy','HKydq','ZNAzo','VpcIds','2016-11-15','lyARN','aykiO','\x20does\x20not\x20exist.\x20Adding\x20it\x20to\x20CloudFormation\x20to\x20create\x20the\x20bucket','8NdfymM','cDCnv','SubnetId','DIYvu','uGWxy','AKFTD','wSOmp','describeSubnets','gJQmE','dDNjX','awsObj','Posvx','XodsC','5WelZuZ','Bucket','aaqsa','mmHfd','Filters','Cannot\x20find\x20VPC\x20','gzzPx','DeKfU','BQzRX','Name','rSVyZ','yXvAS','afhrS','qcpgM','CUcwi','hrFfu','fbiZT','ZQpTY','JJSIV','DGOAY','McjPJ','vPIAA','.\x20Please\x20Check\x20and\x20try\x20again'];a14_0x632c=function(){return _0x316ab7;};return a14_0x632c();}function a14_0x53a9(_0x606f9a,_0x21f930){const _0x632c57=a14_0x632c();return a14_0x53a9=function(_0x53a9bf,_0x4ee228){_0x53a9bf=_0x53a9bf-0x14f;let _0x1960c5=_0x632c57[_0x53a9bf];return _0x1960c5;},a14_0x53a9(_0x606f9a,_0x21f930);}const a14_0x58d1a2=a14_0x53a9;(function(_0x4bc9da,_0x5e28ae){const _0x2a87aa=a14_0x53a9,_0x1cd086=_0x4bc9da();while(!![]){try{const _0x3a222d=parseInt(_0x2a87aa(0x1dc))/0x1*(parseInt(_0x2a87aa(0x183))/0x2)+-parseInt(_0x2a87aa(0x268))/0x3+parseInt(_0x2a87aa(0x1f8))/0x4*(parseInt(_0x2a87aa(0x163))/0x5)+parseInt(_0x2a87aa(0x23d))/0x6+parseInt(_0x2a87aa(0x235))/0x7*(-parseInt(_0x2a87aa(0x156))/0x8)+parseInt(_0x2a87aa(0x281))/0x9*(-parseInt(_0x2a87aa(0x270))/0xa)+parseInt(_0x2a87aa(0x237))/0xb*(parseInt(_0x2a87aa(0x248))/0xc);if(_0x3a222d===_0x5e28ae)break;else _0x1cd086['push'](_0x1cd086['shift']());}catch(_0x22f923){_0x1cd086['push'](_0x1cd086['shift']());}}}(a14_0x632c,0x9a657));const fs=require('fs'),yaml=require('js-yaml'),path=require('path'),awsSDK=require(a14_0x58d1a2(0x1f2)),{AWS,global_registry}=require(a14_0x58d1a2(0x246)),{logger}=require(a14_0x58d1a2(0x182));exports[a14_0x58d1a2(0x18b)]=()=>{const _0x36b992=a14_0x58d1a2,_0x586dd5={'aaqsa':function(_0x164d37,_0x22ad4a){return _0x164d37(_0x22ad4a);},'ifTss':function(_0x8bc1be,_0x3af0c8){return _0x8bc1be===_0x3af0c8;},'CCbFV':_0x36b992(0x1af)};!this['isAWSConfigured']()&&(_0x586dd5['ifTss'](_0x586dd5[_0x36b992(0x271)],_0x586dd5['CCbFV'])?this[_0x36b992(0x1d8)]():(_0x57131f[_0x36b992(0x1a6)]('Failed\x20to\x20fetch\x20Security\x20Groups\x20due\x20to\x20error:\x20'+_0x55421b),_0x586dd5[_0x36b992(0x165)](_0x28880c,_0x419994)));},exports['isClusterPresent']=async(_0x285277,_0xa6a230)=>{const _0x589b57=a14_0x58d1a2,_0x4f07ff={'fbiZT':function(_0xf1c67,_0x988a3a){return _0xf1c67(_0x988a3a);},'ROiyB':_0x589b57(0x152),'HLZMu':function(_0x18d350,_0x3ea981){return _0x18d350===_0x3ea981;},'DSQGb':_0x589b57(0x210),'bAuWB':function(_0x2285cc,_0x503ae1){return _0x2285cc(_0x503ae1);}};if(_0x4f07ff[_0x589b57(0x173)](isAWS,_0x285277)){if(_0x4f07ff[_0x589b57(0x252)](_0x4f07ff[_0x589b57(0x1d4)],_0x4f07ff[_0x589b57(0x1d4)]))return this['configureAWSIfNotConfigured'](),_0x4f07ff[_0x589b57(0x245)](checkAWSClusterCreated,_0xa6a230);else{const _0x37b676={'mcIoT':function(_0x4ca9ed,_0x5d5ce8){return _0x4f07ff['fbiZT'](_0x4ca9ed,_0x5d5ce8);},'LLXxO':_0x4f07ff[_0x589b57(0x185)]};return new _0x5e6bad((_0x42ccd5,_0x6952b9)=>{const _0x3eeae4=_0x589b57,_0x2426c5={'ktApH':function(_0x200fe5,_0x1fec8a){const _0x19a471=a14_0x53a9;return _0x37b676[_0x19a471(0x25e)](_0x200fe5,_0x1fec8a);}},_0x7294e9={};_0x7294e9['apiVersion']=_0x37b676['LLXxO'],_0x7294e9[_0x3eeae4(0x1cb)]=_0x25fad5;const _0x3e2f2a=new _0xdb5b64[(_0x3eeae4(0x272))](_0x7294e9);_0x3e2f2a[_0x3eeae4(0x194)]()[_0x3eeae4(0x18f)]()['then'](_0x4d30fb=>{const _0x50fe8a=_0x3eeae4;_0x2426c5[_0x50fe8a(0x1a3)](_0x42ccd5,_0x4d30fb);})[_0x3eeae4(0x1a2)](_0x4026fe=>{const _0x175c8e=_0x3eeae4;_0x375e6a[_0x175c8e(0x1a6)](_0x175c8e(0x27c)+_0x4026fe),_0x37b676[_0x175c8e(0x25e)](_0x6952b9,_0x4026fe);});});}}},exports[a14_0x58d1a2(0x1f5)]=async _0x2298a8=>{const _0x521fc2=a14_0x58d1a2,_0x218132={};_0x218132[_0x521fc2(0x1b9)]=_0x521fc2(0x24a);const _0x1d93f8=_0x218132,_0x18ef82={};_0x18ef82[_0x521fc2(0x192)]=_0x1d93f8[_0x521fc2(0x1b9)];const _0x1de7bd=new awsSDK[(_0x521fc2(0x1b0))](_0x18ef82),_0x265ffb={};return _0x265ffb[_0x521fc2(0x23e)]=_0x2298a8,_0x1de7bd[_0x521fc2(0x1c9)](_0x265ffb)[_0x521fc2(0x18f)]();},exports[a14_0x58d1a2(0x1e8)]=async _0x36b4e3=>{const _0x49d253=a14_0x58d1a2,_0x4760d3={};_0x4760d3[_0x49d253(0x1e2)]=_0x49d253(0x230),_0x4760d3['VDRrW']=_0x49d253(0x19b),_0x4760d3['BQzRX']=_0x49d253(0x26e),_0x4760d3['njTNi']=_0x49d253(0x21f);const _0x304ae9=_0x4760d3,_0x277214=await fs[_0x49d253(0x22a)](path[_0x49d253(0x1ab)](__dirname,'..',_0x304ae9[_0x49d253(0x1e2)],_0x304ae9['VDRrW']),_0x304ae9[_0x49d253(0x16b)]),_0x7997b6=yaml[_0x49d253(0x24d)](_0x277214);return _0x7997b6[_0x49d253(0x1d3)][_0x49d253(0x1f3)]=_0x7997b6['data'][_0x49d253(0x1f3)][_0x49d253(0x215)](_0x304ae9['njTNi'],_0x36b4e3),_0x7997b6;},exports['getNodeGroupInfo']=async(_0x3ec026,_0x131a08)=>{const _0x85ec2f=a14_0x58d1a2,_0x396286={};_0x396286[_0x85ec2f(0x24c)]=_0x85ec2f(0x24a);const _0x238b3b=_0x396286,_0x47e30c={};_0x47e30c[_0x85ec2f(0x192)]=_0x238b3b[_0x85ec2f(0x24c)];const _0x13ff37=new awsSDK[(_0x85ec2f(0x1b0))](_0x47e30c),_0x1ed068={};return _0x1ed068['clusterName']=_0x3ec026,_0x1ed068[_0x85ec2f(0x199)]=_0x131a08,_0x13ff37['describeNodegroup'](_0x1ed068)['promise']();};const isAWS=_0x2aa16e=>{const _0x295cd8=a14_0x58d1a2,_0x575d2d={};_0x575d2d['zCIqZ']=function(_0xf251a9,_0x2cfd32){return _0xf251a9===_0x2cfd32;},_0x575d2d[_0x295cd8(0x1d0)]=function(_0x489d5f,_0x560879){return _0x489d5f!==_0x560879;},_0x575d2d['MDkgn']=_0x295cd8(0x16d);const _0xfd625b=_0x575d2d;if(_0xfd625b[_0x295cd8(0x17c)](_0x2aa16e,AWS)){if(_0xfd625b[_0x295cd8(0x1d0)](_0xfd625b[_0x295cd8(0x1dd)],_0xfd625b[_0x295cd8(0x1dd)])){if(_0xfd625b['zCIqZ'](_0x3244cd,_0xdf02f8))return!![];return![];}else return!![];}return![];},checkAWSClusterCreated=_0x23a6a3=>{const _0x49d0ed=a14_0x58d1a2,_0x35a397={'lUnxI':function(_0x3ddf4e,_0x41df5f){return _0x3ddf4e(_0x41df5f);},'mmHfd':function(_0x5eca91,_0x47139d){return _0x5eca91===_0x47139d;},'dTGBs':_0x49d0ed(0x1db),'xNGUz':_0x49d0ed(0x191),'MAxTM':function(_0x3b8998,_0x577511){return _0x3b8998(_0x577511);},'sqHDY':_0x49d0ed(0x171),'jVqDP':_0x49d0ed(0x212),'tzsph':function(_0x28e518,_0x474bf7){return _0x28e518!==_0x474bf7;},'oTvwH':_0x49d0ed(0x176),'qXvfP':_0x49d0ed(0x188),'RTVQv':function(_0x3fed24,_0x11fad3){return _0x3fed24(_0x11fad3);},'YWbBj':function(_0x54f220,_0x4b2dd5){return _0x54f220===_0x4b2dd5;},'qcpgM':_0x49d0ed(0x1e3),'nggzf':'ySrVj','MThhJ':'2017-11-01'};return new Promise((_0xb1b377,_0x3ae81d)=>{const _0x2e544d=_0x49d0ed,_0x4340f2={'hrFfu':function(_0x689164,_0x567435){const _0x5f3f93=a14_0x53a9;return _0x35a397[_0x5f3f93(0x26f)](_0x689164,_0x567435);},'jAKnz':function(_0x47deaf,_0x574cb0){const _0x48b14e=a14_0x53a9;return _0x35a397[_0x48b14e(0x166)](_0x47deaf,_0x574cb0);},'zGEbq':_0x35a397['sqHDY'],'EliXq':_0x35a397[_0x2e544d(0x21e)],'DeKfU':function(_0x545a99,_0x1fccef){const _0x1161e8=_0x2e544d;return _0x35a397[_0x1161e8(0x205)](_0x545a99,_0x1fccef);},'uwUOi':_0x35a397[_0x2e544d(0x1f7)],'mzUNK':_0x35a397[_0x2e544d(0x267)],'zUTns':function(_0x2a05df,_0x315d1e){const _0x1f2288=_0x2e544d;return _0x35a397[_0x1f2288(0x278)](_0x2a05df,_0x315d1e);}};if(_0x35a397[_0x2e544d(0x1ad)](_0x35a397[_0x2e544d(0x170)],_0x35a397[_0x2e544d(0x1d5)]))_0x5a81dd[_0x2e544d(0x1a6)](_0x2e544d(0x26a)+_0x1f78be),_0x35a397[_0x2e544d(0x206)](_0x2ce121,_0x253cf3);else{const _0x2a4e8e={};_0x2a4e8e[_0x2e544d(0x192)]=_0x35a397['MThhJ'];const _0x308447=new awsSDK['EKS'](_0x2a4e8e);_0x308447['listClusters']()[_0x2e544d(0x18f)]()[_0x2e544d(0x24e)](_0x1e4188=>{const _0x55a8a2=_0x2e544d,_0x5c0f52={'RUwqt':function(_0x2986e1,_0x416989){const _0x3fe289=a14_0x53a9;return _0x4340f2[_0x3fe289(0x172)](_0x2986e1,_0x416989);},'xctSp':function(_0x44760e,_0x480386){const _0xf466fa=a14_0x53a9;return _0x4340f2[_0xf466fa(0x203)](_0x44760e,_0x480386);}};if(_0x4340f2[_0x55a8a2(0x203)](_0x4340f2[_0x55a8a2(0x1c2)],_0x4340f2['EliXq']))_0x5c0f52['RUwqt'](_0x46b202,!![]);else{if(_0x1e4188[_0x55a8a2(0x211)][_0x55a8a2(0x1fb)](_0x23a6a3)){if(_0x4340f2[_0x55a8a2(0x16a)](_0x4340f2[_0x55a8a2(0x1b6)],_0x4340f2[_0x55a8a2(0x1a1)]))_0x4340f2[_0x55a8a2(0x172)](_0xb1b377,!![]);else return _0x5c0f52[_0x55a8a2(0x18e)](_0x54190f['awsConfigSet'],!![]);}_0x4340f2[_0x55a8a2(0x27a)](_0xb1b377,![]);}})[_0x2e544d(0x1a2)](_0x4c8712=>{const _0x308d82=_0x2e544d,_0x281b22={'IjhEb':function(_0x1e9207,_0x3de4bb){const _0x1e05b3=a14_0x53a9;return _0x35a397[_0x1e05b3(0x206)](_0x1e9207,_0x3de4bb);}};_0x35a397[_0x308d82(0x166)](_0x35a397['dTGBs'],_0x35a397['xNGUz'])?(_0x31ec02['error'](_0x24771e),_0x281b22[_0x308d82(0x186)](_0x422868,_0x1876ea)):(logger[_0x308d82(0x1a6)](_0x4c8712),_0x35a397[_0x308d82(0x206)](_0x3ae81d,_0x4c8712));});}});};exports[a14_0x58d1a2(0x20b)]=_0x104a4a=>{const _0x4a8fab=a14_0x58d1a2,_0x3ee8ca={'ZfaFL':function(_0x47a45b,_0x43fc19){return _0x47a45b(_0x43fc19);},'HiRQF':function(_0x28a91d,_0x16b322){return _0x28a91d(_0x16b322);},'wUqMq':function(_0x43a952,_0x14a57f){return _0x43a952===_0x14a57f;},'QgHJO':_0x4a8fab(0x25b),'kYoEH':function(_0x107387,_0x1a5bfd){return _0x107387!==_0x1a5bfd;},'rnFiL':_0x4a8fab(0x16e),'wDrAW':_0x4a8fab(0x1bc),'UfaQp':function(_0x4df2de,_0xe4ebb0){return _0x4df2de(_0xe4ebb0);},'wEWap':function(_0x6e7779,_0x23ee2d){return _0x6e7779(_0x23ee2d);},'tyVZC':function(_0x3647a4,_0x62b611){return _0x3647a4!==_0x62b611;},'yiWXf':_0x4a8fab(0x19a),'VoUYE':_0x4a8fab(0x162),'Posvx':_0x4a8fab(0x152)};return new Promise((_0x5d26ae,_0x966e7e)=>{const _0x3a288e=_0x4a8fab,_0x585f61={'Oabri':function(_0x4634cb,_0x25e228){const _0x1a3ae3=a14_0x53a9;return _0x3ee8ca[_0x1a3ae3(0x244)](_0x4634cb,_0x25e228);},'kgqbI':function(_0x2e6535,_0x346473){return _0x3ee8ca['wEWap'](_0x2e6535,_0x346473);}};if(_0x3ee8ca[_0x3a288e(0x1c0)](_0x3ee8ca[_0x3a288e(0x20e)],_0x3ee8ca[_0x3a288e(0x1f0)])){const _0x2d8151={};_0x2d8151[_0x3a288e(0x192)]=_0x3ee8ca[_0x3a288e(0x161)],_0x2d8151['region']=_0x104a4a;const _0x4daf1b=new awsSDK[(_0x3a288e(0x272))](_0x2d8151);_0x4daf1b[_0x3a288e(0x284)]()[_0x3a288e(0x18f)]()[_0x3a288e(0x24e)](_0x395b8b=>{const _0x55f0a4=_0x3a288e,_0x144334={'sZBIm':function(_0x5af21a,_0x3e4f44){const _0x2ed417=a14_0x53a9;return _0x3ee8ca[_0x2ed417(0x18c)](_0x5af21a,_0x3e4f44);},'iUqSv':function(_0x33d530,_0x22e5cc){const _0x13d587=a14_0x53a9;return _0x3ee8ca[_0x13d587(0x1ff)](_0x33d530,_0x22e5cc);}};if(_0x3ee8ca[_0x55f0a4(0x1c3)](_0x3ee8ca[_0x55f0a4(0x1b8)],_0x3ee8ca[_0x55f0a4(0x1b8)]))_0x3ee8ca[_0x55f0a4(0x1ff)](_0x5d26ae,_0x395b8b);else{const _0x1c91f9={'AKFTD':function(_0x118bcf,_0x16ec20){const _0x41062e=_0x55f0a4;return _0x144334[_0x41062e(0x1fe)](_0x118bcf,_0x16ec20);}},_0x5bc8e9=new _0x4eed3f['S3']();return new _0x407488((_0x3d6b9d,_0x1f345e)=>{const _0x5dd5c8=_0x55f0a4,_0x5c5fc6={'cVErI':function(_0x2d5be,_0x4d83f7){const _0x31797a=a14_0x53a9;return _0x144334[_0x31797a(0x218)](_0x2d5be,_0x4d83f7);}},_0x553afc={};_0x553afc['Bucket']=_0x47b477,_0x5bc8e9['headBucket'](_0x553afc)[_0x5dd5c8(0x18f)]()[_0x5dd5c8(0x24e)](_0x1e90c7=>{const _0x1c3d99=_0x5dd5c8;_0x272967['warn'](_0x1c3d99(0x266)+_0x317f6c+'\x20already\x20exists.\x20Skipping\x20Bucket\x20creation'),_0x5c5fc6[_0x1c3d99(0x1da)](_0x3d6b9d,!![]);})[_0x5dd5c8(0x1a2)](()=>{const _0x408a0c=_0x5dd5c8;_0x168ed4[_0x408a0c(0x1ac)]('Bucket:\x20'+_0x245de0+_0x408a0c(0x155)),_0x1c91f9[_0x408a0c(0x15b)](_0x3d6b9d,![]);});});}})['catch'](_0x54b40b=>{const _0x1f12c9=_0x3a288e;_0x3ee8ca[_0x1f12c9(0x1fd)](_0x3ee8ca[_0x1f12c9(0x239)],_0x3ee8ca[_0x1f12c9(0x24f)])?(logger[_0x1f12c9(0x1a6)](_0x1f12c9(0x209)+_0x54b40b),_0x3ee8ca[_0x1f12c9(0x244)](_0x966e7e,_0x54b40b)):(_0x51566a['error'](_0x1f12c9(0x168)+_0x2a0a80+_0x1f12c9(0x20f)+_0xdbf48f+'.\x20Please\x20Check\x20and\x20try\x20again'),_0x585f61[_0x1f12c9(0x228)](_0xd1e3dd,![]));});}else _0x14bc89[_0x3a288e(0x253)](_0x3a288e(0x266)+_0x1836e7+_0x3a288e(0x1a4)),_0x585f61[_0x3a288e(0x255)](_0x215577,!![]);});},exports['isVPCPresent']=(_0x59e4a9,_0x5f5b04)=>{const _0x3e40e0=a14_0x58d1a2,_0x2f3770={'bGTlo':function(_0x332cde,_0x1ca0ab){return _0x332cde(_0x1ca0ab);},'zeIox':function(_0x428f73,_0x186b15){return _0x428f73===_0x186b15;},'DSIJr':_0x3e40e0(0x1e4),'MmRIx':_0x3e40e0(0x1e6),'lKweo':function(_0x4fdf21,_0x38550a){return _0x4fdf21(_0x38550a);},'XkBTj':_0x3e40e0(0x152),'drkNG':function(_0x58e09c,_0x4d9a1a){return _0x58e09c!==_0x4d9a1a;},'RTVjf':_0x3e40e0(0x286),'XrURe':'xSJTU','LCZYJ':function(_0x4b762b,_0x472900){return _0x4b762b(_0x472900);},'estlw':_0x3e40e0(0x193)},_0x190b79={};_0x190b79[_0x3e40e0(0x151)]=[_0x59e4a9];let _0x4c9c65=_0x190b79;return new Promise((_0x3c9bea,_0x42b7a4)=>{const _0x551975=_0x3e40e0,_0x11f119={'KcVIZ':function(_0x4a936f,_0x414b11){const _0x1251bc=a14_0x53a9;return _0x2f3770[_0x1251bc(0x201)](_0x4a936f,_0x414b11);},'edCmA':_0x2f3770[_0x551975(0x204)],'QdvHy':function(_0x4891fa,_0x20f961){const _0x5783a1=_0x551975;return _0x2f3770[_0x5783a1(0x190)](_0x4891fa,_0x20f961);},'rNkrv':_0x2f3770[_0x551975(0x18a)],'cCMcv':_0x2f3770[_0x551975(0x1e1)],'bKJku':function(_0x2a09c2,_0x316f64){return _0x2f3770['LCZYJ'](_0x2a09c2,_0x316f64);}};if(_0x2f3770[_0x551975(0x190)](_0x2f3770[_0x551975(0x22d)],_0x2f3770['estlw'])){const _0x5a0cb2={'EAlSj':function(_0x400a10,_0x413656){const _0x45de3c=_0x551975;return _0x11f119[_0x45de3c(0x21d)](_0x400a10,_0x413656);},'xxUkl':function(_0x4b576c,_0x1eb672){const _0x137827=_0x551975;return _0x11f119[_0x137827(0x21d)](_0x4b576c,_0x1eb672);},'GsRIC':_0x11f119['edCmA']};return new _0xec173((_0x3f2eef,_0x483360)=>{const _0x3568ec=_0x551975,_0x505fa8={'fFGzq':function(_0x114759,_0x59be75){const _0x3520c4=a14_0x53a9;return _0x5a0cb2[_0x3520c4(0x279)](_0x114759,_0x59be75);},'NNkBd':function(_0x59d50d,_0x2497a2){const _0x1e985d=a14_0x53a9;return _0x5a0cb2[_0x1e985d(0x1d1)](_0x59d50d,_0x2497a2);}},_0x4e7d31={};_0x4e7d31[_0x3568ec(0x192)]=_0x5a0cb2[_0x3568ec(0x231)],_0x4e7d31['region']=_0x5232d6;const _0x5dfeee=new _0x2c45d3[(_0x3568ec(0x272))](_0x4e7d31);_0x5dfeee['describeVpcs']()[_0x3568ec(0x18f)]()[_0x3568ec(0x24e)](_0x2d3509=>{_0x505fa8['fFGzq'](_0x3f2eef,_0x2d3509);})[_0x3568ec(0x1a2)](_0x33a8ca=>{const _0x5a07c6=_0x3568ec;_0x2051bd[_0x5a07c6(0x1a6)](_0x5a07c6(0x209)+_0x33a8ca),_0x505fa8[_0x5a07c6(0x1aa)](_0x483360,_0x33a8ca);});});}else{const _0x428b5e={};_0x428b5e[_0x551975(0x192)]=_0x2f3770[_0x551975(0x204)],_0x428b5e[_0x551975(0x1cb)]=_0x5f5b04;const _0x4ff7e3=new awsSDK[(_0x551975(0x272))](_0x428b5e);_0x4ff7e3[_0x551975(0x284)](_0x4c9c65)[_0x551975(0x18f)]()[_0x551975(0x24e)](_0x40edb3=>{const _0x1fdb55=_0x551975,_0x3cd970={'tbymg':function(_0x58914d,_0x3bb05e){const _0x980929=a14_0x53a9;return _0x2f3770[_0x980929(0x1a9)](_0x58914d,_0x3bb05e);}};_0x2f3770[_0x1fdb55(0x19d)](_0x2f3770[_0x1fdb55(0x25f)],_0x2f3770['MmRIx'])?(_0x127f09['clusters'][_0x1fdb55(0x1fb)](_0x308110)&&_0x3cd970[_0x1fdb55(0x17a)](_0x53d012,!![]),_0x3cd970[_0x1fdb55(0x17a)](_0x3f7e84,![])):_0x2f3770[_0x1fdb55(0x1a9)](_0x3c9bea,!![]);})[_0x551975(0x1a2)](_0x4d08d8=>{const _0x39d465=_0x551975;if(_0x11f119['QdvHy'](_0x11f119[_0x39d465(0x20c)],_0x11f119['cCMcv']))logger['error'](_0x39d465(0x168)+_0x59e4a9+_0x39d465(0x20f)+_0x5f5b04+_0x39d465(0x179)),_0x11f119[_0x39d465(0x184)](_0x3c9bea,![]);else return _0x58056d[_0x39d465(0x1fb)](_0x1fd499)?!![]:(_0xe0c29a['push'](_0x3945e1),![]);});}});},exports[a14_0x58d1a2(0x1b3)]=(_0x5b790e,_0x3e35a0,_0x273121)=>{const _0x20da32=a14_0x58d1a2,_0x52a147={'uWtoX':function(_0x5c50c3,_0x1880d6){return _0x5c50c3(_0x1880d6);},'iaUXH':function(_0x329e21,_0x47503a){return _0x329e21!==_0x47503a;},'xrQQU':_0x20da32(0x227),'kNlRa':function(_0x48949f,_0x522209){return _0x48949f(_0x522209);},'elVFa':_0x20da32(0x152),'YQGma':function(_0x5ec781,_0xda8e66){return _0x5ec781!==_0xda8e66;},'DxsUs':_0x20da32(0x285),'aogwv':_0x20da32(0x251),'dSBvv':_0x20da32(0x1a8),'qCpJo':_0x20da32(0x283),'WLQgT':_0x20da32(0x1ba),'vUpav':function(_0x21593f,_0x172ae1){return _0x21593f!==_0x172ae1;},'egwiu':_0x20da32(0x1b1),'XLZez':function(_0x2b04c8,_0x442081){return _0x2b04c8(_0x442081);},'oyERV':function(_0x3a0147,_0x56fbfe){return _0x3a0147===_0x56fbfe;},'gmXpm':_0x20da32(0x27e),'ENzFa':_0x20da32(0x264)},_0x208b86={};_0x208b86[_0x20da32(0x16c)]=_0x52a147[_0x20da32(0x217)],_0x208b86[_0x20da32(0x213)]=[_0x3e35a0];const _0x1f5f46={};_0x1f5f46[_0x20da32(0x167)]=[_0x208b86];let _0x418595=_0x1f5f46;return new Promise((_0x125b74,_0xfa7b47)=>{const _0x27290f=_0x20da32,_0x5c5c4a={'rTTQm':function(_0x117b0a,_0xb81046){const _0x5af9dd=a14_0x53a9;return _0x52a147[_0x5af9dd(0x1ef)](_0x117b0a,_0xb81046);},'sstKG':function(_0x5f34dd,_0x117656){const _0x442e91=a14_0x53a9;return _0x52a147[_0x442e91(0x1c7)](_0x5f34dd,_0x117656);},'KCRMB':_0x52a147[_0x27290f(0x226)],'uGWxy':function(_0x23a313,_0x606e6a){return _0x52a147['YQGma'](_0x23a313,_0x606e6a);},'qKrsx':_0x52a147[_0x27290f(0x19f)],'MamDn':_0x52a147['aogwv'],'ZRfqE':_0x52a147[_0x27290f(0x1cc)],'AytnC':_0x52a147[_0x27290f(0x280)],'dvBuD':_0x52a147['WLQgT'],'YndXD':function(_0x269590,_0x1c3737){const _0x44eb60=_0x27290f;return _0x52a147[_0x44eb60(0x1c7)](_0x269590,_0x1c3737);},'AifBT':function(_0x1f13a9,_0x382e65){const _0x3c0a56=_0x27290f;return _0x52a147[_0x3c0a56(0x1de)](_0x1f13a9,_0x382e65);},'cTuit':_0x52a147[_0x27290f(0x243)],'sjGEp':function(_0x52bd77,_0x28fece){const _0xa7444f=_0x27290f;return _0x52a147[_0xa7444f(0x1f6)](_0x52bd77,_0x28fece);}};if(_0x52a147[_0x27290f(0x263)](_0x52a147['gmXpm'],_0x52a147[_0x27290f(0x260)])){const _0x52b5d4={};_0x52b5d4['apiVersion']=_0x52a147[_0x27290f(0x226)],_0x52b5d4[_0x27290f(0x1cb)]=_0x273121;const _0x259766=new awsSDK['EC2'](_0x52b5d4);_0x259766[_0x27290f(0x15d)](_0x418595)[_0x27290f(0x18f)]()[_0x27290f(0x24e)](_0x3feb7=>{const _0x909934=_0x27290f,_0xce3a05={'kMldj':function(_0x2cf58b,_0x3e241d){return _0x5c5c4a['rTTQm'](_0x2cf58b,_0x3e241d);},'VuXkb':function(_0x1edc42,_0x197c92){const _0x4a5882=a14_0x53a9;return _0x5c5c4a[_0x4a5882(0x15a)](_0x1edc42,_0x197c92);},'xdliJ':_0x5c5c4a['AytnC'],'rLxYf':_0x5c5c4a[_0x909934(0x21c)],'uyQPO':function(_0x48449b,_0x131d93){const _0x50595d=_0x909934;return _0x5c5c4a[_0x50595d(0x1fc)](_0x48449b,_0x131d93);}};if(_0x5c5c4a['AifBT'](_0x5c5c4a[_0x909934(0x1b4)],_0x5c5c4a[_0x909934(0x1b4)]))_0x5c5c4a[_0x909934(0x269)](_0x705ddc,_0x14e1d2['Regions']);else{const _0x36a69c=[],_0x356afd=[];_0x3feb7[_0x909934(0x195)][_0x909934(0x1e9)](_0x21b0b6=>{const _0x4ff448=_0x909934;_0xce3a05[_0x4ff448(0x21a)](_0xce3a05[_0x4ff448(0x1c8)],_0xce3a05['rLxYf'])?_0x36a69c[_0x4ff448(0x23b)](_0x21b0b6[_0x4ff448(0x158)]):_0xce3a05[_0x4ff448(0x232)](_0x18004b,_0x330984);});const _0x2666bd=_0x5b790e[_0x909934(0x1e0)](_0x587a8e=>{const _0xb2fb4e=_0x909934,_0x1cbb37={'LVHWc':function(_0x14bc6a,_0x5020a3){const _0x748c42=a14_0x53a9;return _0x5c5c4a[_0x748c42(0x17b)](_0x14bc6a,_0x5020a3);},'SoWrx':_0x5c5c4a[_0xb2fb4e(0x1f9)]};if(_0x5c5c4a[_0xb2fb4e(0x15a)](_0x5c5c4a[_0xb2fb4e(0x224)],_0x5c5c4a[_0xb2fb4e(0x224)])){const _0x1d7da9={'NlbbG':function(_0x57fed2,_0x58de5d){const _0x4ba657=_0xb2fb4e;return _0xce3a05[_0x4ba657(0x1ce)](_0x57fed2,_0x58de5d);}},_0x3e53a7={};_0x3e53a7[_0xb2fb4e(0x151)]=[_0x5f2824];let _0x5c918c=_0x3e53a7;return new _0x5e77d6((_0x39c522,_0xad5a37)=>{const _0x45f03b=_0xb2fb4e,_0x27a11c={'Popdx':function(_0x72ba1c,_0x2cd437){const _0x4283f7=a14_0x53a9;return _0x1cbb37[_0x4283f7(0x27f)](_0x72ba1c,_0x2cd437);}},_0x5b61bd={};_0x5b61bd['apiVersion']=_0x1cbb37['SoWrx'],_0x5b61bd[_0x45f03b(0x1cb)]=_0x12e809;const _0x327e9d=new _0x3321a9[(_0x45f03b(0x272))](_0x5b61bd);_0x327e9d[_0x45f03b(0x284)](_0x5c918c)['promise']()[_0x45f03b(0x24e)](_0xc4071c=>{const _0x3f5794=_0x45f03b;_0x27a11c[_0x3f5794(0x27b)](_0x39c522,!![]);})['catch'](_0x36a119=>{const _0x1076c3=_0x45f03b;_0x2f31d9[_0x1076c3(0x1a6)](_0x1076c3(0x168)+_0x931ad9+_0x1076c3(0x20f)+_0x3d6b4d+_0x1076c3(0x179)),_0x1d7da9[_0x1076c3(0x17f)](_0x39c522,![]);});});}else{if(_0x36a69c[_0xb2fb4e(0x1fb)](_0x587a8e))return _0x5c5c4a['uGWxy'](_0x5c5c4a[_0xb2fb4e(0x24b)],_0x5c5c4a[_0xb2fb4e(0x24b)])?!![]:!![];else{if(_0x5c5c4a[_0xb2fb4e(0x15a)](_0x5c5c4a[_0xb2fb4e(0x1c5)],_0x5c5c4a['ZRfqE']))_0x1cbb37[_0xb2fb4e(0x27f)](_0x1a9f30,{});else return _0x356afd[_0xb2fb4e(0x23b)](_0x587a8e),![];}}});_0x5c5c4a['sjGEp'](_0x125b74,[_0x2666bd,_0x356afd]);}})[_0x27290f(0x1a2)](_0x45a2d8=>{const _0x4e38df=_0x27290f,_0x46b61b={'RCipZ':function(_0x13aee9,_0x24d8ce){const _0x25af55=a14_0x53a9;return _0x52a147[_0x25af55(0x1ef)](_0x13aee9,_0x24d8ce);}};_0x52a147[_0x4e38df(0x240)](_0x52a147[_0x4e38df(0x1d2)],_0x52a147[_0x4e38df(0x1d2)])?(_0x3068f9[_0x4e38df(0x1a6)](_0x4e38df(0x209)+_0x5f2815),_0x46b61b['RCipZ'](_0x42ff4c,_0x1e2bdc)):(logger[_0x4e38df(0x1a6)](_0x4e38df(0x25c)+_0x3e35a0+_0x4e38df(0x20f)+_0x273121+'.\x20Error:\x20'+_0x45a2d8),_0x52a147[_0x4e38df(0x1c7)](_0x125b74,[![],[]]));});}else!this[_0x27290f(0x196)]()&&this[_0x27290f(0x1d8)]();});},exports[a14_0x58d1a2(0x222)]=_0x5ac01d=>{const _0x418e75=a14_0x58d1a2,_0x48d8f7={'YJjVc':function(_0x34cd0b,_0x55cd24){return _0x34cd0b(_0x55cd24);},'GrLTE':function(_0x284d88,_0x4420a8){return _0x284d88(_0x4420a8);},'Ginsh':function(_0x4788bc,_0x1d1a83){return _0x4788bc===_0x1d1a83;},'cYRjX':_0x418e75(0x1c1),'WQKnk':_0x418e75(0x18d),'wSOmp':function(_0x39275f,_0x36d925){return _0x39275f(_0x36d925);},'lyARN':'2017-11-01','lBCWx':function(_0x1ef37e,_0x477651){return _0x1ef37e!==_0x477651;},'Vhoxz':_0x418e75(0x233),'cDCnv':_0x418e75(0x22b),'GgYEU':'mRjXQ','WBEij':_0x418e75(0x1a7)},_0x11c16a=new awsSDK['S3']();return new Promise((_0x1b9699,_0x43339)=>{const _0x46bed7=_0x418e75,_0x38a52c={'OnZAS':_0x48d8f7[_0x46bed7(0x153)],'kUdOs':function(_0x630d8f,_0x129051){const _0x378b0d=_0x46bed7;return _0x48d8f7[_0x378b0d(0x20d)](_0x630d8f,_0x129051);},'PeBpz':_0x48d8f7[_0x46bed7(0x198)],'afhrS':_0x48d8f7[_0x46bed7(0x157)],'VVvvp':function(_0x4c2d90,_0x502b8b){return _0x48d8f7['wSOmp'](_0x4c2d90,_0x502b8b);}};if(_0x48d8f7['Ginsh'](_0x48d8f7[_0x46bed7(0x220)],_0x48d8f7[_0x46bed7(0x277)]))return this[_0x46bed7(0x18b)](),_0x48d8f7[_0x46bed7(0x25a)](_0x2b24c5,_0x11748d);else{const _0x134f82={};_0x134f82[_0x46bed7(0x164)]=_0x5ac01d,_0x11c16a['headBucket'](_0x134f82)[_0x46bed7(0x18f)]()[_0x46bed7(0x24e)](_0xe7be84=>{const _0x290d9c=_0x46bed7,_0x38f121={'ZJuso':function(_0x549e97,_0x241628){const _0x3ad91a=a14_0x53a9;return _0x48d8f7[_0x3ad91a(0x250)](_0x549e97,_0x241628);}};_0x48d8f7['Ginsh'](_0x48d8f7[_0x290d9c(0x1bf)],_0x48d8f7[_0x290d9c(0x26d)])?_0x38f121[_0x290d9c(0x247)](_0x333502,_0x421dc7):(logger[_0x290d9c(0x253)](_0x290d9c(0x266)+_0x5ac01d+_0x290d9c(0x1a4)),_0x48d8f7[_0x290d9c(0x15c)](_0x1b9699,!![]));})['catch'](()=>{const _0x1050b6=_0x46bed7;if(_0x38a52c[_0x1050b6(0x241)](_0x38a52c[_0x1050b6(0x26c)],_0x38a52c[_0x1050b6(0x16f)]))logger[_0x1050b6(0x1ac)](_0x1050b6(0x266)+_0x5ac01d+_0x1050b6(0x155)),_0x38a52c[_0x1050b6(0x216)](_0x1b9699,![]);else{const _0x528fb7={};_0x528fb7[_0x1050b6(0x192)]=_0x38a52c[_0x1050b6(0x273)];const _0x15cc1d=new _0x435653[(_0x1050b6(0x1b0))](_0x528fb7),_0x544dbf={};return _0x544dbf[_0x1050b6(0x1e7)]=_0x2051c8,_0x544dbf[_0x1050b6(0x199)]=_0x545bbd,_0x15cc1d[_0x1050b6(0x225)](_0x544dbf)['promise']();}});}});},exports[a14_0x58d1a2(0x257)]=_0x126f7e=>{const _0x25fa67=a14_0x58d1a2,_0x130597={'IxbmX':function(_0x212f22,_0x2a49cc){return _0x212f22(_0x2a49cc);},'OUroR':function(_0x49a2ae,_0x386bfd){return _0x49a2ae!==_0x386bfd;},'vWdBY':_0x25fa67(0x1e5),'SINfP':_0x25fa67(0x1f1),'yxgcq':function(_0x383a91,_0x2b81a4){return _0x383a91(_0x2b81a4);},'Xmzho':function(_0x3ae04f,_0x2ead0c){return _0x3ae04f(_0x2ead0c);},'kZzfy':_0x25fa67(0x1ea),'zjXnv':_0x25fa67(0x282),'ErNwe':function(_0x317906,_0x1dcadf){return _0x317906(_0x1dcadf);},'HYXul':function(_0x3942a9,_0x4a4e41){return _0x3942a9(_0x4a4e41);},'vCCNl':_0x25fa67(0x24a),'xtBOl':'AbVRQ','suykV':_0x25fa67(0x152)};return new Promise((_0x32d08e,_0x54b685)=>{const _0x563331=_0x25fa67,_0x68be32={'UVRbM':function(_0x172634,_0x5bef1c){return _0x130597['HYXul'](_0x172634,_0x5bef1c);},'epuhJ':_0x130597[_0x563331(0x202)]};if(_0x130597[_0x563331(0x1a0)](_0x130597[_0x563331(0x262)],_0x130597['xtBOl']))return _0x1a6be2[_0x563331(0x23b)](_0x247ec4),![];else{const _0x5a0954={};_0x5a0954[_0x563331(0x192)]=_0x130597['suykV'],_0x5a0954[_0x563331(0x1cb)]=_0x126f7e;const _0x564a26=new awsSDK[(_0x563331(0x272))](_0x5a0954);_0x564a26[_0x563331(0x15d)]()['promise']()[_0x563331(0x24e)](_0x1d57e2=>{const _0xb6ff79=_0x563331,_0x456f08={'HKydq':function(_0xa60898,_0x1c8e3b){const _0x5d61f0=a14_0x53a9;return _0x130597[_0x5d61f0(0x1fa)](_0xa60898,_0x1c8e3b);}};_0x130597['OUroR'](_0x130597[_0xb6ff79(0x1b5)],_0x130597[_0xb6ff79(0x229)])?_0x130597[_0xb6ff79(0x1fa)](_0x32d08e,_0x1d57e2):(_0x31e982[_0xb6ff79(0x1a6)]('Failed\x20to\x20fetch\x20subnets\x20due\x20to\x20error:\x20'+_0x53c489),_0x456f08[_0xb6ff79(0x14f)](_0x1da203,_0x2a7956));})[_0x563331(0x1a2)](_0x298253=>{const _0x1ef3a7=_0x563331,_0x467f77={'RDJSd':function(_0x2a36af,_0x52be03){const _0x3e42a3=a14_0x53a9;return _0x130597[_0x3e42a3(0x1ae)](_0x2a36af,_0x52be03);},'xegUM':function(_0x583649,_0x4e25db){const _0x4c5fe4=a14_0x53a9;return _0x130597[_0x4c5fe4(0x1b2)](_0x583649,_0x4e25db);}};if(_0x130597[_0x1ef3a7(0x1a0)](_0x130597[_0x1ef3a7(0x236)],_0x130597['zjXnv']))logger[_0x1ef3a7(0x1a6)]('Failed\x20to\x20fetch\x20subnets\x20due\x20to\x20error:\x20'+_0x298253),_0x130597[_0x1ef3a7(0x274)](_0x54b685,_0x298253);else{const _0x54148c={'fDSkW':function(_0x17325c,_0x2b113c){const _0x260dec=_0x1ef3a7;return _0x68be32[_0x260dec(0x1c4)](_0x17325c,_0x2b113c);}},_0x5cde63={};_0x5cde63[_0x1ef3a7(0x192)]=_0x68be32[_0x1ef3a7(0x200)];const _0x3eaf27=new _0x517aee[(_0x1ef3a7(0x1b0))](_0x5cde63);_0x3eaf27['listClusters']()[_0x1ef3a7(0x18f)]()[_0x1ef3a7(0x24e)](_0x257ec7=>{const _0x5b54e5=_0x1ef3a7;_0x257ec7[_0x5b54e5(0x211)]['includes'](_0x564f27)&&_0x467f77['RDJSd'](_0xec00ab,!![]),_0x467f77[_0x5b54e5(0x254)](_0x360d1f,![]);})[_0x1ef3a7(0x1a2)](_0x165028=>{const _0x59baf9=_0x1ef3a7;_0x109ab3[_0x59baf9(0x1a6)](_0x165028),_0x54148c[_0x59baf9(0x1ee)](_0x5599de,_0x165028);});}});}});},exports[a14_0x58d1a2(0x187)]=_0x5ad991=>{const _0x2978cc=a14_0x58d1a2,_0x2456f6={'gzzPx':function(_0x2275f1,_0x4888cd){return _0x2275f1===_0x4888cd;},'TwIzQ':_0x2978cc(0x178),'DtWOy':'SoWIo','JUdEV':function(_0x51ee03,_0x5bb5a3){return _0x51ee03(_0x5bb5a3);},'JJSIV':function(_0x50f23c,_0x2f6c54){return _0x50f23c(_0x2f6c54);},'gJQmE':_0x2978cc(0x152),'rLnMj':function(_0xa28538,_0x1c0500){return _0xa28538===_0x1c0500;},'lFXIy':_0x2978cc(0x265),'neQuK':_0x2978cc(0x238),'tTnKR':function(_0x160213,_0x3ff183){return _0x160213(_0x3ff183);},'LNXHw':_0x2978cc(0x219)};return new Promise((_0x3f03ee,_0x3981c4)=>{const _0x4ed1d1=_0x2978cc,_0x3d508={'loeqT':function(_0x1f7dc6,_0x143257){return _0x2456f6['JJSIV'](_0x1f7dc6,_0x143257);},'scWOK':function(_0x1bc4f4,_0x1723cd){return _0x2456f6['rLnMj'](_0x1bc4f4,_0x1723cd);},'MQbYD':_0x2456f6['lFXIy'],'McjPJ':_0x2456f6[_0x4ed1d1(0x21b)],'nimHu':function(_0x19b1dd,_0x54c1dd){const _0x56b97a=_0x4ed1d1;return _0x2456f6[_0x56b97a(0x175)](_0x19b1dd,_0x54c1dd);},'qUpIL':function(_0x57f13b,_0x1fbf8c){return _0x2456f6['tTnKR'](_0x57f13b,_0x1fbf8c);}};if(_0x2456f6[_0x4ed1d1(0x169)](_0x2456f6[_0x4ed1d1(0x22e)],_0x2456f6[_0x4ed1d1(0x22e)])){const _0x506081={};_0x506081[_0x4ed1d1(0x192)]=_0x2456f6[_0x4ed1d1(0x15e)],_0x506081[_0x4ed1d1(0x1cb)]=_0x5ad991;const _0x439fa8=new awsSDK['EC2'](_0x506081);_0x439fa8[_0x4ed1d1(0x194)]()[_0x4ed1d1(0x18f)]()[_0x4ed1d1(0x24e)](_0x5f300e=>{const _0x54be58=_0x4ed1d1;_0x2456f6['gzzPx'](_0x2456f6[_0x54be58(0x23a)],_0x2456f6['DtWOy'])?_0x3d508[_0x54be58(0x208)](_0x2a1b13,_0x4e8991):_0x2456f6[_0x54be58(0x249)](_0x3f03ee,_0x5f300e);})[_0x4ed1d1(0x1a2)](_0x16870b=>{const _0x2f7717=_0x4ed1d1;if(_0x3d508[_0x2f7717(0x261)](_0x3d508['MQbYD'],_0x3d508[_0x2f7717(0x177)]))return!![];else logger[_0x2f7717(0x1a6)](_0x2f7717(0x27c)+_0x16870b),_0x3d508[_0x2f7717(0x1ec)](_0x3981c4,_0x16870b);});}else{const _0x44f90d={'mhOVA':function(_0x5e0578,_0x10fb64){const _0x4ca4e6=_0x4ed1d1;return _0x2456f6[_0x4ca4e6(0x175)](_0x5e0578,_0x10fb64);}},_0x103d7e={};_0x103d7e[_0x4ed1d1(0x192)]=_0x2456f6[_0x4ed1d1(0x15e)],_0x103d7e[_0x4ed1d1(0x1cb)]=_0x59c253;const _0x586283=new _0x16d7c9[(_0x4ed1d1(0x272))](_0x103d7e);_0x586283[_0x4ed1d1(0x284)](_0x2b1591)[_0x4ed1d1(0x18f)]()[_0x4ed1d1(0x24e)](_0x11fd1f=>{const _0x5db594=_0x4ed1d1;_0x44f90d[_0x5db594(0x1b7)](_0x85425,!![]);})[_0x4ed1d1(0x1a2)](_0x4396f2=>{const _0xf0ca16=_0x4ed1d1;_0x189afe[_0xf0ca16(0x1a6)](_0xf0ca16(0x168)+_0x158cb6+_0xf0ca16(0x20f)+_0xf6824a+'.\x20Please\x20Check\x20and\x20try\x20again'),_0x3d508[_0xf0ca16(0x223)](_0x3b3863,![]);});}});},exports[a14_0x58d1a2(0x22c)]=()=>{const _0x285450=a14_0x58d1a2,_0x1ccd30={'DIYvu':function(_0x1d6c96,_0x2220d4){return _0x1d6c96(_0x2220d4);},'KnmNV':function(_0x3f8070,_0x5e32eb){return _0x3f8070!==_0x5e32eb;},'AyRsb':function(_0x214d79,_0x7e7982){return _0x214d79(_0x7e7982);},'shxPU':function(_0x2787e9,_0x201111){return _0x2787e9(_0x201111);},'KGdAv':function(_0xeaaf65,_0xc9f8ef){return _0xeaaf65===_0xc9f8ef;},'vjLUE':_0x285450(0x1cd),'RAGey':function(_0x5e6d7e,_0x155087){return _0x5e6d7e!==_0x155087;},'fFuYR':_0x285450(0x17d),'YOdkt':function(_0x23b1d2,_0xe0a524){return _0x23b1d2(_0xe0a524);},'JZyra':_0x285450(0x234),'yYzCN':'2016-11-15','EAbyM':_0x285450(0x23f),'lRano':function(_0x3dc730,_0x157b95){return _0x3dc730(_0x157b95);},'XgvTt':function(_0x49bcd8,_0x300abd){return _0x49bcd8===_0x300abd;},'WCayo':_0x285450(0x17e),'ZzzYM':'mokfq'};return new Promise((_0x41aeb9,_0x3f9c2b)=>{const _0x2846cc=_0x285450,_0x25d3c0={'olrGh':function(_0x2d0fd2,_0x4f431c){const _0x11b617=a14_0x53a9;return _0x1ccd30[_0x11b617(0x1d9)](_0x2d0fd2,_0x4f431c);},'Dhhhe':function(_0x44b0cd,_0x435173){return _0x1ccd30['KnmNV'](_0x44b0cd,_0x435173);},'FlPff':function(_0x2e0347,_0x3ffa46){const _0x9bd882=a14_0x53a9;return _0x1ccd30[_0x9bd882(0x214)](_0x2e0347,_0x3ffa46);},'TOYQg':function(_0x3d710b,_0x529d24){return _0x1ccd30['shxPU'](_0x3d710b,_0x529d24);},'FiQPe':function(_0x5e8207,_0x21c086){const _0x3e29af=a14_0x53a9;return _0x1ccd30[_0x3e29af(0x20a)](_0x5e8207,_0x21c086);},'wSbFR':_0x1ccd30[_0x2846cc(0x197)],'ZQpTY':function(_0x43b32e,_0x22bac3){const _0x425554=_0x2846cc;return _0x1ccd30[_0x425554(0x1d9)](_0x43b32e,_0x22bac3);},'VyGiy':function(_0x2a54c6,_0x57af45){const _0x233691=_0x2846cc;return _0x1ccd30[_0x233691(0x1ca)](_0x2a54c6,_0x57af45);},'kVFLO':_0x1ccd30['fFuYR'],'yNFPP':function(_0x462b25,_0x24eb87){const _0x209652=_0x2846cc;return _0x1ccd30[_0x209652(0x275)](_0x462b25,_0x24eb87);},'aWWjR':_0x1ccd30[_0x2846cc(0x27d)],'OQFCs':function(_0x89dd26,_0x33d739){const _0x5788ea=_0x2846cc;return _0x1ccd30[_0x5788ea(0x159)](_0x89dd26,_0x33d739);},'LvDRk':function(_0x3c2137,_0x1313b1){return _0x1ccd30['AyRsb'](_0x3c2137,_0x1313b1);},'lEfkS':function(_0x5b5f03,_0x3ed9ae){return _0x1ccd30['DIYvu'](_0x5b5f03,_0x3ed9ae);},'KQmrP':_0x1ccd30[_0x2846cc(0x276)],'aykiO':_0x1ccd30[_0x2846cc(0x1bb)],'xzjZQ':function(_0x5705e8,_0x2e6018){const _0x4c8c70=_0x2846cc;return _0x1ccd30[_0x4c8c70(0x1ed)](_0x5705e8,_0x2e6018);}};if(_0x1ccd30[_0x2846cc(0x256)](_0x1ccd30[_0x2846cc(0x25d)],_0x1ccd30['ZzzYM']))_0x166fe0['info'](_0x2846cc(0x266)+_0xb43193+_0x2846cc(0x155)),_0x1ccd30[_0x2846cc(0x159)](_0x2856d8,![]);else{const _0x502522={};_0x502522[_0x2846cc(0x192)]=_0x1ccd30['yYzCN'];const _0x356563=new awsSDK[(_0x2846cc(0x272))](_0x502522);_0x356563[_0x2846cc(0x22f)]()[_0x2846cc(0x18f)]()[_0x2846cc(0x24e)]((_0x2e7541,_0x183d1a)=>{const _0x5188da=_0x2846cc,_0x58b3c1={'ZNAzo':function(_0x5ad61d,_0x127a2f){return _0x25d3c0['TOYQg'](_0x5ad61d,_0x127a2f);}};if(_0x25d3c0[_0x5188da(0x1c6)](_0x25d3c0[_0x5188da(0x19c)],_0x25d3c0[_0x5188da(0x19c)])){if(_0x25d3c0[_0x5188da(0x174)](_0x2e7541,undefined)&&_0x25d3c0[_0x5188da(0x1d7)](_0x2e7541[_0x5188da(0x207)],undefined))_0x25d3c0[_0x5188da(0x1d7)](_0x25d3c0['kVFLO'],_0x25d3c0[_0x5188da(0x26b)])?(_0x32a697[_0x5188da(0x1a6)]('Cannot\x20find\x20subnets\x20'+_0x192104+'\x20in\x20region\x20'+_0x115254+_0x5188da(0x1bd)+_0x3cb1cc),_0x58b3c1[_0x5188da(0x150)](_0x35be4b,[![],[]])):_0x25d3c0[_0x5188da(0x1f4)](_0x41aeb9,_0x2e7541[_0x5188da(0x207)]);else{if(_0x25d3c0['olrGh'](_0x25d3c0[_0x5188da(0x19e)],_0x25d3c0[_0x5188da(0x19e)])){const _0x302480={'JfxoU':function(_0x4de350,_0x4b460c){const _0x47afbd=_0x5188da;return _0x58b3c1[_0x47afbd(0x150)](_0x4de350,_0x4b460c);},'Auben':function(_0x746a91,_0x294064){return _0x58b3c1['ZNAzo'](_0x746a91,_0x294064);}},_0x4de713={};_0x4de713['Bucket']=_0x2b21e6,_0xc1d35c['headBucket'](_0x4de713)[_0x5188da(0x18f)]()[_0x5188da(0x24e)](_0x5d26f0=>{const _0x3751aa=_0x5188da;_0x3382e2[_0x3751aa(0x253)](_0x3751aa(0x266)+_0x403ab9+_0x3751aa(0x1a4)),_0x302480['JfxoU'](_0x9eb8c,!![]);})[_0x5188da(0x1a2)](()=>{const _0x15aaff=_0x5188da;_0x44caa3[_0x15aaff(0x1ac)](_0x15aaff(0x266)+_0x24321e+_0x15aaff(0x155)),_0x302480[_0x15aaff(0x1cf)](_0x8b7b90,![]);});}else _0x25d3c0[_0x5188da(0x23c)](_0x41aeb9,{});}}else _0x25d3c0[_0x5188da(0x1eb)](_0xc4045c,_0x16dd4a)&&_0x25d3c0[_0x5188da(0x1a5)](_0x2de997[_0x5188da(0x207)],_0x28497a)?_0x25d3c0[_0x5188da(0x189)](_0x17ea88,_0x1177a5['Regions']):_0x25d3c0['TOYQg'](_0x25243f,{});})[_0x2846cc(0x1a2)](_0x527431=>{const _0x4900cd=_0x2846cc;if(_0x25d3c0[_0x4900cd(0x1c6)](_0x25d3c0[_0x4900cd(0x154)],_0x25d3c0[_0x4900cd(0x154)]))logger[_0x4900cd(0x1a6)]('Failed\x20to\x20fetch\x20AWS\x20Regions\x20due\x20to\x20error:\x20'+_0x527431),_0x25d3c0['xzjZQ'](_0x3f9c2b,_0x527431);else{const _0x5e9c49={'QWonD':function(_0x1c3c2e,_0x3a179f){return _0x25d3c0['LvDRk'](_0x1c3c2e,_0x3a179f);},'dDNjX':function(_0x3037b0,_0x592d71){return _0x25d3c0['lEfkS'](_0x3037b0,_0x592d71);}},_0x188deb={};_0x188deb[_0x4900cd(0x192)]=_0x25d3c0[_0x4900cd(0x1be)],_0x188deb[_0x4900cd(0x1cb)]=_0x29a4c2;const _0x2a956d=new _0x5e7f2a[(_0x4900cd(0x272))](_0x188deb);_0x2a956d['describeSubnets']()[_0x4900cd(0x18f)]()[_0x4900cd(0x24e)](_0x4f6220=>{const _0x520cbe=_0x4900cd;_0x5e9c49[_0x520cbe(0x180)](_0x3ef9cf,_0x4f6220);})[_0x4900cd(0x1a2)](_0x42cc52=>{const _0x3d2d9d=_0x4900cd;_0x2233d4[_0x3d2d9d(0x1a6)](_0x3d2d9d(0x259)+_0x42cc52),_0x5e9c49[_0x3d2d9d(0x15f)](_0x3bbc21,_0x42cc52);});}});}});},exports[a14_0x58d1a2(0x196)]=()=>{const _0x4cc74f={};_0x4cc74f['qISuQ']=function(_0x440702,_0x379ac0){return _0x440702===_0x379ac0;};const _0x2e7aa6=_0x4cc74f;return _0x2e7aa6['qISuQ'](global_registry['awsConfigSet'],!![]);},exports[a14_0x58d1a2(0x1d8)]=()=>{const _0x326f67=a14_0x58d1a2,_0x496dac={};_0x496dac[_0x326f67(0x1cb)]=global_registry[_0x326f67(0x1d6)],_0x496dac[_0x326f67(0x242)]=global_registry[_0x326f67(0x1df)],_0x496dac[_0x326f67(0x181)]=global_registry['cloudProviderSecretKey'],awsSDK[_0x326f67(0x258)][_0x326f67(0x221)](_0x496dac),global_registry['awsConfigSet']=!![];},exports[a14_0x58d1a2(0x160)]=awsSDK;
@@ -0,0 +1 @@
1
+ function a15_0x5f54(_0x59f503,_0x4b8f1c){const _0x5015f4=a15_0x5015();return a15_0x5f54=function(_0x5f5425,_0x21c6d0){_0x5f5425=_0x5f5425-0x159;let _0x47fa6c=_0x5015f4[_0x5f5425];return _0x47fa6c;},a15_0x5f54(_0x59f503,_0x4b8f1c);}const a15_0x4f58a8=a15_0x5f54;(function(_0x3025e9,_0x498972){const _0x53b282=a15_0x5f54,_0x3f37a0=_0x3025e9();while(!![]){try{const _0x5d6fb6=-parseInt(_0x53b282(0x162))/0x1+-parseInt(_0x53b282(0x159))/0x2+parseInt(_0x53b282(0x160))/0x3+-parseInt(_0x53b282(0x170))/0x4*(-parseInt(_0x53b282(0x180))/0x5)+parseInt(_0x53b282(0x18d))/0x6+-parseInt(_0x53b282(0x183))/0x7*(parseInt(_0x53b282(0x16c))/0x8)+parseInt(_0x53b282(0x16a))/0x9;if(_0x5d6fb6===_0x498972)break;else _0x3f37a0['push'](_0x3f37a0['shift']());}catch(_0x123087){_0x3f37a0['push'](_0x3f37a0['shift']());}}}(a15_0x5015,0xc9a48));const fs=require('fs'),path=require(a15_0x4f58a8(0x165)),yaml=require(a15_0x4f58a8(0x15a)),{CLOUDFORMATION_SCHEMA}=require('js-yaml-cloudformation-schema'),Promise=require(a15_0x4f58a8(0x18c)),AWS=require('./AWSUtils')[a15_0x4f58a8(0x173)],{CLUSTER_AUTOSCALER_STACK_NAME,COMMON_HST_TAGS}=require(a15_0x4f58a8(0x174)),{logger}=require(a15_0x4f58a8(0x17b));Promise[a15_0x4f58a8(0x164)](fs),addAutoscalerTags=async(_0x4112fa,_0x531c37,_0x5ae1e3)=>{const _0x3be8b6=a15_0x4f58a8;for(let _0x347e8a in _0x4112fa['Resources']){_0x4112fa['Resources'][_0x347e8a][_0x3be8b6(0x167)]&&_0x4112fa[_0x3be8b6(0x186)][_0x347e8a][_0x3be8b6(0x167)][_0x3be8b6(0x15d)]&&_0x4112fa[_0x3be8b6(0x186)][_0x347e8a]['Properties'][_0x3be8b6(0x15d)]['push'](..._0x5ae1e3);}},exports[a15_0x4f58a8(0x16e)]=async _0x301739=>{const _0x1b5b20=a15_0x4f58a8,_0x2cd713={'HRBMU':_0x1b5b20(0x17d),'Pcinb':'browserstack:creationDate','JxxMS':_0x1b5b20(0x161),'OqBpB':_0x1b5b20(0x18b),'wjdWs':_0x1b5b20(0x191),'etzwC':'utf-8','KdMoA':function(_0x32d795,_0x13cc53,_0xab37c5,_0x5b1888){return _0x32d795(_0x13cc53,_0xab37c5,_0x5b1888);},'potSY':_0x1b5b20(0x178),'imEpj':_0x1b5b20(0x189),'XnUeD':_0x1b5b20(0x166),'TQvfS':_0x1b5b20(0x17c)},_0x2d16c7=COMMON_HST_TAGS,_0x4e39c8={};_0x4e39c8[_0x1b5b20(0x188)]=_0x2cd713[_0x1b5b20(0x163)],_0x4e39c8['Value']=_0x301739,_0x2d16c7[_0x1b5b20(0x168)](_0x4e39c8),_0x2d16c7[_0x1b5b20(0x168)]({'Key':_0x2cd713[_0x1b5b20(0x16b)],'Value':new Date()[_0x1b5b20(0x17f)]()[_0x1b5b20(0x184)]()});const _0x336799={};_0x336799[_0x1b5b20(0x190)]=_0x2cd713[_0x1b5b20(0x17a)];const _0x250f38=new AWS[(_0x1b5b20(0x18f))](_0x336799),_0x3c858b=await fs[_0x1b5b20(0x18a)](path['join'](__dirname,'..',_0x2cd713[_0x1b5b20(0x17e)],_0x2cd713[_0x1b5b20(0x15b)]),_0x2cd713[_0x1b5b20(0x176)]),_0x2d195b={};_0x2d195b[_0x1b5b20(0x18e)]=CLOUDFORMATION_SCHEMA;const _0x22ae8a=yaml[_0x1b5b20(0x177)](_0x3c858b,_0x2d195b);_0x2cd713[_0x1b5b20(0x179)](addAutoscalerTags,_0x22ae8a,_0x301739,_0x2d16c7);const _0x4f2fd5=JSON['stringify'](_0x22ae8a),_0x42e8d9={};_0x42e8d9[_0x1b5b20(0x185)]=CLUSTER_AUTOSCALER_STACK_NAME,_0x42e8d9[_0x1b5b20(0x187)]=_0x2cd713[_0x1b5b20(0x172)],_0x42e8d9[_0x1b5b20(0x181)]=_0x4f2fd5,_0x42e8d9['Parameters']=[{'ParameterKey':_0x2cd713[_0x1b5b20(0x16f)],'ParameterValue':_0x301739}],_0x42e8d9[_0x1b5b20(0x171)]=[_0x2cd713[_0x1b5b20(0x16d)]],_0x42e8d9[_0x1b5b20(0x15d)]=_0x2d16c7;const _0x320cd7=_0x42e8d9,_0x555e8f=await _0x250f38[_0x1b5b20(0x169)](_0x320cd7)[_0x1b5b20(0x15e)]();logger[_0x1b5b20(0x15c)](_0x1b5b20(0x175));const _0x2d0795={};return _0x2d0795[_0x1b5b20(0x185)]=_0x555e8f[_0x1b5b20(0x182)],_0x250f38[_0x1b5b20(0x15f)](_0x2cd713['TQvfS'],_0x2d0795)['promise']();};function a15_0x5015(){const _0x1ab2b5=['Properties','push','createStack','10739196JVJcxT','Pcinb','96ffhmtx','XnUeD','createAutoscalerStack','imEpj','492iREKry','Capabilities','potSY','awsObj','../config/constants','Waiting\x20for\x20CloudFormation\x20stack\x20to\x20complete','etzwC','load','DELETE','KdMoA','JxxMS','../config/logger','stackCreateComplete','browserstack:cluster','OqBpB','valueOf','52965iCmnZc','TemplateBody','StackId','553189ZkcsVW','toString','StackName','Resources','OnFailure','Key','ClusterName','readFileAsync','templates','bluebird','2943540grdZAu','schema','CloudFormation','apiVersion','autoscaler-role-creation.yaml','1455786mKZRbd','js-yaml','wjdWs','debug','Tags','promise','waitFor','1292406SHiAfp','2010-05-15','915430OnYzjV','HRBMU','promisifyAll','path','CAPABILITY_NAMED_IAM'];a15_0x5015=function(){return _0x1ab2b5;};return a15_0x5015();}