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.
- package/ats/src/CFTemplates/aws-eks-cluster-dep.yaml +202 -0
- package/ats/src/CFTemplates/s3-create.yaml +20 -0
- package/ats/src/CFTemplates/subnet-create.yaml +85 -0
- package/ats/src/CFTemplates/subnet-import.yaml +15 -0
- package/ats/src/CFTemplates/vpc-create.yaml +27 -0
- package/ats/src/CFTemplates/vpc-import.yaml +5 -0
- package/ats/src/commands/configure.js +1 -0
- package/ats/src/commands/connect.js +1 -0
- package/ats/src/commands/connect_commands/grid.js +1 -0
- package/ats/src/commands/create.js +1 -0
- package/ats/src/commands/create_commands/grid.js +1 -0
- package/ats/src/commands/delete.js +1 -0
- package/ats/src/commands/delete_commands/grid.js +1 -0
- package/ats/src/commands/init.js +1 -0
- package/ats/src/commands/list.js +1 -0
- package/ats/src/commands/list_commands/grid_profiles.js +1 -0
- package/ats/src/commands/list_commands/grids.js +1 -0
- package/ats/src/config/constants.js +1 -0
- package/ats/src/config/instanceTypes.json +554 -0
- package/ats/src/config/logger.js +1 -0
- package/ats/src/index.js +2 -0
- package/ats/src/templates/KubeConfigTemplate.yaml +33 -0
- package/ats/src/templates/autoscaler/cluster-role-binding.yaml +15 -0
- package/ats/src/templates/autoscaler/clusterrole.yaml +56 -0
- package/ats/src/templates/autoscaler/deployment.yaml +66 -0
- package/ats/src/templates/autoscaler/role-binding.yaml +16 -0
- package/ats/src/templates/autoscaler/role.yaml +17 -0
- package/ats/src/templates/autoscaler/sa.yaml +10 -0
- package/ats/src/templates/autoscaler-role-creation.yaml +185 -0
- package/ats/src/templates/aws-auth-cm.yaml +13 -0
- package/ats/src/templates/cluster-role-binding.yaml +12 -0
- package/ats/src/templates/hub-deployment.yaml +76 -0
- package/ats/src/templates/hub-service.yaml +26 -0
- package/ats/src/utils/AWSUtils.js +1 -0
- package/ats/src/utils/createAutoscalerStack.js +1 -0
- package/ats/src/utils/createClusterStack.js +1 -0
- package/ats/src/utils/createk8sClient.js +1 -0
- package/ats/src/utils/deleteStack.js +1 -0
- package/ats/src/utils/gridComponents.js +1 -0
- package/ats/src/utils/hstUtils.js +1 -0
- package/ats/src/utils/instrumentationUtils.js +1 -0
- package/ats/src/utils/userInput.js +1 -0
- package/ats/src/utils/utilityMethods.js +1 -0
- package/ats/src/utils/webSocketUtils.js +1 -0
- package/package.json +1 -1
- package/src/bin/codeceptjs/BrowserStackPlugin.js +1 -1
- package/src/bin/codeceptjs/command.js +1 -1
- package/src/bin/cucumber-js/command.js +1 -1
- package/src/bin/cucumber-js/formatter/custom_formatter.js +1 -1
- package/src/bin/cucumber-js/formatter/custom_formatter_old_versions.js +1 -1
- package/src/bin/cucumber-js/test.setup.js +1 -1
- package/src/bin/cucumber-js/test_old.setup.js +1 -1
- package/src/bin/cucumber-js/timeout.setup.js +1 -1
- package/src/bin/jest/command.js +1 -1
- package/src/bin/jest/customEnvironment.js +1 -1
- package/src/bin/jest/customTestRunnerTemplate.js +1 -1
- package/src/bin/jest/jest.setup.js +1 -1
- package/src/bin/jest/test_before.setup.js +1 -1
- package/src/bin/launcher/launcher.js +1 -1
- package/src/bin/mocha/bstack-reporter/customReporter.js +1 -1
- package/src/bin/mocha/command.js +1 -1
- package/src/bin/mocha/test-observability/builderPatch.js +1 -1
- package/src/bin/mocha/test-observability/data-hooks.js +1 -1
- package/src/bin/mocha/test-observability/mochaUtils.js +1 -1
- package/src/bin/mocha/test.setup.js +1 -1
- package/src/bin/nightwatch/command.js +1 -1
- package/src/bin/playwright/command.js +1 -1
- package/src/bin/playwright/globalSetup.js +1 -1
- package/src/bin/playwright/mock-process.js +1 -1
- package/src/bin/playwright/reporter/pwUtils.js +1 -1
- package/src/bin/playwright/reporter/reporter.js +1 -1
- package/src/bin/playwright/reporter/test-details.js +1 -1
- package/src/bin/runner.js +1 -1
- package/src/bin/setup.js +1 -1
- package/src/bin/test-runner/index.js +1 -1
- package/src/bin/test-runner/runTest.js +1 -1
- package/src/bin/test-runner/testWorker.js +1 -1
- package/src/bin/utils/constants.js +1 -1
- package/src/bin/utils/log4jsAppender.js +1 -1
- package/src/bin/utils/logPatcher.js +1 -1
- package/src/bin/utils/logReportingAPI.js +1 -1
- package/src/bin/vanilla-js/command.js +1 -1
- package/src/helpers/BrowserStackSetup.js +1 -1
- package/src/helpers/capsMapping.js +1 -1
- package/src/helpers/helper.js +1 -1
- package/src/helpers/logger.js +1 -1
- package/src/helpers/patchHelpers.js +1 -1
- package/src/helpers/request-spy.js +1 -1
- package/src/helpers/setKeepAlive.js +1 -1
- package/src/helpers/test-observability/constants.js +1 -1
- package/src/helpers/test-observability/error-handler.js +1 -1
- package/src/helpers/test-observability/performance-tester.js +1 -1
- package/src/helpers/test-observability/requestQueueHandler.js +1 -1
- package/src/helpers/test-observability/sessionHandler.js +1 -1
- package/src/helpers/test-observability/utils.js +1 -1
- package/src/helpers/w3cMapping.js +1 -1
- package/src/hubAllocationMethods.js +1 -1
- 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,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,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();}
|