@cdktf/provider-acme 2.0.72 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- package/.jsii +529 -478
- package/API.md +0 -2511
- package/lib/{certificate.d.ts → certificate/index.d.ts} +0 -0
- package/lib/certificate/index.js +718 -0
- package/lib/index.d.ts +3 -3
- package/lib/index.js +4 -14
- package/lib/{acme-provider.d.ts → provider/index.d.ts} +0 -0
- package/lib/provider/index.js +74 -0
- package/lib/{registration.d.ts → registration/index.d.ts} +0 -0
- package/lib/registration/index.js +184 -0
- package/package.json +5 -5
- package/lib/acme-provider.js +0 -74
- package/lib/certificate.js +0 -718
- package/lib/registration.js +0 -184
package/lib/registration.js
DELETED
@@ -1,184 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var _a, _b;
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
-
exports.Registration = exports.RegistrationExternalAccountBindingOutputReference = exports.registrationExternalAccountBindingToTerraform = void 0;
|
5
|
-
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
6
|
-
const cdktf = require("cdktf");
|
7
|
-
function registrationExternalAccountBindingToTerraform(struct) {
|
8
|
-
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
|
9
|
-
return struct;
|
10
|
-
}
|
11
|
-
if (cdktf.isComplexElement(struct)) {
|
12
|
-
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
|
13
|
-
}
|
14
|
-
return {
|
15
|
-
hmac_base64: cdktf.stringToTerraform(struct.hmacBase64),
|
16
|
-
key_id: cdktf.stringToTerraform(struct.keyId),
|
17
|
-
};
|
18
|
-
}
|
19
|
-
exports.registrationExternalAccountBindingToTerraform = registrationExternalAccountBindingToTerraform;
|
20
|
-
class RegistrationExternalAccountBindingOutputReference extends cdktf.ComplexObject {
|
21
|
-
/**
|
22
|
-
* @param terraformResource The parent resource
|
23
|
-
* @param terraformAttribute The attribute on the parent resource this class is referencing
|
24
|
-
*/
|
25
|
-
constructor(terraformResource, terraformAttribute) {
|
26
|
-
super(terraformResource, terraformAttribute, false, 0);
|
27
|
-
this.isEmptyObject = false;
|
28
|
-
}
|
29
|
-
get internalValue() {
|
30
|
-
let hasAnyValues = this.isEmptyObject;
|
31
|
-
const internalValueResult = {};
|
32
|
-
if (this._hmacBase64 !== undefined) {
|
33
|
-
hasAnyValues = true;
|
34
|
-
internalValueResult.hmacBase64 = this._hmacBase64;
|
35
|
-
}
|
36
|
-
if (this._keyId !== undefined) {
|
37
|
-
hasAnyValues = true;
|
38
|
-
internalValueResult.keyId = this._keyId;
|
39
|
-
}
|
40
|
-
return hasAnyValues ? internalValueResult : undefined;
|
41
|
-
}
|
42
|
-
set internalValue(value) {
|
43
|
-
if (value === undefined) {
|
44
|
-
this.isEmptyObject = false;
|
45
|
-
this._hmacBase64 = undefined;
|
46
|
-
this._keyId = undefined;
|
47
|
-
}
|
48
|
-
else {
|
49
|
-
this.isEmptyObject = Object.keys(value).length === 0;
|
50
|
-
this._hmacBase64 = value.hmacBase64;
|
51
|
-
this._keyId = value.keyId;
|
52
|
-
}
|
53
|
-
}
|
54
|
-
get hmacBase64() {
|
55
|
-
return this.getStringAttribute('hmac_base64');
|
56
|
-
}
|
57
|
-
set hmacBase64(value) {
|
58
|
-
this._hmacBase64 = value;
|
59
|
-
}
|
60
|
-
// Temporarily expose input value. Use with caution.
|
61
|
-
get hmacBase64Input() {
|
62
|
-
return this._hmacBase64;
|
63
|
-
}
|
64
|
-
get keyId() {
|
65
|
-
return this.getStringAttribute('key_id');
|
66
|
-
}
|
67
|
-
set keyId(value) {
|
68
|
-
this._keyId = value;
|
69
|
-
}
|
70
|
-
// Temporarily expose input value. Use with caution.
|
71
|
-
get keyIdInput() {
|
72
|
-
return this._keyId;
|
73
|
-
}
|
74
|
-
}
|
75
|
-
exports.RegistrationExternalAccountBindingOutputReference = RegistrationExternalAccountBindingOutputReference;
|
76
|
-
_a = JSII_RTTI_SYMBOL_1;
|
77
|
-
RegistrationExternalAccountBindingOutputReference[_a] = { fqn: "@cdktf/provider-acme.RegistrationExternalAccountBindingOutputReference", version: "2.0.72" };
|
78
|
-
/**
|
79
|
-
* Represents a {@link https://www.terraform.io/docs/providers/acme/r/registration acme_registration}
|
80
|
-
*/
|
81
|
-
class Registration extends cdktf.TerraformResource {
|
82
|
-
// ===========
|
83
|
-
// INITIALIZER
|
84
|
-
// ===========
|
85
|
-
/**
|
86
|
-
* Create a new {@link https://www.terraform.io/docs/providers/acme/r/registration acme_registration} Resource
|
87
|
-
*
|
88
|
-
* @param scope The scope in which to define this construct
|
89
|
-
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
|
90
|
-
* @param options RegistrationConfig
|
91
|
-
*/
|
92
|
-
constructor(scope, id, config) {
|
93
|
-
super(scope, id, {
|
94
|
-
terraformResourceType: 'acme_registration',
|
95
|
-
terraformGeneratorMetadata: {
|
96
|
-
providerName: 'acme',
|
97
|
-
providerVersion: '2.10.0',
|
98
|
-
providerVersionConstraint: '~> 2.10'
|
99
|
-
},
|
100
|
-
provider: config.provider,
|
101
|
-
dependsOn: config.dependsOn,
|
102
|
-
count: config.count,
|
103
|
-
lifecycle: config.lifecycle,
|
104
|
-
provisioners: config.provisioners,
|
105
|
-
connection: config.connection,
|
106
|
-
forEach: config.forEach
|
107
|
-
});
|
108
|
-
// external_account_binding - computed: false, optional: true, required: false
|
109
|
-
this._externalAccountBinding = new RegistrationExternalAccountBindingOutputReference(this, "external_account_binding");
|
110
|
-
this._accountKeyPem = config.accountKeyPem;
|
111
|
-
this._emailAddress = config.emailAddress;
|
112
|
-
this._id = config.id;
|
113
|
-
this._externalAccountBinding.internalValue = config.externalAccountBinding;
|
114
|
-
}
|
115
|
-
get accountKeyPem() {
|
116
|
-
return this.getStringAttribute('account_key_pem');
|
117
|
-
}
|
118
|
-
set accountKeyPem(value) {
|
119
|
-
this._accountKeyPem = value;
|
120
|
-
}
|
121
|
-
// Temporarily expose input value. Use with caution.
|
122
|
-
get accountKeyPemInput() {
|
123
|
-
return this._accountKeyPem;
|
124
|
-
}
|
125
|
-
get emailAddress() {
|
126
|
-
return this.getStringAttribute('email_address');
|
127
|
-
}
|
128
|
-
set emailAddress(value) {
|
129
|
-
this._emailAddress = value;
|
130
|
-
}
|
131
|
-
// Temporarily expose input value. Use with caution.
|
132
|
-
get emailAddressInput() {
|
133
|
-
return this._emailAddress;
|
134
|
-
}
|
135
|
-
get id() {
|
136
|
-
return this.getStringAttribute('id');
|
137
|
-
}
|
138
|
-
set id(value) {
|
139
|
-
this._id = value;
|
140
|
-
}
|
141
|
-
resetId() {
|
142
|
-
this._id = undefined;
|
143
|
-
}
|
144
|
-
// Temporarily expose input value. Use with caution.
|
145
|
-
get idInput() {
|
146
|
-
return this._id;
|
147
|
-
}
|
148
|
-
// registration_url - computed: true, optional: false, required: false
|
149
|
-
get registrationUrl() {
|
150
|
-
return this.getStringAttribute('registration_url');
|
151
|
-
}
|
152
|
-
get externalAccountBinding() {
|
153
|
-
return this._externalAccountBinding;
|
154
|
-
}
|
155
|
-
putExternalAccountBinding(value) {
|
156
|
-
this._externalAccountBinding.internalValue = value;
|
157
|
-
}
|
158
|
-
resetExternalAccountBinding() {
|
159
|
-
this._externalAccountBinding.internalValue = undefined;
|
160
|
-
}
|
161
|
-
// Temporarily expose input value. Use with caution.
|
162
|
-
get externalAccountBindingInput() {
|
163
|
-
return this._externalAccountBinding.internalValue;
|
164
|
-
}
|
165
|
-
// =========
|
166
|
-
// SYNTHESIS
|
167
|
-
// =========
|
168
|
-
synthesizeAttributes() {
|
169
|
-
return {
|
170
|
-
account_key_pem: cdktf.stringToTerraform(this._accountKeyPem),
|
171
|
-
email_address: cdktf.stringToTerraform(this._emailAddress),
|
172
|
-
id: cdktf.stringToTerraform(this._id),
|
173
|
-
external_account_binding: registrationExternalAccountBindingToTerraform(this._externalAccountBinding.internalValue),
|
174
|
-
};
|
175
|
-
}
|
176
|
-
}
|
177
|
-
exports.Registration = Registration;
|
178
|
-
_b = JSII_RTTI_SYMBOL_1;
|
179
|
-
Registration[_b] = { fqn: "@cdktf/provider-acme.Registration", version: "2.0.72" };
|
180
|
-
// =================
|
181
|
-
// STATIC PROPERTIES
|
182
|
-
// =================
|
183
|
-
Registration.tfResourceType = "acme_registration";
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JlZ2lzdHJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUlBLCtCQUErQjtBQXNDL0IsU0FBZ0IsNkNBQTZDLENBQUMsTUFBK0Y7SUFDM0osSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFBRSxPQUFPLE1BQU0sQ0FBQztLQUFFO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztLQUN2STtJQUNELE9BQU87UUFDTCxXQUFXLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxVQUFVLENBQUM7UUFDeEQsTUFBTSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsS0FBSyxDQUFDO0tBQy9DLENBQUE7QUFDSCxDQUFDO0FBVEQsc0dBU0M7QUFFRCxNQUFhLGlEQUFrRCxTQUFRLEtBQUssQ0FBQyxhQUFhO0lBR3hGOzs7TUFHRTtJQUNGLFlBQW1CLGlCQUE2QyxFQUFFLGtCQUEwQjtRQUMxRixLQUFLLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBUGpELGtCQUFhLEdBQUcsS0FBSyxDQUFDO0lBUTlCLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN0QyxNQUFNLG1CQUFtQixHQUFRLEVBQUUsQ0FBQztRQUNwQyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFO1lBQ2xDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDcEIsbUJBQW1CLENBQUMsVUFBVSxH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QkFBeUIsQ0FBQyxLQUF5QztRQUN4RSxJQUFJLENBQUMsdUJBQXVCLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUNyRCxDQUFDO0lBQ00sMkJBQTJCO1FBQ2hDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDO0lBQ3pELENBQUM7SUFDRCxvREFBb0Q7SUFDcEQsSUFBVywyQkFBMkI7UUFDcEMsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsYUFBYSxDQUFDO0lBQ3BELENBQUM7SUFFRCxZQUFZO0lBQ1osWUFBWTtJQUNaLFlBQVk7SUFFRixvQkFBb0I7UUFDNUIsT0FBTztZQUNMLGVBQWUsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUM3RCxhQUFhLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDMUQsRUFBRSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ3JDLHdCQUF3QixFQUFFLDZDQUE2QyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQUM7U0FDcEgsQ0FBQztJQUNKLENBQUM7O0FBdEhILG9DQXVIQzs7O0FBckhDLG9CQUFvQjtBQUNwQixvQkFBb0I7QUFDcEIsb0JBQW9CO0FBQ0csMkJBQWMsR0FBRyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vd3d3LnRlcnJhZm9ybS5pby9kb2NzL3Byb3ZpZGVycy9hY21lL3IvcmVnaXN0cmF0aW9uXG4vLyBnZW5lcmF0ZWQgZnJvbSB0ZXJyYWZvcm0gcmVzb3VyY2Ugc2NoZW1hXG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgY2RrdGYgZnJvbSAnY2RrdGYnO1xuXG4vLyBDb25maWd1cmF0aW9uXG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cmF0aW9uQ29uZmlnIGV4dGVuZHMgY2RrdGYuVGVycmFmb3JtTWV0YUFyZ3VtZW50cyB7XG4gIC8qKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly93d3cudGVycmFmb3JtLmlvL2RvY3MvcHJvdmlkZXJzL2FjbWUvci9yZWdpc3RyYXRpb24jYWNjb3VudF9rZXlfcGVtIFJlZ2lzdHJhdGlvbiNhY2NvdW50X2tleV9wZW19XG4gICovXG4gIHJlYWRvbmx5IGFjY291bnRLZXlQZW06IHN0cmluZztcbiAgLyoqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3d3dy50ZXJyYWZvcm0uaW8vZG9jcy9wcm92aWRlcnMvYWNtZS9yL3JlZ2lzdHJhdGlvbiNlbWFpbF9hZGRyZXNzIFJlZ2lzdHJhdGlvbiNlbWFpbF9hZGRyZXNzfVxuICAqL1xuICByZWFkb25seSBlbWFpbEFkZHJlc3M6IHN0cmluZztcbiAgLyoqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3d3dy50ZXJyYWZvcm0uaW8vZG9jcy9wcm92aWRlcnMvYWNtZS9yL3JlZ2lzdHJhdGlvbiNpZCBSZWdpc3RyYXRpb24jaWR9XG4gICpcbiAgKiBQbGVhc2UgYmUgYXdhcmUgdGhhdCB0aGUgaWQgZmllbGQgaXMgYXV0b21hdGljYWxseSBhZGRlZCB0byBhbGwgcmVzb3VyY2VzIGluIFRlcnJhZm9ybSBwcm92aWRlcnMgdXNpbmcgYSBUZXJyYWZvcm0gcHJvdmlkZXIgU0RLIHZlcnNpb24gYmVsb3cgMi5cbiAgKiBJZiB5b3UgZXhwZXJpZW5jZSBwcm9ibGVtcyBzZXR0aW5nIHRoaXMgdmFsdWUgaXQgbWlnaHQgbm90IGJlIHNldHRhYmxlLiBQbGVhc2UgdGFrZSBhIGxvb2sgYXQgdGhlIHByb3ZpZGVyIGRvY3VtZW50YXRpb24gdG8gZW5zdXJlIGl0IHNob3VsZCBiZSBzZXR0YWJsZS5cbiAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAqIGV4dGVybmFsX2FjY291bnRfYmluZGluZyBibG9ja1xuICAqIFxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly93d3cudGVycmFmb3JtLmlvL2RvY3MvcHJvdmlkZXJzL2FjbWUvci9yZWdpc3RyYXRpb24jZXh0ZXJuYWxfYWNjb3VudF9iaW5kaW5nIFJlZ2lzdHJhdGlvbiNleHRlcm5hbF9hY2NvdW50X2JpbmRpbmd9XG4gICovXG4gIHJlYWRvbmx5IGV4dGVybmFsQWNjb3VudEJpbmRpbmc/OiBSZWdpc3RyYXRpb25FeHRlcm5hbEFjY291bnRCaW5kaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RyYXRpb25FeHRlcm5hbEFjY291bnRCaW5kaW5nIHtcbiAgLyoqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3d3dy50ZXJyYWZvcm0uaW8vZG9jcy9wcm92aWRlcnMvYWNtZS9yL3JlZ2lzdHJhdGlvbiNobWFjX2Jhc2U2NCBSZWdpc3RyYXRpb24jaG1hY19iYXNlNjR9XG4gICovXG4gIHJlYWRvbmx5IGhtYWNCYXNlNjQ6IHN0cmluZztcbiAgLyoqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3d3dy50ZXJyYWZvcm0uaW8vZG9jcy9wcm92aWRlcnMvYWNtZS9yL3JlZ2lzdHJhdGlvbiNrZXlfaWQgUmVnaXN0cmF0aW9uI2tleV9pZH1cbiAgKi9cbiAgcmVhZG9ubHkga2V5SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdHJhdGlvbkV4dGVybmFsQWNjb3VudEJpbmRpbmdUb1RlcnJhZm9ybShzdHJ1Y3Q/OiBSZWdpc3RyYXRpb25FeHRlcm5hbEFjY291bnRCaW5kaW5nT3V0cHV0UmVmZXJlbmNlIHwgUmVnaXN0cmF0aW9uRXh0ZXJuYWxBY2NvdW50QmluZGluZyk6IGFueSB7XG4gIGlmICghY2RrdGYuY2FuSW5zcGVjdChzdHJ1Y3QpIHx8IGNka3RmLlRva2VuaXphdGlvbi5pc1Jlc29sdmFibGUoc3RydWN0KSkgeyByZXR1cm4gc3RydWN0OyB9XG4gIGlmIChjZGt0Zi5pc0NvbXBsZXhFbGVtZW50KHN0cnVjdCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJBIGNvbXBsZXggZWxlbWVudCB3YXMgdXNlZCBhcyBjb25maWd1cmF0aW9uLCB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQ6IGh0dHBzOi8vY2RrLnRmL2NvbXBsZXgtb2JqZWN0LWFzLWNvbmZpZ3VyYXRpb25cIik7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBobWFjX2Jhc2U2NDogY2RrdGYuc3RyaW5nVG9UZXJyYWZvcm0oc3RydWN0IS5obWFjQmFzZTY0KSxcbiAgICBrZXlfaWQ6IGNka3RmLnN0cmluZ1RvVGVycmFmb3JtKHN0cnVjdCEua2V5SWQpLFxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSZWdpc3RyYXRpb25FeHRlcm5hbEFjY291bnRCaW5kaW5nT3V0cHV0UmVmZXJlbmNlIGV4dGVuZHMgY2RrdGYuQ29tcGxleE9iamVjdCB7XG4gIHByaXZhdGUgaXNFbXB0eU9iamVjdCA9IGZhbHNlO1xuXG4gIC8qKlxuICAqIEBwYXJhbSB0ZXJyYWZvcm1SZXNvdXJjZSBUaGUgcGFyZW50IHJlc291cmNlXG4gICogQHBhcmFtIHRlcnJhZm9ybUF0dHJpYnV0ZSBUaGUgYXR0cmlidXRlIG9uIHRoZSBwYXJlbnQgcmVzb3VyY2UgdGhpcyBjbGFzcyBpcyByZWZlcmVuY2luZ1xuICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IodGVycmFmb3JtUmVzb3VyY2U6IGNka3RmLklJbnRlcnBvbGF0aW5nUGFyZW50LCB0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHN1cGVyKHRlcnJhZm9ybVJlc291cmNlLCB0ZXJyYWZvcm1BdHRyaWJ1dGUsIGZhbHNlLCAwKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW50ZXJuYWxWYWx1ZSgpOiBSZWdpc3RyYXRpb25FeHRlcm5hbEFjY291bnRCaW5kaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBsZXQgaGFzQW55VmFsdWVzID0gdGhpcy5pc0VtcHR5T2JqZWN0O1xuICAgIGNvbnN0IGludGVybmFsVmFsdWVSZXN1bHQ6IGFueSA9IHt9O1xuICAgIGlmICh0aGlzLl9obWFjQmFzZTY0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGhhc0FueVZhbHVlcyA9IHRydWU7XG4gICAgICBpbnRlcm5hbFZhbHVlUmVzdWx0LmhtYWNCYXNlNjQgPSB0aGlzLl9obWFjQmFzZTY0O1xuICAgIH1cbiAgICBpZiAodGhpcy5fa2V5SWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaGFzQW55VmFsdWVzID0gdHJ1ZTtcbiAgICAgIGludGVybmFsVmFsdWVSZXN1bHQua2V5SWQgPSB0aGlzLl9rZXlJZDtcbiAgICB9XG4gICAgcmV0dXJuIGhhc0FueVZhbHVlcyA/IGludGVybmFsVmFsdWVSZXN1bHQgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0IGludGVybmFsVmFsdWUodmFsdWU6IFJlZ2lzdHJhdGlvbkV4dGVybmFsQWNjb3VudEJpbmRpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5pc0VtcHR5T2JqZWN0ID0gZmFsc2U7XG4gICAgICB0aGlzLl9obWFjQmFzZTY0ID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5fa2V5SWQgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5pc0VtcHR5T2JqZWN0ID0gT2JqZWN0LmtleXModmFsdWUpLmxlbmd0aCA9PT0gMDtcbiAgICAgIHRoaXMuX2htYWNCYXNlNjQgPSB2YWx1ZS5obWFjQmFzZTY0O1xuICAgICAgdGhpcy5fa2V5SWQgPSB2YWx1ZS5rZXlJZDtcbiAgICB9XG4gIH1cblxuICAvLyBobWFjX2Jhc2U2NCAtIGNvbXB1dGVkOiBmYWxzZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogdHJ1ZVxuICBwcml2YXRlIF9obWFjQmFzZTY0Pzogc3RyaW5nOyBcbiAgcHVibGljIGdldCBobWFjQmFzZTY0KCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnaG1hY19iYXNlNjQnKTtcbiAgfVxuICBwdWJsaWMgc2V0IGhtYWNCYXNlNjQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2htYWNCYXNlNjQgPSB2YWx1ZTtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQgaG1hY0Jhc2U2NElucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9obWFjQmFzZTY0O1xuICB9XG5cbiAgLy8ga2V5X2lkIC0gY29tcHV0ZWQ6IGZhbHNlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiB0cnVlXG4gIHByaXZhdGUgX2tleUlkPzogc3RyaW5nOyBcbiAgcHVibGljIGdldCBrZXlJZCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ2tleV9pZCcpO1xuICB9XG4gIHB1YmxpYyBzZXQga2V5SWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2tleUlkID0gdmFsdWU7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IGtleUlkSW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2tleUlkO1xuICB9XG59XG5cbi8qKlxuKiBSZXByZXNlbnRzIGEge0BsaW5rIGh0dHBzOi8vd3d3LnRlcnJhZm9ybS5pby9kb2NzL3Byb3ZpZGVycy9hY21lL3IvcmVnaXN0cmF0aW9uIGFjbWVfcmVnaXN0cmF0aW9ufVxuKi9cbmV4cG9ydCBjbGFzcyBSZWdpc3RyYXRpb24gZXh0ZW5kcyBjZGt0Zi5UZXJyYWZvcm1SZXNvdXJjZSB7XG5cbiAgLy8gPT09PT09PT09PT09PT09PT1cbiAgLy8gU1RBVElDIFBST1BFUlRJRVNcbiAgLy8gPT09PT09PT09PT09PT09PT1cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSB0ZlJlc291cmNlVHlwZSA9IFwiYWNtZV9yZWdpc3RyYXRpb25cIjtcblxuICAvLyA9PT09PT09PT09PVxuICAvLyBJTklUSUFMSVpFUlxuICAvLyA9PT09PT09PT09PVxuXG4gIC8qKlxuICAqIENyZWF0ZSBhIG5ldyB7QGxpbmsgaHR0cHM6Ly93d3cudGVycmFmb3JtLmlvL2RvY3MvcHJvdmlkZXJzL2FjbWUvci9yZWdpc3RyYXRpb24gYWNtZV9yZWdpc3RyYXRpb259IFJlc291cmNlXG4gICpcbiAgKiBAcGFyYW0gc2NvcGUgVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdFxuICAqIEBwYXJhbSBpZCBUaGUgc2NvcGVkIGNvbnN0cnVjdCBJRC4gTXVzdCBiZSB1bmlxdWUgYW1vbmdzdCBzaWJsaW5ncyBpbiB0aGUgc2FtZSBzY29wZVxuICAqIEBwYXJhbSBvcHRpb25zIFJlZ2lzdHJhdGlvbkNvbmZpZ1xuICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgY29uZmlnOiBSZWdpc3RyYXRpb25Db25maWcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHRlcnJhZm9ybVJlc291cmNlVHlwZTogJ2FjbWVfcmVnaXN0cmF0aW9uJyxcbiAgICAgIHRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhOiB7XG4gICAgICAgIHByb3ZpZGVyTmFtZTogJ2FjbWUnLFxuICAgICAgICBwcm92aWRlclZlcnNpb246ICcyLjEwLjAnLFxuICAgICAgICBwcm92aWRlclZlcnNpb25Db25zdHJhaW50OiAnfj4gMi4xMCdcbiAgICAgIH0sXG4gICAgICBwcm92aWRlcjogY29uZmlnLnByb3ZpZGVyLFxuICAgICAgZGVwZW5kc09uOiBjb25maWcuZGVwZW5kc09uLFxuICAgICAgY291bnQ6IGNvbmZpZy5jb3VudCxcbiAgICAgIGxpZmVjeWNsZTogY29uZmlnLmxpZmVjeWNsZSxcbiAgICAgIHByb3Zpc2lvbmVyczogY29uZmlnLnByb3Zpc2lvbmVycyxcbiAgICAgIGNvbm5lY3Rpb246IGNvbmZpZy5jb25uZWN0aW9uLFxuICAgICAgZm9yRWFjaDogY29uZmlnLmZvckVhY2hcbiAgICB9KTtcbiAgICB0aGlzLl9hY2NvdW50S2V5UGVtID0gY29uZmlnLmFjY291bnRLZXlQZW07XG4gICAgdGhpcy5fZW1haWxBZGRyZXNzID0gY29uZmlnLmVtYWlsQWRkcmVzcztcbiAgICB0aGlzLl9pZCA9IGNvbmZpZy5pZDtcbiAgICB0aGlzLl9leHRlcm5hbEFjY291bnRCaW5kaW5nLmludGVybmFsVmFsdWUgPSBjb25maWcuZXh0ZXJuYWxBY2NvdW50QmluZGluZztcbiAgfVxuXG4gIC8vID09PT09PT09PT1cbiAgLy8gQVRUUklCVVRFU1xuICAvLyA9PT09PT09PT09XG5cbiAgLy8gYWNjb3VudF9rZXlfcGVtIC0gY29tcHV0ZWQ6IGZhbHNlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiB0cnVlXG4gIHByaXZhdGUgX2FjY291bnRLZXlQZW0/OiBzdHJpbmc7IFxuICBwdWJsaWMgZ2V0IGFjY291bnRLZXlQZW0oKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RyaW5nQXR0cmlidXRlKCdhY2NvdW50X2tleV9wZW0nKTtcbiAgfVxuICBwdWJsaWMgc2V0IGFjY291bnRLZXlQZW0odmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2FjY291bnRLZXlQZW0gPSB2YWx1ZTtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQgYWNjb3VudEtleVBlbUlucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9hY2NvdW50S2V5UGVtO1xuICB9XG5cbiAgLy8gZW1haWxfYWRkcmVzcyAtIGNvbXB1dGVkOiBmYWxzZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogdHJ1ZVxuICBwcml2YXRlIF9lbWFpbEFkZHJlc3M/OiBzdHJpbmc7IFxuICBwdWJsaWMgZ2V0IGVtYWlsQWRkcmVzcygpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ2VtYWlsX2FkZHJlc3MnKTtcbiAgfVxuICBwdWJsaWMgc2V0IGVtYWlsQWRkcmVzcyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZW1haWxBZGRyZXNzID0gdmFsdWU7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IGVtYWlsQWRkcmVzc0lucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9lbWFpbEFkZHJlc3M7XG4gIH1cblxuICAvLyBpZCAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogdHJ1ZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHByaXZhdGUgX2lkPzogc3RyaW5nOyBcbiAgcHVibGljIGdldCBpZCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ2lkJyk7XG4gIH1cbiAgcHVibGljIHNldCBpZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5faWQgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgcmVzZXRJZCgpIHtcbiAgICB0aGlzLl9pZCA9IHVuZGVmaW5lZDtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQgaWRJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5faWQ7XG4gIH1cblxuICAvLyByZWdpc3RyYXRpb25fdXJsIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiBmYWxzZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHB1YmxpYyBnZXQgcmVnaXN0cmF0aW9uVXJsKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgncmVnaXN0cmF0aW9uX3VybCcpO1xuICB9XG5cbiAgLy8gZXh0ZXJuYWxfYWNjb3VudF9iaW5kaW5nIC0gY29tcHV0ZWQ6IGZhbHNlLCBvcHRpb25hbDogdHJ1ZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHByaXZhdGUgX2V4dGVybmFsQWNjb3VudEJpbmRpbmcgPSBuZXcgUmVnaXN0cmF0aW9uRXh0ZXJuYWxBY2NvdW50QmluZGluZ091dHB1dFJlZmVyZW5jZSh0aGlzLCBcImV4dGVybmFsX2FjY291bnRfYmluZGluZ1wiKTtcbiAgcHVibGljIGdldCBleHRlcm5hbEFjY291bnRCaW5kaW5nKCkge1xuICAgIHJldHVybiB0aGlzLl9leHRlcm5hbEFjY291bnRCaW5kaW5nO1xuICB9XG4gIHB1YmxpYyBwdXRFeHRlcm5hbEFjY291bnRCaW5kaW5nKHZhbHVlOiBSZWdpc3RyYXRpb25FeHRlcm5hbEFjY291bnRCaW5kaW5nKSB7XG4gICAgdGhpcy5fZXh0ZXJuYWxBY2NvdW50QmluZGluZy5pbnRlcm5hbFZhbHVlID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIHJlc2V0RXh0ZXJuYWxBY2NvdW50QmluZGluZygpIHtcbiAgICB0aGlzLl9leHRlcm5hbEFjY291bnRCaW5kaW5nLmludGVybmFsVmFsdWUgPSB1bmRlZmluZWQ7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IGV4dGVybmFsQWNjb3VudEJpbmRpbmdJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZXh0ZXJuYWxBY2NvdW50QmluZGluZy5pbnRlcm5hbFZhbHVlO1xuICB9XG5cbiAgLy8gPT09PT09PT09XG4gIC8vIFNZTlRIRVNJU1xuICAvLyA9PT09PT09PT1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7XG4gICAgICBhY2NvdW50X2tleV9wZW06IGNka3RmLnN0cmluZ1RvVGVycmFmb3JtKHRoaXMuX2FjY291bnRLZXlQZW0pLFxuICAgICAgZW1haWxfYWRkcmVzczogY2RrdGYuc3RyaW5nVG9UZXJyYWZvcm0odGhpcy5fZW1haWxBZGRyZXNzKSxcbiAgICAgIGlkOiBjZGt0Zi5zdHJpbmdUb1RlcnJhZm9ybSh0aGlzLl9pZCksXG4gICAgICBleHRlcm5hbF9hY2NvdW50X2JpbmRpbmc6IHJlZ2lzdHJhdGlvbkV4dGVybmFsQWNjb3VudEJpbmRpbmdUb1RlcnJhZm9ybSh0aGlzLl9leHRlcm5hbEFjY291bnRCaW5kaW5nLmludGVybmFsVmFsdWUpLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|