@cdktn/provider-random 12.1.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/.jsii +4983 -0
- package/LICENSE +355 -0
- package/README.md +94 -0
- package/lib/bytes/index.d.ts +67 -0
- package/lib/bytes/index.js +122 -0
- package/lib/id/index.d.ts +81 -0
- package/lib/id/index.js +155 -0
- package/lib/index.d.ts +13 -0
- package/lib/index.js +18 -0
- package/lib/integer/index.d.ts +88 -0
- package/lib/integer/index.js +161 -0
- package/lib/lazy-index.d.ts +4 -0
- package/lib/lazy-index.js +16 -0
- package/lib/password/index.d.ts +178 -0
- package/lib/password/index.js +336 -0
- package/lib/pet/index.d.ts +89 -0
- package/lib/pet/index.js +163 -0
- package/lib/provider/index.d.ts +47 -0
- package/lib/provider/index.js +87 -0
- package/lib/shuffle/index.d.ts +91 -0
- package/lib/shuffle/index.js +164 -0
- package/lib/string-resource/index.d.ts +177 -0
- package/lib/string-resource/index.js +332 -0
- package/lib/uuid/index.d.ts +57 -0
- package/lib/uuid/index.js +104 -0
- package/package.json +152 -0
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) HashiCorp, Inc.
|
|
3
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { Construct } from 'constructs';
|
|
6
|
+
import * as cdktf from 'cdktf';
|
|
7
|
+
export interface PasswordConfig extends cdktf.TerraformMetaArguments {
|
|
8
|
+
/**
|
|
9
|
+
* Arbitrary map of values that, when changed, will trigger recreation of resource. See [the main provider documentation](../index.html) for more information.
|
|
10
|
+
*
|
|
11
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/password#keepers Password#keepers}
|
|
12
|
+
*/
|
|
13
|
+
readonly keepers?: {
|
|
14
|
+
[key: string]: string;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* The length of the string desired. The minimum value for length is 1 and, length must also be >= (`min_upper` + `min_lower` + `min_numeric` + `min_special`).
|
|
18
|
+
*
|
|
19
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/password#length Password#length}
|
|
20
|
+
*/
|
|
21
|
+
readonly length: number;
|
|
22
|
+
/**
|
|
23
|
+
* Include lowercase alphabet characters in the result. Default value is `true`.
|
|
24
|
+
*
|
|
25
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/password#lower Password#lower}
|
|
26
|
+
*/
|
|
27
|
+
readonly lower?: boolean | cdktf.IResolvable;
|
|
28
|
+
/**
|
|
29
|
+
* Minimum number of lowercase alphabet characters in the result. Default value is `0`.
|
|
30
|
+
*
|
|
31
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/password#min_lower Password#min_lower}
|
|
32
|
+
*/
|
|
33
|
+
readonly minLower?: number;
|
|
34
|
+
/**
|
|
35
|
+
* Minimum number of numeric characters in the result. Default value is `0`.
|
|
36
|
+
*
|
|
37
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/password#min_numeric Password#min_numeric}
|
|
38
|
+
*/
|
|
39
|
+
readonly minNumeric?: number;
|
|
40
|
+
/**
|
|
41
|
+
* Minimum number of special characters in the result. Default value is `0`.
|
|
42
|
+
*
|
|
43
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/password#min_special Password#min_special}
|
|
44
|
+
*/
|
|
45
|
+
readonly minSpecial?: number;
|
|
46
|
+
/**
|
|
47
|
+
* Minimum number of uppercase alphabet characters in the result. Default value is `0`.
|
|
48
|
+
*
|
|
49
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/password#min_upper Password#min_upper}
|
|
50
|
+
*/
|
|
51
|
+
readonly minUpper?: number;
|
|
52
|
+
/**
|
|
53
|
+
* Include numeric characters in the result. Default value is `true`. If `number`, `upper`, `lower`, and `special` are all configured, at least one of them must be set to `true`. **NOTE**: This is deprecated, use `numeric` instead.
|
|
54
|
+
*
|
|
55
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/password#number Password#number}
|
|
56
|
+
*/
|
|
57
|
+
readonly number?: boolean | cdktf.IResolvable;
|
|
58
|
+
/**
|
|
59
|
+
* Include numeric characters in the result. Default value is `true`. If `numeric`, `upper`, `lower`, and `special` are all configured, at least one of them must be set to `true`.
|
|
60
|
+
*
|
|
61
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/password#numeric Password#numeric}
|
|
62
|
+
*/
|
|
63
|
+
readonly numeric?: boolean | cdktf.IResolvable;
|
|
64
|
+
/**
|
|
65
|
+
* Supply your own list of special characters to use for string generation. This overrides the default character list in the special argument. The `special` argument must still be set to true for any overwritten characters to be used in generation.
|
|
66
|
+
*
|
|
67
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/password#override_special Password#override_special}
|
|
68
|
+
*/
|
|
69
|
+
readonly overrideSpecial?: string;
|
|
70
|
+
/**
|
|
71
|
+
* Include special characters in the result. These are `!@#$%&*()-_=+[]{}<>:?`. Default value is `true`.
|
|
72
|
+
*
|
|
73
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/password#special Password#special}
|
|
74
|
+
*/
|
|
75
|
+
readonly special?: boolean | cdktf.IResolvable;
|
|
76
|
+
/**
|
|
77
|
+
* Include uppercase alphabet characters in the result. Default value is `true`.
|
|
78
|
+
*
|
|
79
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/password#upper Password#upper}
|
|
80
|
+
*/
|
|
81
|
+
readonly upper?: boolean | cdktf.IResolvable;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Represents a {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/password random_password}
|
|
85
|
+
*/
|
|
86
|
+
export declare class Password extends cdktf.TerraformResource {
|
|
87
|
+
static readonly tfResourceType = "random_password";
|
|
88
|
+
/**
|
|
89
|
+
* Generates CDKTF code for importing a Password resource upon running "cdktf plan <stack-name>"
|
|
90
|
+
* @param scope The scope in which to define this construct
|
|
91
|
+
* @param importToId The construct id used in the generated config for the Password to import
|
|
92
|
+
* @param importFromId The id of the existing Password that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/password#import import section} in the documentation of this resource for the id to use
|
|
93
|
+
* @param provider? Optional instance of the provider where the Password to import is found
|
|
94
|
+
*/
|
|
95
|
+
static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
|
|
96
|
+
/**
|
|
97
|
+
* Create a new {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/password random_password} Resource
|
|
98
|
+
*
|
|
99
|
+
* @param scope The scope in which to define this construct
|
|
100
|
+
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
|
|
101
|
+
* @param options PasswordConfig
|
|
102
|
+
*/
|
|
103
|
+
constructor(scope: Construct, id: string, config: PasswordConfig);
|
|
104
|
+
get bcryptHash(): string;
|
|
105
|
+
get id(): string;
|
|
106
|
+
private _keepers?;
|
|
107
|
+
get keepers(): {
|
|
108
|
+
[key: string]: string;
|
|
109
|
+
};
|
|
110
|
+
set keepers(value: {
|
|
111
|
+
[key: string]: string;
|
|
112
|
+
});
|
|
113
|
+
resetKeepers(): void;
|
|
114
|
+
get keepersInput(): {
|
|
115
|
+
[key: string]: string;
|
|
116
|
+
} | undefined;
|
|
117
|
+
private _length?;
|
|
118
|
+
get length(): number;
|
|
119
|
+
set length(value: number);
|
|
120
|
+
get lengthInput(): number | undefined;
|
|
121
|
+
private _lower?;
|
|
122
|
+
get lower(): boolean | cdktf.IResolvable;
|
|
123
|
+
set lower(value: boolean | cdktf.IResolvable);
|
|
124
|
+
resetLower(): void;
|
|
125
|
+
get lowerInput(): boolean | cdktf.IResolvable | undefined;
|
|
126
|
+
private _minLower?;
|
|
127
|
+
get minLower(): number;
|
|
128
|
+
set minLower(value: number);
|
|
129
|
+
resetMinLower(): void;
|
|
130
|
+
get minLowerInput(): number | undefined;
|
|
131
|
+
private _minNumeric?;
|
|
132
|
+
get minNumeric(): number;
|
|
133
|
+
set minNumeric(value: number);
|
|
134
|
+
resetMinNumeric(): void;
|
|
135
|
+
get minNumericInput(): number | undefined;
|
|
136
|
+
private _minSpecial?;
|
|
137
|
+
get minSpecial(): number;
|
|
138
|
+
set minSpecial(value: number);
|
|
139
|
+
resetMinSpecial(): void;
|
|
140
|
+
get minSpecialInput(): number | undefined;
|
|
141
|
+
private _minUpper?;
|
|
142
|
+
get minUpper(): number;
|
|
143
|
+
set minUpper(value: number);
|
|
144
|
+
resetMinUpper(): void;
|
|
145
|
+
get minUpperInput(): number | undefined;
|
|
146
|
+
private _number?;
|
|
147
|
+
get number(): boolean | cdktf.IResolvable;
|
|
148
|
+
set number(value: boolean | cdktf.IResolvable);
|
|
149
|
+
resetNumber(): void;
|
|
150
|
+
get numberInput(): boolean | cdktf.IResolvable | undefined;
|
|
151
|
+
private _numeric?;
|
|
152
|
+
get numeric(): boolean | cdktf.IResolvable;
|
|
153
|
+
set numeric(value: boolean | cdktf.IResolvable);
|
|
154
|
+
resetNumeric(): void;
|
|
155
|
+
get numericInput(): boolean | cdktf.IResolvable | undefined;
|
|
156
|
+
private _overrideSpecial?;
|
|
157
|
+
get overrideSpecial(): string;
|
|
158
|
+
set overrideSpecial(value: string);
|
|
159
|
+
resetOverrideSpecial(): void;
|
|
160
|
+
get overrideSpecialInput(): string | undefined;
|
|
161
|
+
get result(): string;
|
|
162
|
+
private _special?;
|
|
163
|
+
get special(): boolean | cdktf.IResolvable;
|
|
164
|
+
set special(value: boolean | cdktf.IResolvable);
|
|
165
|
+
resetSpecial(): void;
|
|
166
|
+
get specialInput(): boolean | cdktf.IResolvable | undefined;
|
|
167
|
+
private _upper?;
|
|
168
|
+
get upper(): boolean | cdktf.IResolvable;
|
|
169
|
+
set upper(value: boolean | cdktf.IResolvable);
|
|
170
|
+
resetUpper(): void;
|
|
171
|
+
get upperInput(): boolean | cdktf.IResolvable | undefined;
|
|
172
|
+
protected synthesizeAttributes(): {
|
|
173
|
+
[name: string]: any;
|
|
174
|
+
};
|
|
175
|
+
protected synthesizeHclAttributes(): {
|
|
176
|
+
[name: string]: any;
|
|
177
|
+
};
|
|
178
|
+
}
|
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Password = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const cdktf = require("cdktf");
|
|
7
|
+
/**
|
|
8
|
+
* Represents a {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/password random_password}
|
|
9
|
+
*/
|
|
10
|
+
class Password extends cdktf.TerraformResource {
|
|
11
|
+
// ==============
|
|
12
|
+
// STATIC Methods
|
|
13
|
+
// ==============
|
|
14
|
+
/**
|
|
15
|
+
* Generates CDKTF code for importing a Password resource upon running "cdktf plan <stack-name>"
|
|
16
|
+
* @param scope The scope in which to define this construct
|
|
17
|
+
* @param importToId The construct id used in the generated config for the Password to import
|
|
18
|
+
* @param importFromId The id of the existing Password that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/password#import import section} in the documentation of this resource for the id to use
|
|
19
|
+
* @param provider? Optional instance of the provider where the Password to import is found
|
|
20
|
+
*/
|
|
21
|
+
static generateConfigForImport(scope, importToId, importFromId, provider) {
|
|
22
|
+
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "random_password", importId: importFromId, provider });
|
|
23
|
+
}
|
|
24
|
+
// ===========
|
|
25
|
+
// INITIALIZER
|
|
26
|
+
// ===========
|
|
27
|
+
/**
|
|
28
|
+
* Create a new {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/password random_password} Resource
|
|
29
|
+
*
|
|
30
|
+
* @param scope The scope in which to define this construct
|
|
31
|
+
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
|
|
32
|
+
* @param options PasswordConfig
|
|
33
|
+
*/
|
|
34
|
+
constructor(scope, id, config) {
|
|
35
|
+
super(scope, id, {
|
|
36
|
+
terraformResourceType: 'random_password',
|
|
37
|
+
terraformGeneratorMetadata: {
|
|
38
|
+
providerName: 'random',
|
|
39
|
+
providerVersion: '3.7.2',
|
|
40
|
+
providerVersionConstraint: '~> 3.1'
|
|
41
|
+
},
|
|
42
|
+
provider: config.provider,
|
|
43
|
+
dependsOn: config.dependsOn,
|
|
44
|
+
count: config.count,
|
|
45
|
+
lifecycle: config.lifecycle,
|
|
46
|
+
provisioners: config.provisioners,
|
|
47
|
+
connection: config.connection,
|
|
48
|
+
forEach: config.forEach
|
|
49
|
+
});
|
|
50
|
+
this._keepers = config.keepers;
|
|
51
|
+
this._length = config.length;
|
|
52
|
+
this._lower = config.lower;
|
|
53
|
+
this._minLower = config.minLower;
|
|
54
|
+
this._minNumeric = config.minNumeric;
|
|
55
|
+
this._minSpecial = config.minSpecial;
|
|
56
|
+
this._minUpper = config.minUpper;
|
|
57
|
+
this._number = config.number;
|
|
58
|
+
this._numeric = config.numeric;
|
|
59
|
+
this._overrideSpecial = config.overrideSpecial;
|
|
60
|
+
this._special = config.special;
|
|
61
|
+
this._upper = config.upper;
|
|
62
|
+
}
|
|
63
|
+
// ==========
|
|
64
|
+
// ATTRIBUTES
|
|
65
|
+
// ==========
|
|
66
|
+
// bcrypt_hash - computed: true, optional: false, required: false
|
|
67
|
+
get bcryptHash() {
|
|
68
|
+
return this.getStringAttribute('bcrypt_hash');
|
|
69
|
+
}
|
|
70
|
+
// id - computed: true, optional: false, required: false
|
|
71
|
+
get id() {
|
|
72
|
+
return this.getStringAttribute('id');
|
|
73
|
+
}
|
|
74
|
+
get keepers() {
|
|
75
|
+
return this.getStringMapAttribute('keepers');
|
|
76
|
+
}
|
|
77
|
+
set keepers(value) {
|
|
78
|
+
this._keepers = value;
|
|
79
|
+
}
|
|
80
|
+
resetKeepers() {
|
|
81
|
+
this._keepers = undefined;
|
|
82
|
+
}
|
|
83
|
+
// Temporarily expose input value. Use with caution.
|
|
84
|
+
get keepersInput() {
|
|
85
|
+
return this._keepers;
|
|
86
|
+
}
|
|
87
|
+
get length() {
|
|
88
|
+
return this.getNumberAttribute('length');
|
|
89
|
+
}
|
|
90
|
+
set length(value) {
|
|
91
|
+
this._length = value;
|
|
92
|
+
}
|
|
93
|
+
// Temporarily expose input value. Use with caution.
|
|
94
|
+
get lengthInput() {
|
|
95
|
+
return this._length;
|
|
96
|
+
}
|
|
97
|
+
get lower() {
|
|
98
|
+
return this.getBooleanAttribute('lower');
|
|
99
|
+
}
|
|
100
|
+
set lower(value) {
|
|
101
|
+
this._lower = value;
|
|
102
|
+
}
|
|
103
|
+
resetLower() {
|
|
104
|
+
this._lower = undefined;
|
|
105
|
+
}
|
|
106
|
+
// Temporarily expose input value. Use with caution.
|
|
107
|
+
get lowerInput() {
|
|
108
|
+
return this._lower;
|
|
109
|
+
}
|
|
110
|
+
get minLower() {
|
|
111
|
+
return this.getNumberAttribute('min_lower');
|
|
112
|
+
}
|
|
113
|
+
set minLower(value) {
|
|
114
|
+
this._minLower = value;
|
|
115
|
+
}
|
|
116
|
+
resetMinLower() {
|
|
117
|
+
this._minLower = undefined;
|
|
118
|
+
}
|
|
119
|
+
// Temporarily expose input value. Use with caution.
|
|
120
|
+
get minLowerInput() {
|
|
121
|
+
return this._minLower;
|
|
122
|
+
}
|
|
123
|
+
get minNumeric() {
|
|
124
|
+
return this.getNumberAttribute('min_numeric');
|
|
125
|
+
}
|
|
126
|
+
set minNumeric(value) {
|
|
127
|
+
this._minNumeric = value;
|
|
128
|
+
}
|
|
129
|
+
resetMinNumeric() {
|
|
130
|
+
this._minNumeric = undefined;
|
|
131
|
+
}
|
|
132
|
+
// Temporarily expose input value. Use with caution.
|
|
133
|
+
get minNumericInput() {
|
|
134
|
+
return this._minNumeric;
|
|
135
|
+
}
|
|
136
|
+
get minSpecial() {
|
|
137
|
+
return this.getNumberAttribute('min_special');
|
|
138
|
+
}
|
|
139
|
+
set minSpecial(value) {
|
|
140
|
+
this._minSpecial = value;
|
|
141
|
+
}
|
|
142
|
+
resetMinSpecial() {
|
|
143
|
+
this._minSpecial = undefined;
|
|
144
|
+
}
|
|
145
|
+
// Temporarily expose input value. Use with caution.
|
|
146
|
+
get minSpecialInput() {
|
|
147
|
+
return this._minSpecial;
|
|
148
|
+
}
|
|
149
|
+
get minUpper() {
|
|
150
|
+
return this.getNumberAttribute('min_upper');
|
|
151
|
+
}
|
|
152
|
+
set minUpper(value) {
|
|
153
|
+
this._minUpper = value;
|
|
154
|
+
}
|
|
155
|
+
resetMinUpper() {
|
|
156
|
+
this._minUpper = undefined;
|
|
157
|
+
}
|
|
158
|
+
// Temporarily expose input value. Use with caution.
|
|
159
|
+
get minUpperInput() {
|
|
160
|
+
return this._minUpper;
|
|
161
|
+
}
|
|
162
|
+
get number() {
|
|
163
|
+
return this.getBooleanAttribute('number');
|
|
164
|
+
}
|
|
165
|
+
set number(value) {
|
|
166
|
+
this._number = value;
|
|
167
|
+
}
|
|
168
|
+
resetNumber() {
|
|
169
|
+
this._number = undefined;
|
|
170
|
+
}
|
|
171
|
+
// Temporarily expose input value. Use with caution.
|
|
172
|
+
get numberInput() {
|
|
173
|
+
return this._number;
|
|
174
|
+
}
|
|
175
|
+
get numeric() {
|
|
176
|
+
return this.getBooleanAttribute('numeric');
|
|
177
|
+
}
|
|
178
|
+
set numeric(value) {
|
|
179
|
+
this._numeric = value;
|
|
180
|
+
}
|
|
181
|
+
resetNumeric() {
|
|
182
|
+
this._numeric = undefined;
|
|
183
|
+
}
|
|
184
|
+
// Temporarily expose input value. Use with caution.
|
|
185
|
+
get numericInput() {
|
|
186
|
+
return this._numeric;
|
|
187
|
+
}
|
|
188
|
+
get overrideSpecial() {
|
|
189
|
+
return this.getStringAttribute('override_special');
|
|
190
|
+
}
|
|
191
|
+
set overrideSpecial(value) {
|
|
192
|
+
this._overrideSpecial = value;
|
|
193
|
+
}
|
|
194
|
+
resetOverrideSpecial() {
|
|
195
|
+
this._overrideSpecial = undefined;
|
|
196
|
+
}
|
|
197
|
+
// Temporarily expose input value. Use with caution.
|
|
198
|
+
get overrideSpecialInput() {
|
|
199
|
+
return this._overrideSpecial;
|
|
200
|
+
}
|
|
201
|
+
// result - computed: true, optional: false, required: false
|
|
202
|
+
get result() {
|
|
203
|
+
return this.getStringAttribute('result');
|
|
204
|
+
}
|
|
205
|
+
get special() {
|
|
206
|
+
return this.getBooleanAttribute('special');
|
|
207
|
+
}
|
|
208
|
+
set special(value) {
|
|
209
|
+
this._special = value;
|
|
210
|
+
}
|
|
211
|
+
resetSpecial() {
|
|
212
|
+
this._special = undefined;
|
|
213
|
+
}
|
|
214
|
+
// Temporarily expose input value. Use with caution.
|
|
215
|
+
get specialInput() {
|
|
216
|
+
return this._special;
|
|
217
|
+
}
|
|
218
|
+
get upper() {
|
|
219
|
+
return this.getBooleanAttribute('upper');
|
|
220
|
+
}
|
|
221
|
+
set upper(value) {
|
|
222
|
+
this._upper = value;
|
|
223
|
+
}
|
|
224
|
+
resetUpper() {
|
|
225
|
+
this._upper = undefined;
|
|
226
|
+
}
|
|
227
|
+
// Temporarily expose input value. Use with caution.
|
|
228
|
+
get upperInput() {
|
|
229
|
+
return this._upper;
|
|
230
|
+
}
|
|
231
|
+
// =========
|
|
232
|
+
// SYNTHESIS
|
|
233
|
+
// =========
|
|
234
|
+
synthesizeAttributes() {
|
|
235
|
+
return {
|
|
236
|
+
keepers: cdktf.hashMapper(cdktf.stringToTerraform)(this._keepers),
|
|
237
|
+
length: cdktf.numberToTerraform(this._length),
|
|
238
|
+
lower: cdktf.booleanToTerraform(this._lower),
|
|
239
|
+
min_lower: cdktf.numberToTerraform(this._minLower),
|
|
240
|
+
min_numeric: cdktf.numberToTerraform(this._minNumeric),
|
|
241
|
+
min_special: cdktf.numberToTerraform(this._minSpecial),
|
|
242
|
+
min_upper: cdktf.numberToTerraform(this._minUpper),
|
|
243
|
+
number: cdktf.booleanToTerraform(this._number),
|
|
244
|
+
numeric: cdktf.booleanToTerraform(this._numeric),
|
|
245
|
+
override_special: cdktf.stringToTerraform(this._overrideSpecial),
|
|
246
|
+
special: cdktf.booleanToTerraform(this._special),
|
|
247
|
+
upper: cdktf.booleanToTerraform(this._upper),
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
synthesizeHclAttributes() {
|
|
251
|
+
const attrs = {
|
|
252
|
+
keepers: {
|
|
253
|
+
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._keepers),
|
|
254
|
+
isBlock: false,
|
|
255
|
+
type: "map",
|
|
256
|
+
storageClassType: "stringMap",
|
|
257
|
+
},
|
|
258
|
+
length: {
|
|
259
|
+
value: cdktf.numberToHclTerraform(this._length),
|
|
260
|
+
isBlock: false,
|
|
261
|
+
type: "simple",
|
|
262
|
+
storageClassType: "number",
|
|
263
|
+
},
|
|
264
|
+
lower: {
|
|
265
|
+
value: cdktf.booleanToHclTerraform(this._lower),
|
|
266
|
+
isBlock: false,
|
|
267
|
+
type: "simple",
|
|
268
|
+
storageClassType: "boolean",
|
|
269
|
+
},
|
|
270
|
+
min_lower: {
|
|
271
|
+
value: cdktf.numberToHclTerraform(this._minLower),
|
|
272
|
+
isBlock: false,
|
|
273
|
+
type: "simple",
|
|
274
|
+
storageClassType: "number",
|
|
275
|
+
},
|
|
276
|
+
min_numeric: {
|
|
277
|
+
value: cdktf.numberToHclTerraform(this._minNumeric),
|
|
278
|
+
isBlock: false,
|
|
279
|
+
type: "simple",
|
|
280
|
+
storageClassType: "number",
|
|
281
|
+
},
|
|
282
|
+
min_special: {
|
|
283
|
+
value: cdktf.numberToHclTerraform(this._minSpecial),
|
|
284
|
+
isBlock: false,
|
|
285
|
+
type: "simple",
|
|
286
|
+
storageClassType: "number",
|
|
287
|
+
},
|
|
288
|
+
min_upper: {
|
|
289
|
+
value: cdktf.numberToHclTerraform(this._minUpper),
|
|
290
|
+
isBlock: false,
|
|
291
|
+
type: "simple",
|
|
292
|
+
storageClassType: "number",
|
|
293
|
+
},
|
|
294
|
+
number: {
|
|
295
|
+
value: cdktf.booleanToHclTerraform(this._number),
|
|
296
|
+
isBlock: false,
|
|
297
|
+
type: "simple",
|
|
298
|
+
storageClassType: "boolean",
|
|
299
|
+
},
|
|
300
|
+
numeric: {
|
|
301
|
+
value: cdktf.booleanToHclTerraform(this._numeric),
|
|
302
|
+
isBlock: false,
|
|
303
|
+
type: "simple",
|
|
304
|
+
storageClassType: "boolean",
|
|
305
|
+
},
|
|
306
|
+
override_special: {
|
|
307
|
+
value: cdktf.stringToHclTerraform(this._overrideSpecial),
|
|
308
|
+
isBlock: false,
|
|
309
|
+
type: "simple",
|
|
310
|
+
storageClassType: "string",
|
|
311
|
+
},
|
|
312
|
+
special: {
|
|
313
|
+
value: cdktf.booleanToHclTerraform(this._special),
|
|
314
|
+
isBlock: false,
|
|
315
|
+
type: "simple",
|
|
316
|
+
storageClassType: "boolean",
|
|
317
|
+
},
|
|
318
|
+
upper: {
|
|
319
|
+
value: cdktf.booleanToHclTerraform(this._upper),
|
|
320
|
+
isBlock: false,
|
|
321
|
+
type: "simple",
|
|
322
|
+
storageClassType: "boolean",
|
|
323
|
+
},
|
|
324
|
+
};
|
|
325
|
+
// remove undefined attributes
|
|
326
|
+
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
exports.Password = Password;
|
|
330
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
331
|
+
Password[_a] = { fqn: "@cdktn/provider-random.password.Password", version: "12.1.0" };
|
|
332
|
+
// =================
|
|
333
|
+
// STATIC PROPERTIES
|
|
334
|
+
// =================
|
|
335
|
+
Password.tfResourceType = "random_password";
|
|
336
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFzc3dvcmQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFTQSwrQkFBK0I7QUErRS9COztFQUVFO0FBQ0YsTUFBYSxRQUFTLFNBQVEsS0FBSyxDQUFDLGlCQUFpQjtJQU9uRCxpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQjs7Ozs7O01BTUU7SUFDSyxNQUFNLENBQUMsdUJBQXVCLENBQUMsS0FBZ0IsRUFBRSxVQUFrQixFQUFFLFlBQW9CLEVBQUUsUUFBa0M7UUFDOUgsT0FBTyxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3pJLENBQUM7SUFFTCxjQUFjO0lBQ2QsY0FBYztJQUNkLGNBQWM7SUFFZDs7Ozs7O01BTUU7SUFDRixZQUFtQixLQUFnQixFQUFFLEVBQVUsRUFBRSxNQUFzQjtRQUNyRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLHFCQUFxQixFQUFFLGlCQUFpQjtZQUN4QywwQkFBMEIsRUFBRTtnQkFDMUIsWUFBWSxFQUFFLFFBQVE7Z0JBQ3RCLGVBQWUsRUFBRSxPQUFPO2dCQUN4Qix5QkFBeUIsRUFBRSxRQUFRO2FBQ3BDO1lBQ0QsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztZQUMzQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO1lBQzNCLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWTtZQUNqQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVU7WUFDN0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1NBQ3hCLENBQUMs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LENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO2dCQUN4RCxPQUFPLEVBQUUsS0FBSztnQkFDZCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxnQkFBZ0IsRUFBRSxRQUFRO2FBQzNCO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFBRSxLQUFLLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztnQkFDakQsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsZ0JBQWdCLEVBQUUsU0FBUzthQUM1QjtZQUNELEtBQUssRUFBRTtnQkFDTCxLQUFLLEVBQUUsS0FBSyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQy9DLE9BQU8sRUFBRSxLQUFLO2dCQUNkLElBQUksRUFBRSxRQUFRO2dCQUNkLGdCQUFnQixFQUFFLFNBQVM7YUFDNUI7U0FDRixDQUFDO1FBRUYsOEJBQThCO1FBQzlCLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFFLENBQUMsQ0FBQTtJQUM1SCxDQUFDOztBQWpYSCw0QkFrWEM7OztBQWhYQyxvQkFBb0I7QUFDcEIsb0JBQW9CO0FBQ3BCLG9CQUFvQjtBQUNHLHVCQUFjLEdBQUcsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmMuXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbi8vIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvcmFuZG9tLzMuNy4yL2RvY3MvcmVzb3VyY2VzL3Bhc3N3b3JkXG4vLyBnZW5lcmF0ZWQgZnJvbSB0ZXJyYWZvcm0gcmVzb3VyY2Ugc2NoZW1hXG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgY2RrdGYgZnJvbSAnY2RrdGYnO1xuXG4vLyBDb25maWd1cmF0aW9uXG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFzc3dvcmRDb25maWcgZXh0ZW5kcyBjZGt0Zi5UZXJyYWZvcm1NZXRhQXJndW1lbnRzIHtcbiAgLyoqXG4gICogQXJiaXRyYXJ5IG1hcCBvZiB2YWx1ZXMgdGhhdCwgd2hlbiBjaGFuZ2VkLCB3aWxsIHRyaWdnZXIgcmVjcmVhdGlvbiBvZiByZXNvdXJjZS4gU2VlIFt0aGUgbWFpbiBwcm92aWRlciBkb2N1bWVudGF0aW9uXSguLi9pbmRleC5odG1sKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9yYW5kb20vMy43LjIvZG9jcy9yZXNvdXJjZXMvcGFzc3dvcmQja2VlcGVycyBQYXNzd29yZCNrZWVwZXJzfVxuICAqL1xuICByZWFkb25seSBrZWVwZXJzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgLyoqXG4gICogVGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nIGRlc2lyZWQuIFRoZSBtaW5pbXVtIHZhbHVlIGZvciBsZW5ndGggaXMgMSBhbmQsIGxlbmd0aCBtdXN0IGFsc28gYmUgPj0gKGBtaW5fdXBwZXJgICsgYG1pbl9sb3dlcmAgKyBgbWluX251bWVyaWNgICsgYG1pbl9zcGVjaWFsYCkuXG4gICpcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvcmFuZG9tLzMuNy4yL2RvY3MvcmVzb3VyY2VzL3Bhc3N3b3JkI2xlbmd0aCBQYXNzd29yZCNsZW5ndGh9XG4gICovXG4gIHJlYWRvbmx5IGxlbmd0aDogbnVtYmVyO1xuICAvKipcbiAgKiBJbmNsdWRlIGxvd2VyY2FzZSBhbHBoYWJldCBjaGFyYWN0ZXJzIGluIHRoZSByZXN1bHQuIERlZmF1bHQgdmFsdWUgaXMgYHRydWVgLlxuICAqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL3JhbmRvbS8zLjcuMi9kb2NzL3Jlc291cmNlcy9wYXNzd29yZCNsb3dlciBQYXNzd29yZCNsb3dlcn1cbiAgKi9cbiAgcmVhZG9ubHkgbG93ZXI/OiBib29sZWFuIHwgY2RrdGYuSVJlc29sdmFibGU7XG4gIC8qKlxuICAqIE1pbmltdW0gbnVtYmVyIG9mIGxvd2VyY2FzZSBhbHBoYWJldCBjaGFyYWN0ZXJzIGluIHRoZSByZXN1bHQuIERlZmF1bHQgdmFsdWUgaXMgYDBgLlxuICAqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL3JhbmRvbS8zLjcuMi9kb2NzL3Jlc291cmNlcy9wYXNzd29yZCNtaW5fbG93ZXIgUGFzc3dvcmQjbWluX2xvd2VyfVxuICAqL1xuICByZWFkb25seSBtaW5Mb3dlcj86IG51bWJlcjtcbiAgLyoqXG4gICogTWluaW11bSBudW1iZXIgb2YgbnVtZXJpYyBjaGFyYWN0ZXJzIGluIHRoZSByZXN1bHQuIERlZmF1bHQgdmFsdWUgaXMgYDBgLlxuICAqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL3JhbmRvbS8zLjcuMi9kb2NzL3Jlc291cmNlcy9wYXNzd29yZCNtaW5fbnVtZXJpYyBQYXNzd29yZCNtaW5fbnVtZXJpY31cbiAgKi9cbiAgcmVhZG9ubHkgbWluTnVtZXJpYz86IG51bWJlcjtcbiAgLyoqXG4gICogTWluaW11bSBudW1iZXIgb2Ygc3BlY2lhbCBjaGFyYWN0ZXJzIGluIHRoZSByZXN1bHQuIERlZmF1bHQgdmFsdWUgaXMgYDBgLlxuICAqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL3JhbmRvbS8zLjcuMi9kb2NzL3Jlc291cmNlcy9wYXNzd29yZCNtaW5fc3BlY2lhbCBQYXNzd29yZCNtaW5fc3BlY2lhbH1cbiAgKi9cbiAgcmVhZG9ubHkgbWluU3BlY2lhbD86IG51bWJlcjtcbiAgLyoqXG4gICogTWluaW11bSBudW1iZXIgb2YgdXBwZXJjYXNlIGFscGhhYmV0IGNoYXJhY3RlcnMgaW4gdGhlIHJlc3VsdC4gRGVmYXVsdCB2YWx1ZSBpcyBgMGAuXG4gICpcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvcmFuZG9tLzMuNy4yL2RvY3MvcmVzb3VyY2VzL3Bhc3N3b3JkI21pbl91cHBlciBQYXNzd29yZCNtaW5fdXBwZXJ9XG4gICovXG4gIHJlYWRvbmx5IG1pblVwcGVyPzogbnVtYmVyO1xuICAvKipcbiAgKiBJbmNsdWRlIG51bWVyaWMgY2hhcmFjdGVycyBpbiB0aGUgcmVzdWx0LiBEZWZhdWx0IHZhbHVlIGlzIGB0cnVlYC4gSWYgYG51bWJlcmAsIGB1cHBlcmAsIGBsb3dlcmAsIGFuZCBgc3BlY2lhbGAgYXJlIGFsbCBjb25maWd1cmVkLCBhdCBsZWFzdCBvbmUgb2YgdGhlbSBtdXN0IGJlIHNldCB0byBgdHJ1ZWAuICoqTk9URSoqOiBUaGlzIGlzIGRlcHJlY2F0ZWQsIHVzZSBgbnVtZXJpY2AgaW5zdGVhZC5cbiAgKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9yYW5kb20vMy43LjIvZG9jcy9yZXNvdXJjZXMvcGFzc3dvcmQjbnVtYmVyIFBhc3N3b3JkI251bWJlcn1cbiAgKi9cbiAgcmVhZG9ubHkgbnVtYmVyPzogYm9vbGVhbiB8IGNka3RmLklSZXNvbHZhYmxlO1xuICAvKipcbiAgKiBJbmNsdWRlIG51bWVyaWMgY2hhcmFjdGVycyBpbiB0aGUgcmVzdWx0LiBEZWZhdWx0IHZhbHVlIGlzIGB0cnVlYC4gSWYgYG51bWVyaWNgLCBgdXBwZXJgLCBgbG93ZXJgLCBhbmQgYHNwZWNpYWxgIGFyZSBhbGwgY29uZmlndXJlZCwgYXQgbGVhc3Qgb25lIG9mIHRoZW0gbXVzdCBiZSBzZXQgdG8gYHRydWVgLlxuICAqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL3JhbmRvbS8zLjcuMi9kb2NzL3Jlc291cmNlcy9wYXNzd29yZCNudW1lcmljIFBhc3N3b3JkI251bWVyaWN9XG4gICovXG4gIHJlYWRvbmx5IG51bWVyaWM/OiBib29sZWFuIHwgY2RrdGYuSVJlc29sdmFibGU7XG4gIC8qKlxuICAqIFN1cHBseSB5b3VyIG93biBsaXN0IG9mIHNwZWNpYWwgY2hhcmFjdGVycyB0byB1c2UgZm9yIHN0cmluZyBnZW5lcmF0aW9uLiAgVGhpcyBvdmVycmlkZXMgdGhlIGRlZmF1bHQgY2hhcmFjdGVyIGxpc3QgaW4gdGhlIHNwZWNpYWwgYXJndW1lbnQuICBUaGUgYHNwZWNpYWxgIGFyZ3VtZW50IG11c3Qgc3RpbGwgYmUgc2V0IHRvIHRydWUgZm9yIGFueSBvdmVyd3JpdHRlbiBjaGFyYWN0ZXJzIHRvIGJlIHVzZWQgaW4gZ2VuZXJhdGlvbi5cbiAgKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9yYW5kb20vMy43LjIvZG9jcy9yZXNvdXJjZXMvcGFzc3dvcmQjb3ZlcnJpZGVfc3BlY2lhbCBQYXNzd29yZCNvdmVycmlkZV9zcGVjaWFsfVxuICAqL1xuICByZWFkb25seSBvdmVycmlkZVNwZWNpYWw/OiBzdHJpbmc7XG4gIC8qKlxuICAqIEluY2x1ZGUgc3BlY2lhbCBjaGFyYWN0ZXJzIGluIHRoZSByZXN1bHQuIFRoZXNlIGFyZSBgIUAjJCUmKigpLV89K1tde308Pjo/YC4gRGVmYXVsdCB2YWx1ZSBpcyBgdHJ1ZWAuXG4gICpcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvcmFuZG9tLzMuNy4yL2RvY3MvcmVzb3VyY2VzL3Bhc3N3b3JkI3NwZWNpYWwgUGFzc3dvcmQjc3BlY2lhbH1cbiAgKi9cbiAgcmVhZG9ubHkgc3BlY2lhbD86IGJvb2xlYW4gfCBjZGt0Zi5JUmVzb2x2YWJsZTtcbiAgLyoqXG4gICogSW5jbHVkZSB1cHBlcmNhc2UgYWxwaGFiZXQgY2hhcmFjdGVycyBpbiB0aGUgcmVzdWx0LiBEZWZhdWx0IHZhbHVlIGlzIGB0cnVlYC5cbiAgKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9yYW5kb20vMy43LjIvZG9jcy9yZXNvdXJjZXMvcGFzc3dvcmQjdXBwZXIgUGFzc3dvcmQjdXBwZXJ9XG4gICovXG4gIHJlYWRvbmx5IHVwcGVyPzogYm9vbGVhbiB8IGNka3RmLklSZXNvbHZhYmxlO1xufVxuXG4vKipcbiogUmVwcmVzZW50cyBhIHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL3JhbmRvbS8zLjcuMi9kb2NzL3Jlc291cmNlcy9wYXNzd29yZCByYW5kb21fcGFzc3dvcmR9XG4qL1xuZXhwb3J0IGNsYXNzIFBhc3N3b3JkIGV4dGVuZHMgY2RrdGYuVGVycmFmb3JtUmVzb3VyY2Uge1xuXG4gIC8vID09PT09PT09PT09PT09PT09XG4gIC8vIFNUQVRJQyBQUk9QRVJUSUVTXG4gIC8vID09PT09PT09PT09PT09PT09XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgdGZSZXNvdXJjZVR5cGUgPSBcInJhbmRvbV9wYXNzd29yZFwiO1xuXG4gIC8vID09PT09PT09PT09PT09XG4gIC8vIFNUQVRJQyBNZXRob2RzXG4gIC8vID09PT09PT09PT09PT09XG4gIC8qKlxuICAqIEdlbmVyYXRlcyBDREtURiBjb2RlIGZvciBpbXBvcnRpbmcgYSBQYXNzd29yZCByZXNvdXJjZSB1cG9uIHJ1bm5pbmcgXCJjZGt0ZiBwbGFuIDxzdGFjay1uYW1lPlwiXG4gICogQHBhcmFtIHNjb3BlIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3RcbiAgKiBAcGFyYW0gaW1wb3J0VG9JZCBUaGUgY29uc3RydWN0IGlkIHVzZWQgaW4gdGhlIGdlbmVyYXRlZCBjb25maWcgZm9yIHRoZSBQYXNzd29yZCB0byBpbXBvcnRcbiAgKiBAcGFyYW0gaW1wb3J0RnJvbUlkIFRoZSBpZCBvZiB0aGUgZXhpc3RpbmcgUGFzc3dvcmQgdGhhdCBzaG91bGQgYmUgaW1wb3J0ZWQuIFJlZmVyIHRvIHRoZSB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9yYW5kb20vMy43LjIvZG9jcy9yZXNvdXJjZXMvcGFzc3dvcmQjaW1wb3J0IGltcG9ydCBzZWN0aW9ufSBpbiB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGlzIHJlc291cmNlIGZvciB0aGUgaWQgdG8gdXNlXG4gICogQHBhcmFtIHByb3ZpZGVyPyBPcHRpb25hbCBpbnN0YW5jZSBvZiB0aGUgcHJvdmlkZXIgd2hlcmUgdGhlIFBhc3N3b3JkIHRvIGltcG9ydCBpcyBmb3VuZFxuICAqL1xuICBwdWJsaWMgc3RhdGljIGdlbmVyYXRlQ29uZmlnRm9ySW1wb3J0KHNjb3BlOiBDb25zdHJ1Y3QsIGltcG9ydFRvSWQ6IHN0cmluZywgaW1wb3J0RnJvbUlkOiBzdHJpbmcsIHByb3ZpZGVyPzogY2RrdGYuVGVycmFmb3JtUHJvdmlkZXIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBjZGt0Zi5JbXBvcnRhYmxlUmVzb3VyY2Uoc2NvcGUsIGltcG9ydFRvSWQsIHsgdGVycmFmb3JtUmVzb3VyY2VUeXBlOiBcInJhbmRvbV9wYXNzd29yZFwiLCBpbXBvcnRJZDogaW1wb3J0RnJvbUlkLCBwcm92aWRlciB9KTtcbiAgICAgIH1cblxuICAvLyA9PT09PT09PT09PVxuICAvLyBJTklUSUFMSVpFUlxuICAvLyA9PT09PT09PT09PVxuXG4gIC8qKlxuICAqIENyZWF0ZSBhIG5ldyB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9yYW5kb20vMy43LjIvZG9jcy9yZXNvdXJjZXMvcGFzc3dvcmQgcmFuZG9tX3Bhc3N3b3JkfSBSZXNvdXJjZVxuICAqXG4gICogQHBhcmFtIHNjb3BlIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3RcbiAgKiBAcGFyYW0gaWQgVGhlIHNjb3BlZCBjb25zdHJ1Y3QgSUQuIE11c3QgYmUgdW5pcXVlIGFtb25nc3Qgc2libGluZ3MgaW4gdGhlIHNhbWUgc2NvcGVcbiAgKiBAcGFyYW0gb3B0aW9ucyBQYXNzd29yZENvbmZpZ1xuICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgY29uZmlnOiBQYXNzd29yZENvbmZpZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgdGVycmFmb3JtUmVzb3VyY2VUeXBlOiAncmFuZG9tX3Bhc3N3b3JkJyxcbiAgICAgIHRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhOiB7XG4gICAgICAgIHByb3ZpZGVyTmFtZTogJ3JhbmRvbScsXG4gICAgICAgIHByb3ZpZGVyVmVyc2lvbjogJzMuNy4yJyxcbiAgICAgICAgcHJvdmlkZXJWZXJzaW9uQ29uc3RyYWludDogJ34+IDMuMSdcbiAgICAgIH0sXG4gICAgICBwcm92aWRlcjogY29uZmlnLnByb3ZpZGVyLFxuICAgICAgZGVwZW5kc09uOiBjb25maWcuZGVwZW5kc09uLFxuICAgICAgY291bnQ6IGNvbmZpZy5jb3VudCxcbiAgICAgIGxpZmVjeWNsZTogY29uZmlnLmxpZmVjeWNsZSxcbiAgICAgIHByb3Zpc2lvbmVyczogY29uZmlnLnByb3Zpc2lvbmVycyxcbiAgICAgIGNvbm5lY3Rpb246IGNvbmZpZy5jb25uZWN0aW9uLFxuICAgICAgZm9yRWFjaDogY29uZmlnLmZvckVhY2hcbiAgICB9KTtcbiAgICB0aGlzLl9rZWVwZXJzID0gY29uZmlnLmtlZXBlcnM7XG4gICAgdGhpcy5fbGVuZ3RoID0gY29uZmlnLmxlbmd0aDtcbiAgICB0aGlzLl9sb3dlciA9IGNvbmZpZy5sb3dlcjtcbiAgICB0aGlzLl9taW5Mb3dlciA9IGNvbmZpZy5taW5Mb3dlcjtcbiAgICB0aGlzLl9taW5OdW1lcmljID0gY29uZmlnLm1pbk51bWVyaWM7XG4gICAgdGhpcy5fbWluU3BlY2lhbCA9IGNvbmZpZy5taW5TcGVjaWFsO1xuICAgIHRoaXMuX21pblVwcGVyID0gY29uZmlnLm1pblVwcGVyO1xuICAgIHRoaXMuX251bWJlciA9IGNvbmZpZy5udW1iZXI7XG4gICAgdGhpcy5fbnVtZXJpYyA9IGNvbmZpZy5udW1lcmljO1xuICAgIHRoaXMuX292ZXJyaWRlU3BlY2lhbCA9IGNvbmZpZy5vdmVycmlkZVNwZWNpYWw7XG4gICAgdGhpcy5fc3BlY2lhbCA9IGNvbmZpZy5zcGVjaWFsO1xuICAgIHRoaXMuX3VwcGVyID0gY29uZmlnLnVwcGVyO1xuICB9XG5cbiAgLy8gPT09PT09PT09PVxuICAvLyBBVFRSSUJVVEVTXG4gIC8vID09PT09PT09PT1cblxuICAvLyBiY3J5cHRfaGFzaCAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiBmYWxzZVxuICBwdWJsaWMgZ2V0IGJjcnlwdEhhc2goKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RyaW5nQXR0cmlidXRlKCdiY3J5cHRfaGFzaCcpO1xuICB9XG5cbiAgLy8gaWQgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogZmFsc2VcbiAgcHVibGljIGdldCBpZCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ2lkJyk7XG4gIH1cblxuICAvLyBrZWVwZXJzIC0gY29tcHV0ZWQ6IGZhbHNlLCBvcHRpb25hbDogdHJ1ZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHByaXZhdGUgX2tlZXBlcnM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9OyBcbiAgcHVibGljIGdldCBrZWVwZXJzKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ01hcEF0dHJpYnV0ZSgna2VlcGVycycpO1xuICB9XG4gIHB1YmxpYyBzZXQga2VlcGVycyh2YWx1ZTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkge1xuICAgIHRoaXMuX2tlZXBlcnMgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgcmVzZXRLZWVwZXJzKCkge1xuICAgIHRoaXMuX2tlZXBlcnMgPSB1bmRlZmluZWQ7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IGtlZXBlcnNJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fa2VlcGVycztcbiAgfVxuXG4gIC8vIGxlbmd0aCAtIGNvbXB1dGVkOiBmYWxzZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogdHJ1ZVxuICBwcml2YXRlIF9sZW5ndGg/OiBudW1iZXI7IFxuICBwdWJsaWMgZ2V0IGxlbmd0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXROdW1iZXJBdHRyaWJ1dGUoJ2xlbmd0aCcpO1xuICB9XG4gIHB1YmxpYyBzZXQgbGVuZ3RoKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9sZW5ndGggPSB2YWx1ZTtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQgbGVuZ3RoSW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2xlbmd0aDtcbiAgfVxuXG4gIC8vIGxvd2VyIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfbG93ZXI/OiBib29sZWFuIHwgY2RrdGYuSVJlc29sdmFibGU7IFxuICBwdWJsaWMgZ2V0IGxvd2VyKCkge1xuICAgIHJldHVybiB0aGlzLmdldEJvb2xlYW5BdHRyaWJ1dGUoJ2xvd2VyJyk7XG4gIH1cbiAgcHVibGljIHNldCBsb3dlcih2YWx1ZTogYm9vbGVhbiB8IGNka3RmLklSZXNvbHZhYmxlKSB7XG4gICAgdGhpcy5fbG93ZXIgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgcmVzZXRMb3dlcigpIHtcbiAgICB0aGlzLl9sb3dlciA9IHVuZGVmaW5lZDtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQgbG93ZXJJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbG93ZXI7XG4gIH1cblxuICAvLyBtaW5fbG93ZXIgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IHRydWUsIHJlcXVpcmVkOiBmYWxzZVxuICBwcml2YXRlIF9taW5Mb3dlcj86IG51bWJlcjsgXG4gIHB1YmxpYyBnZXQgbWluTG93ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TnVtYmVyQXR0cmlidXRlKCdtaW5fbG93ZXInKTtcbiAgfVxuICBwdWJsaWMgc2V0IG1pbkxvd2VyKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9taW5Mb3dlciA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyByZXNldE1pbkxvd2VyKCkge1xuICAgIHRoaXMuX21pbkxvd2VyID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCBtaW5Mb3dlcklucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9taW5Mb3dlcjtcbiAgfVxuXG4gIC8vIG1pbl9udW1lcmljIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfbWluTnVtZXJpYz86IG51bWJlcjsgXG4gIHB1YmxpYyBnZXQgbWluTnVtZXJpYygpIHtcbiAgICByZXR1cm4gdGhpcy5nZXROdW1iZXJBdHRyaWJ1dGUoJ21pbl9udW1lcmljJyk7XG4gIH1cbiAgcHVibGljIHNldCBtaW5OdW1lcmljKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9taW5OdW1lcmljID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIHJlc2V0TWluTnVtZXJpYygpIHtcbiAgICB0aGlzLl9taW5OdW1lcmljID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCBtaW5OdW1lcmljSW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21pbk51bWVyaWM7XG4gIH1cblxuICAvLyBtaW5fc3BlY2lhbCAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogdHJ1ZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHByaXZhdGUgX21pblNwZWNpYWw/OiBudW1iZXI7IFxuICBwdWJsaWMgZ2V0IG1pblNwZWNpYWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TnVtYmVyQXR0cmlidXRlKCdtaW5fc3BlY2lhbCcpO1xuICB9XG4gIHB1YmxpYyBzZXQgbWluU3BlY2lhbCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fbWluU3BlY2lhbCA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyByZXNldE1pblNwZWNpYWwoKSB7XG4gICAgdGhpcy5fbWluU3BlY2lhbCA9IHVuZGVmaW5lZDtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQgbWluU3BlY2lhbElucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9taW5TcGVjaWFsO1xuICB9XG5cbiAgLy8gbWluX3VwcGVyIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfbWluVXBwZXI/OiBudW1iZXI7IFxuICBwdWJsaWMgZ2V0IG1pblVwcGVyKCkge1xuICAgIHJldHVybiB0aGlzLmdldE51bWJlckF0dHJpYnV0ZSgnbWluX3VwcGVyJyk7XG4gIH1cbiAgcHVibGljIHNldCBtaW5VcHBlcih2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fbWluVXBwZXIgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgcmVzZXRNaW5VcHBlcigpIHtcbiAgICB0aGlzLl9taW5VcHBlciA9IHVuZGVmaW5lZDtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQgbWluVXBwZXJJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbWluVXBwZXI7XG4gIH1cblxuICAvLyBudW1iZXIgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IHRydWUsIHJlcXVpcmVkOiBmYWxzZVxuICBwcml2YXRlIF9udW1iZXI/OiBib29sZWFuIHwgY2RrdGYuSVJlc29sdmFibGU7IFxuICBwdWJsaWMgZ2V0IG51bWJlcigpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRCb29sZWFuQXR0cmlidXRlKCdudW1iZXInKTtcbiAgfVxuICBwdWJsaWMgc2V0IG51bWJlcih2YWx1ZTogYm9vbGVhbiB8IGNka3RmLklSZXNvbHZhYmxlKSB7XG4gICAgdGhpcy5fbnVtYmVyID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIHJlc2V0TnVtYmVyKCkge1xuICAgIHRoaXMuX251bWJlciA9IHVuZGVmaW5lZDtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQgbnVtYmVySW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX251bWJlcjtcbiAgfVxuXG4gIC8vIG51bWVyaWMgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IHRydWUsIHJlcXVpcmVkOiBmYWxzZVxuICBwcml2YXRlIF9udW1lcmljPzogYm9vbGVhbiB8IGNka3RmLklSZXNvbHZhYmxlOyBcbiAgcHVibGljIGdldCBudW1lcmljKCkge1xuICAgIHJldHVybiB0aGlzLmdldEJvb2xlYW5BdHRyaWJ1dGUoJ251bWVyaWMnKTtcbiAgfVxuICBwdWJsaWMgc2V0IG51bWVyaWModmFsdWU6IGJvb2xlYW4gfCBjZGt0Zi5JUmVzb2x2YWJsZSkge1xuICAgIHRoaXMuX251bWVyaWMgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgcmVzZXROdW1lcmljKCkge1xuICAgIHRoaXMuX251bWVyaWMgPSB1bmRlZmluZWQ7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IG51bWVyaWNJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbnVtZXJpYztcbiAgfVxuXG4gIC8vIG92ZXJyaWRlX3NwZWNpYWwgLSBjb21wdXRlZDogZmFsc2UsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfb3ZlcnJpZGVTcGVjaWFsPzogc3RyaW5nOyBcbiAgcHVibGljIGdldCBvdmVycmlkZVNwZWNpYWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RyaW5nQXR0cmlidXRlKCdvdmVycmlkZV9zcGVjaWFsJyk7XG4gIH1cbiAgcHVibGljIHNldCBvdmVycmlkZVNwZWNpYWwodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX292ZXJyaWRlU3BlY2lhbCA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyByZXNldE92ZXJyaWRlU3BlY2lhbCgpIHtcbiAgICB0aGlzLl9vdmVycmlkZVNwZWNpYWwgPSB1bmRlZmluZWQ7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IG92ZXJyaWRlU3BlY2lhbElucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9vdmVycmlkZVNwZWNpYWw7XG4gIH1cblxuICAvLyByZXN1bHQgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogZmFsc2VcbiAgcHVibGljIGdldCByZXN1bHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RyaW5nQXR0cmlidXRlKCdyZXN1bHQnKTtcbiAgfVxuXG4gIC8vIHNwZWNpYWwgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IHRydWUsIHJlcXVpcmVkOiBmYWxzZVxuICBwcml2YXRlIF9zcGVjaWFsPzogYm9vbGVhbiB8IGNka3RmLklSZXNvbHZhYmxlOyBcbiAgcHVibGljIGdldCBzcGVjaWFsKCkge1xuICAgIHJldHVybiB0aGlzLmdldEJvb2xlYW5BdHRyaWJ1dGUoJ3NwZWNpYWwnKTtcbiAgfVxuICBwdWJsaWMgc2V0IHNwZWNpYWwodmFsdWU6IGJvb2xlYW4gfCBjZGt0Zi5JUmVzb2x2YWJsZSkge1xuICAgIHRoaXMuX3NwZWNpYWwgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgcmVzZXRTcGVjaWFsKCkge1xuICAgIHRoaXMuX3NwZWNpYWwgPSB1bmRlZmluZWQ7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IHNwZWNpYWxJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc3BlY2lhbDtcbiAgfVxuXG4gIC8vIHVwcGVyIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfdXBwZXI/OiBib29sZWFuIHwgY2RrdGYuSVJlc29sdmFibGU7IFxuICBwdWJsaWMgZ2V0IHVwcGVyKCkge1xuICAgIHJldHVybiB0aGlzLmdldEJvb2xlYW5BdHRyaWJ1dGUoJ3VwcGVyJyk7XG4gIH1cbiAgcHVibGljIHNldCB1cHBlcih2YWx1ZTogYm9vbGVhbiB8IGNka3RmLklSZXNvbHZhYmxlKSB7XG4gICAgdGhpcy5fdXBwZXIgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgcmVzZXRVcHBlcigpIHtcbiAgICB0aGlzLl91cHBlciA9IHVuZGVmaW5lZDtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQgdXBwZXJJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdXBwZXI7XG4gIH1cblxuICAvLyA9PT09PT09PT1cbiAgLy8gU1lOVEhFU0lTXG4gIC8vID09PT09PT09PVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGtlZXBlcnM6IGNka3RmLmhhc2hNYXBwZXIoY2RrdGYuc3RyaW5nVG9UZXJyYWZvcm0pKHRoaXMuX2tlZXBlcnMpLFxuICAgICAgbGVuZ3RoOiBjZGt0Zi5udW1iZXJUb1RlcnJhZm9ybSh0aGlzLl9sZW5ndGgpLFxuICAgICAgbG93ZXI6IGNka3RmLmJvb2xlYW5Ub1RlcnJhZm9ybSh0aGlzLl9sb3dlciksXG4gICAgICBtaW5fbG93ZXI6IGNka3RmLm51bWJlclRvVGVycmFmb3JtKHRoaXMuX21pbkxvd2VyKSxcbiAgICAgIG1pbl9udW1lcmljOiBjZGt0Zi5udW1iZXJUb1RlcnJhZm9ybSh0aGlzLl9taW5OdW1lcmljKSxcbiAgICAgIG1pbl9zcGVjaWFsOiBjZGt0Zi5udW1iZXJUb1RlcnJhZm9ybSh0aGlzLl9taW5TcGVjaWFsKSxcbiAgICAgIG1pbl91cHBlcjogY2RrdGYubnVtYmVyVG9UZXJyYWZvcm0odGhpcy5fbWluVXBwZXIpLFxuICAgICAgbnVtYmVyOiBjZGt0Zi5ib29sZWFuVG9UZXJyYWZvcm0odGhpcy5fbnVtYmVyKSxcbiAgICAgIG51bWVyaWM6IGNka3RmLmJvb2xlYW5Ub1RlcnJhZm9ybSh0aGlzLl9udW1lcmljKSxcbiAgICAgIG92ZXJyaWRlX3NwZWNpYWw6IGNka3RmLnN0cmluZ1RvVGVycmFmb3JtKHRoaXMuX292ZXJyaWRlU3BlY2lhbCksXG4gICAgICBzcGVjaWFsOiBjZGt0Zi5ib29sZWFuVG9UZXJyYWZvcm0odGhpcy5fc3BlY2lhbCksXG4gICAgICB1cHBlcjogY2RrdGYuYm9vbGVhblRvVGVycmFmb3JtKHRoaXMuX3VwcGVyKSxcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVIY2xBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICBjb25zdCBhdHRycyA9IHtcbiAgICAgIGtlZXBlcnM6IHtcbiAgICAgICAgdmFsdWU6IGNka3RmLmhhc2hNYXBwZXJIY2woY2RrdGYuc3RyaW5nVG9IY2xUZXJyYWZvcm0pKHRoaXMuX2tlZXBlcnMpLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJtYXBcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJzdHJpbmdNYXBcIixcbiAgICAgIH0sXG4gICAgICBsZW5ndGg6IHtcbiAgICAgICAgdmFsdWU6IGNka3RmLm51bWJlclRvSGNsVGVycmFmb3JtKHRoaXMuX2xlbmd0aCksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcIm51bWJlclwiLFxuICAgICAgfSxcbiAgICAgIGxvd2VyOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0Zi5ib29sZWFuVG9IY2xUZXJyYWZvcm0odGhpcy5fbG93ZXIpLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJib29sZWFuXCIsXG4gICAgICB9LFxuICAgICAgbWluX2xvd2VyOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0Zi5udW1iZXJUb0hjbFRlcnJhZm9ybSh0aGlzLl9taW5Mb3dlciksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcIm51bWJlclwiLFxuICAgICAgfSxcbiAgICAgIG1pbl9udW1lcmljOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0Zi5udW1iZXJUb0hjbFRlcnJhZm9ybSh0aGlzLl9taW5OdW1lcmljKSxcbiAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwibnVtYmVyXCIsXG4gICAgICB9LFxuICAgICAgbWluX3NwZWNpYWw6IHtcbiAgICAgICAgdmFsdWU6IGNka3RmLm51bWJlclRvSGNsVGVycmFmb3JtKHRoaXMuX21pblNwZWNpYWwpLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJudW1iZXJcIixcbiAgICAgIH0sXG4gICAgICBtaW5fdXBwZXI6IHtcbiAgICAgICAgdmFsdWU6IGNka3RmLm51bWJlclRvSGNsVGVycmFmb3JtKHRoaXMuX21pblVwcGVyKSxcbiAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwibnVtYmVyXCIsXG4gICAgICB9LFxuICAgICAgbnVtYmVyOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0Zi5ib29sZWFuVG9IY2xUZXJyYWZvcm0odGhpcy5fbnVtYmVyKSxcbiAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgfSxcbiAgICAgIG51bWVyaWM6IHtcbiAgICAgICAgdmFsdWU6IGNka3RmLmJvb2xlYW5Ub0hjbFRlcnJhZm9ybSh0aGlzLl9udW1lcmljKSxcbiAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgfSxcbiAgICAgIG92ZXJyaWRlX3NwZWNpYWw6IHtcbiAgICAgICAgdmFsdWU6IGNka3RmLnN0cmluZ1RvSGNsVGVycmFmb3JtKHRoaXMuX292ZXJyaWRlU3BlY2lhbCksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgfSxcbiAgICAgIHNwZWNpYWw6IHtcbiAgICAgICAgdmFsdWU6IGNka3RmLmJvb2xlYW5Ub0hjbFRlcnJhZm9ybSh0aGlzLl9zcGVjaWFsKSxcbiAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgfSxcbiAgICAgIHVwcGVyOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0Zi5ib29sZWFuVG9IY2xUZXJyYWZvcm0odGhpcy5fdXBwZXIpLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJib29sZWFuXCIsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICAvLyByZW1vdmUgdW5kZWZpbmVkIGF0dHJpYnV0ZXNcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGF0dHJzKS5maWx0ZXIoKFtfLCB2YWx1ZV0pID0+IHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUudmFsdWUgIT09IHVuZGVmaW5lZCApKVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) HashiCorp, Inc.
|
|
3
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { Construct } from 'constructs';
|
|
6
|
+
import * as cdktf from 'cdktf';
|
|
7
|
+
export interface PetConfig extends cdktf.TerraformMetaArguments {
|
|
8
|
+
/**
|
|
9
|
+
* Arbitrary map of values that, when changed, will trigger recreation of resource. See [the main provider documentation](../index.html) for more information.
|
|
10
|
+
*
|
|
11
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/pet#keepers Pet#keepers}
|
|
12
|
+
*/
|
|
13
|
+
readonly keepers?: {
|
|
14
|
+
[key: string]: string;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* The length (in words) of the pet name. Defaults to 2
|
|
18
|
+
*
|
|
19
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/pet#length Pet#length}
|
|
20
|
+
*/
|
|
21
|
+
readonly length?: number;
|
|
22
|
+
/**
|
|
23
|
+
* A string to prefix the name with.
|
|
24
|
+
*
|
|
25
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/pet#prefix Pet#prefix}
|
|
26
|
+
*/
|
|
27
|
+
readonly prefix?: string;
|
|
28
|
+
/**
|
|
29
|
+
* The character to separate words in the pet name. Defaults to "-"
|
|
30
|
+
*
|
|
31
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/pet#separator Pet#separator}
|
|
32
|
+
*/
|
|
33
|
+
readonly separator?: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Represents a {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/pet random_pet}
|
|
37
|
+
*/
|
|
38
|
+
export declare class Pet extends cdktf.TerraformResource {
|
|
39
|
+
static readonly tfResourceType = "random_pet";
|
|
40
|
+
/**
|
|
41
|
+
* Generates CDKTF code for importing a Pet resource upon running "cdktf plan <stack-name>"
|
|
42
|
+
* @param scope The scope in which to define this construct
|
|
43
|
+
* @param importToId The construct id used in the generated config for the Pet to import
|
|
44
|
+
* @param importFromId The id of the existing Pet that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/pet#import import section} in the documentation of this resource for the id to use
|
|
45
|
+
* @param provider? Optional instance of the provider where the Pet to import is found
|
|
46
|
+
*/
|
|
47
|
+
static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
|
|
48
|
+
/**
|
|
49
|
+
* Create a new {@link https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/pet random_pet} Resource
|
|
50
|
+
*
|
|
51
|
+
* @param scope The scope in which to define this construct
|
|
52
|
+
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
|
|
53
|
+
* @param options PetConfig = {}
|
|
54
|
+
*/
|
|
55
|
+
constructor(scope: Construct, id: string, config?: PetConfig);
|
|
56
|
+
get id(): string;
|
|
57
|
+
private _keepers?;
|
|
58
|
+
get keepers(): {
|
|
59
|
+
[key: string]: string;
|
|
60
|
+
};
|
|
61
|
+
set keepers(value: {
|
|
62
|
+
[key: string]: string;
|
|
63
|
+
});
|
|
64
|
+
resetKeepers(): void;
|
|
65
|
+
get keepersInput(): {
|
|
66
|
+
[key: string]: string;
|
|
67
|
+
} | undefined;
|
|
68
|
+
private _length?;
|
|
69
|
+
get length(): number;
|
|
70
|
+
set length(value: number);
|
|
71
|
+
resetLength(): void;
|
|
72
|
+
get lengthInput(): number | undefined;
|
|
73
|
+
private _prefix?;
|
|
74
|
+
get prefix(): string;
|
|
75
|
+
set prefix(value: string);
|
|
76
|
+
resetPrefix(): void;
|
|
77
|
+
get prefixInput(): string | undefined;
|
|
78
|
+
private _separator?;
|
|
79
|
+
get separator(): string;
|
|
80
|
+
set separator(value: string);
|
|
81
|
+
resetSeparator(): void;
|
|
82
|
+
get separatorInput(): string | undefined;
|
|
83
|
+
protected synthesizeAttributes(): {
|
|
84
|
+
[name: string]: any;
|
|
85
|
+
};
|
|
86
|
+
protected synthesizeHclAttributes(): {
|
|
87
|
+
[name: string]: any;
|
|
88
|
+
};
|
|
89
|
+
}
|