@drunk-pulumi/azure 1.0.23 → 1.0.24
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/Builder/AcrBuilder.d.ts +5 -0
- package/Builder/AcrBuilder.js +43 -10
- package/Builder/AksBuilder.d.ts +5 -0
- package/Builder/AksBuilder.js +90 -6
- package/Builder/ApimApiBuilder.js +1 -1
- package/Builder/ApimBuilder.js +3 -7
- package/Builder/ApimPolicyBuilder.js +1 -1
- package/Builder/ApimProductBuilder.d.ts +6 -5
- package/Builder/ApimProductBuilder.js +53 -27
- package/Builder/AppConfigBuilder.js +4 -8
- package/Builder/MySqlBuilder.js +4 -8
- package/Builder/PostgreSqlBuilder.js +4 -8
- package/Builder/RedisCacheBuilder.js +4 -11
- package/Builder/ResourceBuilder.js +4 -4
- package/Builder/ServiceBusBuilder.js +4 -11
- package/Builder/SignalRBuilder.js +4 -11
- package/Builder/VaultBuilder.js +7 -26
- package/Builder/types/acrBuilder.d.ts +38 -2
- package/Builder/types/apimBuilder.d.ts +109 -5
- package/Builder/types/apimPolicyBuilder.d.ts +129 -7
- package/Builder/types/apimPolicyBuilder.js +4 -1
- package/Builder/types/apimProductBuilder.d.ts +152 -5
- package/Builder/types/appCertBuilder.d.ts +17 -0
- package/Builder/types/appConfigBuilder.d.ts +22 -0
- package/Builder/types/askBuilder.d.ts +79 -1
- package/Builder/types/automationBuilder.d.ts +17 -0
- package/Builder/types/cdnBuilder.d.ts +11 -0
- package/Builder/types/dnsZoneBuilder.d.ts +20 -0
- package/Builder/types/envRoleBuilder.d.ts +28 -0
- package/Builder/types/genericBuilder.d.ts +78 -0
- package/Builder/types/genericBuilder.js +9 -1
- package/Builder/types/iotHubBuilder.d.ts +38 -5
- package/Builder/types/logicAppBuilder.d.ts +17 -0
- package/Builder/types/mySqlBuilder.d.ts +54 -1
- package/Builder/types/posgreSqlBuilder.d.ts +64 -2
- package/Builder/types/privateDnsZoneBuilder.d.ts +26 -0
- package/Builder/types/redisCacheBuilder.d.ts +31 -0
- package/Builder/types/resourceBuilder.d.ts +171 -7
- package/Builder/types/serviceBusBuilder.d.ts +55 -0
- package/Builder/types/signalRBuilder.d.ts +65 -6
- package/Builder/types/sqlBuilder.d.ts +88 -1
- package/Builder/types/storageBuilder.d.ts +63 -0
- package/Builder/types/vaultBuilder.d.ts +43 -1
- package/Builder/types/vdiBuilder.d.ts +41 -2
- package/Builder/types/vmBuilder.d.ts +83 -1
- package/Builder/types/vnetBuilder.d.ts +107 -0
- package/KeyVault/index.d.ts +1 -11
- package/KeyVault/index.js +3 -21
- package/Sql/index.js +3 -6
- package/Storage/index.js +4 -8
- package/VNet/PrivateEndpoint.d.ts +9 -3
- package/VNet/PrivateEndpoint.js +62 -2
- package/VNet/index.d.ts +11 -0
- package/VNet/index.js +18 -2
- package/package.json +1 -1
- package/types.d.ts +162 -4
- package/Sql/Auditing.d.ts +0 -0
- package/Sql/Auditing.js +0 -2
- package/Sql/Helper.d.ts +0 -9
- package/Sql/Helper.js +0 -11
- package/VNet/GlobalNetworkPeering.d.ts +0 -9
- package/VNet/GlobalNetworkPeering.js +0 -40
|
@@ -1,83 +1,205 @@
|
|
|
1
1
|
import { WithNamedType } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* Enum for different types of header operations.
|
|
4
|
+
*/
|
|
2
5
|
export declare enum SetHeaderTypes {
|
|
3
6
|
delete = "delete",
|
|
4
7
|
override = "override",
|
|
5
8
|
skip = "skip",
|
|
6
9
|
append = "append"
|
|
7
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Type for base URL configuration.
|
|
13
|
+
*/
|
|
8
14
|
export type ApimBaseUrlType = {
|
|
9
15
|
url: string;
|
|
10
16
|
};
|
|
17
|
+
/**
|
|
18
|
+
* Type for setting headers, extends WithNamedType.
|
|
19
|
+
*/
|
|
11
20
|
export type ApimSetHeaderType = WithNamedType & {
|
|
12
21
|
value?: string;
|
|
13
22
|
type: SetHeaderTypes;
|
|
14
23
|
};
|
|
24
|
+
/**
|
|
25
|
+
* Type for checking headers, extends WithNamedType.
|
|
26
|
+
*/
|
|
15
27
|
export type ApimCheckHeaderType = WithNamedType & {
|
|
16
28
|
value?: string[];
|
|
17
29
|
};
|
|
30
|
+
/**
|
|
31
|
+
* Type for mocking responses.
|
|
32
|
+
*/
|
|
18
33
|
export type ApimMockPropsType = {
|
|
19
34
|
code?: number;
|
|
20
35
|
contentType?: string;
|
|
21
36
|
};
|
|
37
|
+
/**
|
|
38
|
+
* Type for rewriting URIs.
|
|
39
|
+
*/
|
|
22
40
|
export type ApimRewriteUriType = {
|
|
23
41
|
template?: string;
|
|
24
42
|
};
|
|
43
|
+
/**
|
|
44
|
+
* Type for rate limiting configuration.
|
|
45
|
+
*/
|
|
25
46
|
export type ApimRateLimitType = {
|
|
26
|
-
/** Number of
|
|
47
|
+
/** Number of calls */
|
|
27
48
|
calls?: number;
|
|
28
|
-
/**
|
|
49
|
+
/** Time period in seconds */
|
|
29
50
|
inSecond?: number;
|
|
30
|
-
/** only
|
|
51
|
+
/** Apply only to successful responses */
|
|
31
52
|
successConditionOnly?: boolean;
|
|
32
53
|
};
|
|
54
|
+
/**
|
|
55
|
+
* Type for output caching configuration.
|
|
56
|
+
*/
|
|
33
57
|
export type ApimOutCacheType = {
|
|
34
58
|
duration?: number;
|
|
35
59
|
};
|
|
60
|
+
/**
|
|
61
|
+
* Type for authentication certificate configuration.
|
|
62
|
+
*/
|
|
36
63
|
export type ApimAuthCertType = {
|
|
37
64
|
thumbprint: string;
|
|
38
65
|
};
|
|
66
|
+
/**
|
|
67
|
+
* Type for client certificate configuration, extends Partial<ApimAuthCertType>.
|
|
68
|
+
*/
|
|
39
69
|
export type ApimClientCertType = Partial<ApimAuthCertType> & {
|
|
40
70
|
issuer?: string;
|
|
41
71
|
subject?: string;
|
|
42
72
|
verifyCert?: boolean;
|
|
43
73
|
};
|
|
74
|
+
/**
|
|
75
|
+
* Type for CORS configuration.
|
|
76
|
+
*/
|
|
44
77
|
export type ApimCorsType = {
|
|
45
78
|
origins?: string[];
|
|
46
79
|
};
|
|
80
|
+
/**
|
|
81
|
+
* Type for client IP header configuration.
|
|
82
|
+
*/
|
|
47
83
|
export type ApimClientIpHeaderType = {
|
|
48
|
-
/**
|
|
84
|
+
/** Example: `x-${organization}-clientIp` */
|
|
49
85
|
headerKey: string;
|
|
50
86
|
};
|
|
87
|
+
/**
|
|
88
|
+
* Type for validating JWT whitelist IPs.
|
|
89
|
+
*/
|
|
51
90
|
export type ApimValidateJwtWhitelistIpType = {
|
|
52
91
|
claimKey: 'client_IpWhitelist' | string;
|
|
53
92
|
};
|
|
93
|
+
/**
|
|
94
|
+
* Type for IP address whitelisting.
|
|
95
|
+
*/
|
|
54
96
|
export type ApimWhitelistIpType = {
|
|
55
97
|
ipAddresses: string[];
|
|
56
98
|
};
|
|
99
|
+
/**
|
|
100
|
+
* Type for find and replace operations.
|
|
101
|
+
*/
|
|
57
102
|
export type ApimFindAndReplaceType = {
|
|
58
103
|
from: string;
|
|
59
104
|
to: string;
|
|
60
105
|
};
|
|
106
|
+
/**
|
|
107
|
+
* Type for custom policies.
|
|
108
|
+
*/
|
|
61
109
|
export type ApimCustomPolicyType = {
|
|
62
110
|
policy: string;
|
|
63
111
|
};
|
|
112
|
+
/**
|
|
113
|
+
* Interface for building APIM policies.
|
|
114
|
+
*/
|
|
64
115
|
export interface IApimPolicyBuilder {
|
|
116
|
+
/**
|
|
117
|
+
* Sets the base URL.
|
|
118
|
+
* @param props - The base URL configuration.
|
|
119
|
+
* @returns The policy builder instance.
|
|
120
|
+
*/
|
|
65
121
|
setBaseUrl(props: ApimBaseUrlType): IApimPolicyBuilder;
|
|
122
|
+
/**
|
|
123
|
+
* Sets a header.
|
|
124
|
+
* @param props - The header configuration.
|
|
125
|
+
* @returns The policy builder instance.
|
|
126
|
+
*/
|
|
66
127
|
setHeader(props: ApimSetHeaderType): IApimPolicyBuilder;
|
|
128
|
+
/**
|
|
129
|
+
* Checks a header.
|
|
130
|
+
* @param props - The header check configuration.
|
|
131
|
+
* @returns The policy builder instance.
|
|
132
|
+
*/
|
|
67
133
|
checkHeader(props: ApimCheckHeaderType): IApimPolicyBuilder;
|
|
134
|
+
/**
|
|
135
|
+
* Mocks a response.
|
|
136
|
+
* @param props - The mock response configuration.
|
|
137
|
+
* @returns The policy builder instance.
|
|
138
|
+
*/
|
|
68
139
|
mockResponse(props: ApimMockPropsType): IApimPolicyBuilder;
|
|
140
|
+
/**
|
|
141
|
+
* Rewrites a URI.
|
|
142
|
+
* @param props - The URI rewrite configuration.
|
|
143
|
+
* @returns The policy builder instance.
|
|
144
|
+
*/
|
|
69
145
|
rewriteUri(props: ApimRewriteUriType): IApimPolicyBuilder;
|
|
146
|
+
/**
|
|
147
|
+
* Sets rate limiting.
|
|
148
|
+
* @param props - The rate limit configuration.
|
|
149
|
+
* @returns The policy builder instance.
|
|
150
|
+
*/
|
|
70
151
|
setRateLimit(props: ApimRateLimitType): IApimPolicyBuilder;
|
|
152
|
+
/**
|
|
153
|
+
* Sets cache options.
|
|
154
|
+
* @param props - The cache options configuration.
|
|
155
|
+
* @returns The policy builder instance.
|
|
156
|
+
*/
|
|
71
157
|
setCacheOptions(props: ApimOutCacheType): IApimPolicyBuilder;
|
|
158
|
+
/**
|
|
159
|
+
* Sets a backend certificate.
|
|
160
|
+
* @param props - The backend certificate configuration.
|
|
161
|
+
* @returns The policy builder instance.
|
|
162
|
+
*/
|
|
72
163
|
setBackendCert(props: ApimAuthCertType): IApimPolicyBuilder;
|
|
164
|
+
/**
|
|
165
|
+
* Verifies a client certificate.
|
|
166
|
+
* @param props - The client certificate configuration.
|
|
167
|
+
* @returns The policy builder instance.
|
|
168
|
+
*/
|
|
73
169
|
verifyClientCert(props: ApimClientCertType): IApimPolicyBuilder;
|
|
170
|
+
/**
|
|
171
|
+
* Sets CORS options.
|
|
172
|
+
* @param props - The CORS configuration.
|
|
173
|
+
* @returns The policy builder instance.
|
|
174
|
+
*/
|
|
74
175
|
setCors(props: ApimCorsType): IApimPolicyBuilder;
|
|
176
|
+
/**
|
|
177
|
+
* Sets a client IP header.
|
|
178
|
+
* @param props - The client IP header configuration.
|
|
179
|
+
* @returns The policy builder instance.
|
|
180
|
+
*/
|
|
75
181
|
setClientIpHeader(props: ApimClientIpHeaderType): IApimPolicyBuilder;
|
|
76
|
-
/**
|
|
182
|
+
/**
|
|
183
|
+
* Validates JWT whitelist IPs.
|
|
184
|
+
* @param props - The JWT whitelist IP configuration.
|
|
185
|
+
* @returns The policy builder instance.
|
|
186
|
+
*/
|
|
77
187
|
validateJwtWhitelistIp(props: ApimValidateJwtWhitelistIpType): IApimPolicyBuilder;
|
|
78
|
-
/**
|
|
188
|
+
/**
|
|
189
|
+
* Sets IP address whitelisting.
|
|
190
|
+
* @param props - The IP address whitelist configuration.
|
|
191
|
+
* @returns The policy builder instance.
|
|
192
|
+
*/
|
|
79
193
|
setWhitelistIPs(props: ApimWhitelistIpType): IApimPolicyBuilder;
|
|
80
|
-
/**
|
|
194
|
+
/**
|
|
195
|
+
* Sets find and replace operations.
|
|
196
|
+
* @param props - The find and replace configuration.
|
|
197
|
+
* @returns The policy builder instance.
|
|
198
|
+
*/
|
|
81
199
|
setFindAndReplaces(props: ApimFindAndReplaceType): IApimPolicyBuilder;
|
|
200
|
+
/**
|
|
201
|
+
* Builds the policy and returns it as a string.
|
|
202
|
+
* @returns The built policy as a string.
|
|
203
|
+
*/
|
|
82
204
|
build(): string;
|
|
83
205
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SetHeaderTypes = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Enum for different types of header operations.
|
|
6
|
+
*/
|
|
4
7
|
var SetHeaderTypes;
|
|
5
8
|
(function (SetHeaderTypes) {
|
|
6
9
|
SetHeaderTypes["delete"] = "delete";
|
|
@@ -8,4 +11,4 @@ var SetHeaderTypes;
|
|
|
8
11
|
SetHeaderTypes["skip"] = "skip";
|
|
9
12
|
SetHeaderTypes["append"] = "append";
|
|
10
13
|
})(SetHeaderTypes || (exports.SetHeaderTypes = SetHeaderTypes = {}));
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpbVBvbGljeUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQnVpbGRlci90eXBlcy9hcGltUG9saWN5QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQTs7R0FFRztBQUNILElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN4QixtQ0FBaUIsQ0FBQTtJQUNqQix1Q0FBcUIsQ0FBQTtJQUNyQiwrQkFBYSxDQUFBO0lBQ2IsbUNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUxXLGNBQWMsOEJBQWQsY0FBYyxRQUt6QiJ9
|
|
@@ -3,52 +3,199 @@ import { Input } from '@pulumi/pulumi';
|
|
|
3
3
|
import { WithNamedType, ResourceInfo } from '../../types';
|
|
4
4
|
import { IApimPolicyBuilder } from './apimPolicyBuilder';
|
|
5
5
|
import { BuilderProps, IBuilderAsync } from './genericBuilder';
|
|
6
|
+
/**
|
|
7
|
+
* Properties for building an APIM child resource.
|
|
8
|
+
*/
|
|
6
9
|
export type ApimChildBuilderProps = BuilderProps & {
|
|
10
|
+
/**
|
|
11
|
+
* The name of the APIM service.
|
|
12
|
+
*/
|
|
7
13
|
apimServiceName: string;
|
|
8
14
|
};
|
|
15
|
+
/**
|
|
16
|
+
* Properties for configuring APIM product subscriptions.
|
|
17
|
+
*/
|
|
9
18
|
export type ApimProductSubscriptionBuilderType = {
|
|
19
|
+
/**
|
|
20
|
+
* Indicates if approval is required for subscriptions.
|
|
21
|
+
*/
|
|
10
22
|
approvalRequired: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* The limit on the number of subscriptions.
|
|
25
|
+
*/
|
|
11
26
|
subscriptionsLimit: number;
|
|
12
27
|
};
|
|
13
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Function type for building an APIM API.
|
|
30
|
+
*/
|
|
31
|
+
export type APimApiBuilderFunction = (
|
|
32
|
+
/**
|
|
33
|
+
* The API service builder.
|
|
34
|
+
*/
|
|
35
|
+
builder: IApimApiServiceBuilder) => IApimApiBuilder;
|
|
36
|
+
/**
|
|
37
|
+
* Properties for setting the service URL of an APIM API.
|
|
38
|
+
*/
|
|
14
39
|
export type ApimApiServiceUrlType = {
|
|
40
|
+
/**
|
|
41
|
+
* The service URL.
|
|
42
|
+
*/
|
|
15
43
|
serviceUrl: Input<string>;
|
|
44
|
+
/**
|
|
45
|
+
* The API path.
|
|
46
|
+
*/
|
|
16
47
|
apiPath: Input<string>;
|
|
17
48
|
};
|
|
49
|
+
/**
|
|
50
|
+
* Properties for setting the keys of an APIM API.
|
|
51
|
+
*/
|
|
18
52
|
export type ApimApiKeysType = {
|
|
53
|
+
/**
|
|
54
|
+
* The header key.
|
|
55
|
+
*/
|
|
19
56
|
header?: Input<string>;
|
|
57
|
+
/**
|
|
58
|
+
* The query key.
|
|
59
|
+
*/
|
|
20
60
|
query?: Input<string>;
|
|
21
61
|
};
|
|
22
|
-
|
|
23
|
-
|
|
62
|
+
/**
|
|
63
|
+
* Function type for building APIM API policies.
|
|
64
|
+
*/
|
|
65
|
+
export type ApimApiPolicyType = (
|
|
66
|
+
/**
|
|
67
|
+
* The policy builder.
|
|
68
|
+
*/
|
|
69
|
+
builder: IApimPolicyBuilder) => IApimPolicyBuilder;
|
|
70
|
+
/**
|
|
71
|
+
* Function type for building an APIM API version.
|
|
72
|
+
*/
|
|
73
|
+
export type VersionBuilderFunction = (
|
|
74
|
+
/**
|
|
75
|
+
* The API revision builder.
|
|
76
|
+
*/
|
|
77
|
+
builder: IApimApiRevisionBuilder) => IApimApiRevisionBuilder;
|
|
78
|
+
/**
|
|
79
|
+
* Types of APIM API versions.
|
|
80
|
+
*/
|
|
24
81
|
export type ApimApiVersionType = 'v1' | 'v2' | 'v3' | 'v4' | 'v5' | string;
|
|
82
|
+
/**
|
|
83
|
+
* Properties for defining an APIM API operation.
|
|
84
|
+
*/
|
|
25
85
|
export type ApimApiOperationType = WithNamedType & {
|
|
86
|
+
/**
|
|
87
|
+
* The HTTP method of the operation.
|
|
88
|
+
*/
|
|
26
89
|
method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS';
|
|
90
|
+
/**
|
|
91
|
+
* The URL template of the operation.
|
|
92
|
+
*/
|
|
27
93
|
urlTemplate: Input<string>;
|
|
94
|
+
/**
|
|
95
|
+
* The responses of the operation.
|
|
96
|
+
*/
|
|
28
97
|
responses?: Input<Input<inputs.apimanagement.ResponseContractArgs>[]>;
|
|
29
98
|
};
|
|
99
|
+
/**
|
|
100
|
+
* Properties for defining an APIM API revision.
|
|
101
|
+
*/
|
|
30
102
|
export type ApimApiRevisionProps = {
|
|
103
|
+
/**
|
|
104
|
+
* The revision number.
|
|
105
|
+
*/
|
|
31
106
|
revision: number;
|
|
107
|
+
/**
|
|
108
|
+
* The URL of the Swagger definition.
|
|
109
|
+
*/
|
|
32
110
|
swaggerUrl: string;
|
|
33
111
|
} | {
|
|
112
|
+
/**
|
|
113
|
+
* The revision number.
|
|
114
|
+
*/
|
|
34
115
|
revision: number;
|
|
116
|
+
/**
|
|
117
|
+
* The operations of the API.
|
|
118
|
+
*/
|
|
35
119
|
operations: ApimApiOperationType[];
|
|
36
120
|
};
|
|
121
|
+
export type ApimHookProxyBuilderType = {
|
|
122
|
+
subscriptionRequired?: boolean;
|
|
123
|
+
authHeaderKey: string;
|
|
124
|
+
hookHeaderKey: string;
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Interface for building an APIM API revision.
|
|
128
|
+
*/
|
|
37
129
|
export interface IApimApiRevisionBuilder {
|
|
130
|
+
/**
|
|
131
|
+
* Sets the revision properties for the API.
|
|
132
|
+
* @param props - The revision properties.
|
|
133
|
+
* @returns An instance of IApimApiRevisionBuilder.
|
|
134
|
+
*/
|
|
38
135
|
withRevision(props: ApimApiRevisionProps): IApimApiRevisionBuilder;
|
|
39
136
|
}
|
|
137
|
+
/**
|
|
138
|
+
* Interface for building an APIM API service.
|
|
139
|
+
*/
|
|
40
140
|
export interface IApimApiServiceBuilder {
|
|
141
|
+
/**
|
|
142
|
+
* Sets the service URL properties for the API.
|
|
143
|
+
* @param props - The service URL properties.
|
|
144
|
+
* @returns An instance of IApimApiBuilder.
|
|
145
|
+
*/
|
|
41
146
|
withServiceUrl(props: ApimApiServiceUrlType): IApimApiBuilder;
|
|
42
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Interface for building an APIM API.
|
|
150
|
+
*/
|
|
43
151
|
export interface IApimApiBuilder extends IBuilderAsync<ResourceInfo> {
|
|
152
|
+
/**
|
|
153
|
+
* Sets the policies for the API.
|
|
154
|
+
* @param props - The policy properties.
|
|
155
|
+
* @returns An instance of IApimApiBuilder.
|
|
156
|
+
*/
|
|
44
157
|
withPolicies(props: ApimApiPolicyType): IApimApiBuilder;
|
|
158
|
+
/**
|
|
159
|
+
* Sets the keys for the API.
|
|
160
|
+
* @param props - The key properties.
|
|
161
|
+
* @returns An instance of IApimApiBuilder.
|
|
162
|
+
*/
|
|
45
163
|
withKeys(props: ApimApiKeysType): IApimApiBuilder;
|
|
164
|
+
/**
|
|
165
|
+
* Sets the version properties for the API.
|
|
166
|
+
* @param version - The API version.
|
|
167
|
+
* @param builder - The version builder function.
|
|
168
|
+
* @returns An instance of IApimApiBuilder.
|
|
169
|
+
*/
|
|
46
170
|
withVersion(version: ApimApiVersionType, builder: VersionBuilderFunction): IApimApiBuilder;
|
|
47
171
|
}
|
|
172
|
+
/**
|
|
173
|
+
* Interface for building an APIM product.
|
|
174
|
+
*/
|
|
48
175
|
export interface IApimProductBuilder extends IBuilderAsync<ResourceInfo> {
|
|
176
|
+
/**
|
|
177
|
+
* Sets the subscription properties for the product.
|
|
178
|
+
* @param props - The subscription properties.
|
|
179
|
+
* @returns An instance of IApimProductBuilder.
|
|
180
|
+
*/
|
|
49
181
|
requiredSubscription(props: ApimProductSubscriptionBuilderType): IApimProductBuilder;
|
|
50
|
-
/**
|
|
51
|
-
|
|
182
|
+
/**
|
|
183
|
+
* Adds multiple APIs to the product.
|
|
184
|
+
* @param name
|
|
185
|
+
* @param props - The API builder function.
|
|
186
|
+
* @returns An instance of IApimProductBuilder.
|
|
187
|
+
*/
|
|
188
|
+
withApi(name: string, props: APimApiBuilderFunction): IApimProductBuilder;
|
|
189
|
+
withHookProxy(name: string, props: ApimHookProxyBuilderType): IApimProductBuilder;
|
|
190
|
+
/**
|
|
191
|
+
* Sets the policies for the product.
|
|
192
|
+
* @param props - The policy properties.
|
|
193
|
+
* @returns An instance of IApimProductBuilder.
|
|
194
|
+
*/
|
|
52
195
|
withPolicies(props: ApimApiPolicyType): IApimProductBuilder;
|
|
196
|
+
/**
|
|
197
|
+
* Publishes the product.
|
|
198
|
+
* @returns An instance of IBuilderAsync<ResourceInfo>.
|
|
199
|
+
*/
|
|
53
200
|
published(): IBuilderAsync<ResourceInfo>;
|
|
54
201
|
}
|
|
@@ -1,14 +1,31 @@
|
|
|
1
1
|
import { BuilderProps, IBuilder } from './genericBuilder';
|
|
2
2
|
import * as cert from '@pulumi/azure-native/certificateregistration';
|
|
3
3
|
import { ResourceInfo } from '../../types';
|
|
4
|
+
/**
|
|
5
|
+
* Arguments for the App Certificate Builder.
|
|
6
|
+
*/
|
|
4
7
|
export type AppCertBuilderArgs = BuilderProps;
|
|
8
|
+
/**
|
|
9
|
+
* Properties for building an App Certificate Domain.
|
|
10
|
+
*/
|
|
5
11
|
export type AppCertDomainBuilderType = {
|
|
6
12
|
domain: string;
|
|
7
13
|
type: cert.CertificateProductType;
|
|
8
14
|
keySize: 2048 | 3072 | 4096;
|
|
9
15
|
};
|
|
16
|
+
/**
|
|
17
|
+
* Interface for building an App Certificate Domain.
|
|
18
|
+
*/
|
|
10
19
|
export interface IAppCertDomainBuilder {
|
|
20
|
+
/**
|
|
21
|
+
* Method to set properties for the App Certificate Domain.
|
|
22
|
+
* @param props - Properties for the App Certificate Domain.
|
|
23
|
+
* @returns An instance of IAppCertBuilder.
|
|
24
|
+
*/
|
|
11
25
|
for(props: AppCertDomainBuilderType): IAppCertBuilder;
|
|
12
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Interface for building an App Certificate.
|
|
29
|
+
*/
|
|
13
30
|
export interface IAppCertBuilder extends IBuilder<ResourceInfo> {
|
|
14
31
|
}
|
|
@@ -1,15 +1,37 @@
|
|
|
1
1
|
import { BuilderProps, IBuilder } from './genericBuilder';
|
|
2
2
|
import { PrivateLinkPropsType, ResourceInfo, WithEncryptionInfo } from '../../types';
|
|
3
3
|
import { Input } from '@pulumi/pulumi';
|
|
4
|
+
/**
|
|
5
|
+
* Arguments for the App Configuration Builder.
|
|
6
|
+
*/
|
|
4
7
|
export type AppConfigBuilderArgs = BuilderProps & WithEncryptionInfo;
|
|
8
|
+
/**
|
|
9
|
+
* Properties for configuring the network settings of an App Configuration.
|
|
10
|
+
*/
|
|
5
11
|
export type AppConfigNetworkType = PrivateLinkPropsType & {
|
|
6
12
|
disableLocalAuth?: Input<boolean>;
|
|
7
13
|
};
|
|
14
|
+
/**
|
|
15
|
+
* Properties for configuring options of an App Configuration.
|
|
16
|
+
*/
|
|
8
17
|
export type AppConfigOptionsBuilder = {
|
|
9
18
|
enablePurgeProtection?: Input<boolean>;
|
|
10
19
|
softDeleteRetentionInDays?: Input<number>;
|
|
11
20
|
};
|
|
21
|
+
/**
|
|
22
|
+
* Interface for building an App Configuration.
|
|
23
|
+
*/
|
|
12
24
|
export interface IAppConfigBuilder extends IBuilder<ResourceInfo> {
|
|
25
|
+
/**
|
|
26
|
+
* Method to set options for the App Configuration.
|
|
27
|
+
* @param props - Properties for configuring options.
|
|
28
|
+
* @returns An instance of IAppConfigBuilder.
|
|
29
|
+
*/
|
|
13
30
|
withOptions(props: AppConfigOptionsBuilder): IAppConfigBuilder;
|
|
31
|
+
/**
|
|
32
|
+
* Method to set private link properties for the App Configuration.
|
|
33
|
+
* @param props - Properties for configuring the network settings.
|
|
34
|
+
* @returns An instance of IAppConfigBuilder.
|
|
35
|
+
*/
|
|
14
36
|
withPrivateLink(props: AppConfigNetworkType): IAppConfigBuilder;
|
|
15
37
|
}
|
|
@@ -3,30 +3,108 @@ import { SshGenerationProps } from '../../Core/KeyGenerators';
|
|
|
3
3
|
import { BuilderProps, IBuilderAsync } from './genericBuilder';
|
|
4
4
|
import { AksAccessProps, AksNetworkProps, NodePoolProps, AksResults, AskAddonProps, AskFeatureProps, DefaultAksNodePoolProps } from '../../Aks';
|
|
5
5
|
import { WithDiskEncryption, WithEnvRoles } from '../../types';
|
|
6
|
+
/**
|
|
7
|
+
* Arguments for the AKS Builder.
|
|
8
|
+
*/
|
|
6
9
|
export type AksBuilderArgs = BuilderProps & WithEnvRoles;
|
|
10
|
+
/**
|
|
11
|
+
* Properties for SSH generation, excluding vaultInfo and name.
|
|
12
|
+
*/
|
|
7
13
|
export type SshBuilderProps = Omit<SshGenerationProps, 'vaultInfo' | 'name'>;
|
|
14
|
+
/**
|
|
15
|
+
* Properties for importing an existing AKS cluster.
|
|
16
|
+
*/
|
|
8
17
|
export type AksImportProps = {
|
|
9
18
|
id: string;
|
|
10
19
|
ignoreChanges?: string[];
|
|
11
20
|
};
|
|
21
|
+
/**
|
|
22
|
+
* Properties for enabling disk encryption in AKS.
|
|
23
|
+
*/
|
|
12
24
|
export type AksEncryptionType = Required<WithDiskEncryption>;
|
|
25
|
+
/**
|
|
26
|
+
* Interface for building SSH configurations for AKS.
|
|
27
|
+
*/
|
|
13
28
|
export interface ISshBuilder {
|
|
29
|
+
/**
|
|
30
|
+
* Method to set properties for generating a new SSH key.
|
|
31
|
+
* @param props - Properties for SSH generation.
|
|
32
|
+
* @returns An instance of IAksNetworkBuilder.
|
|
33
|
+
*/
|
|
14
34
|
withNewSsh(props: SshBuilderProps): IAksNetworkBuilder;
|
|
15
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Interface for building network configurations for AKS.
|
|
38
|
+
*/
|
|
16
39
|
export interface IAksNetworkBuilder {
|
|
40
|
+
/**
|
|
41
|
+
* Method to set network properties for AKS.
|
|
42
|
+
* @param props - Properties for AKS network configuration.
|
|
43
|
+
* @returns An instance of IAksDefaultNodePoolBuilder.
|
|
44
|
+
*/
|
|
17
45
|
withNetwork(props: AksNetworkProps): IAksDefaultNodePoolBuilder;
|
|
18
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Interface for building default node pool configurations for AKS.
|
|
49
|
+
*/
|
|
19
50
|
export interface IAksDefaultNodePoolBuilder {
|
|
51
|
+
/**
|
|
52
|
+
* Method to set default node pool properties for AKS.
|
|
53
|
+
* @param props - Properties for the default node pool.
|
|
54
|
+
* @returns An instance of IAksBuilder.
|
|
55
|
+
*/
|
|
20
56
|
withDefaultNodePool(props: DefaultAksNodePoolProps): IAksBuilder;
|
|
21
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Interface for building an AKS cluster.
|
|
60
|
+
*/
|
|
22
61
|
export interface IAksBuilder extends IBuilderAsync<AksResults> {
|
|
62
|
+
/**
|
|
63
|
+
* Method to set authentication properties for AKS.
|
|
64
|
+
* @param props - Properties for AKS authentication.
|
|
65
|
+
* @returns An instance of IAksBuilder.
|
|
66
|
+
*/
|
|
23
67
|
withAuth(props: Omit<AksAccessProps, 'envRoles'>): IAksBuilder;
|
|
68
|
+
/**
|
|
69
|
+
* Method to add a node pool to the AKS cluster.
|
|
70
|
+
* @param props - Properties for the node pool.
|
|
71
|
+
* @returns An instance of IAksBuilder.
|
|
72
|
+
*/
|
|
24
73
|
withNodePool(props: NodePoolProps): IAksBuilder;
|
|
74
|
+
/**
|
|
75
|
+
* Method to add an addon to the AKS cluster.
|
|
76
|
+
* @param props - Properties for the addon.
|
|
77
|
+
* @returns An instance of IAksBuilder.
|
|
78
|
+
*/
|
|
25
79
|
withAddon(props: AskAddonProps): IAksBuilder;
|
|
80
|
+
/**
|
|
81
|
+
* Method to enable a feature in the AKS cluster.
|
|
82
|
+
* @param props - Properties for the feature.
|
|
83
|
+
* @returns An instance of IAksBuilder.
|
|
84
|
+
*/
|
|
26
85
|
withFeature(props: AskFeatureProps): IAksBuilder;
|
|
86
|
+
/**
|
|
87
|
+
* Method to set the SKU tier for the AKS cluster.
|
|
88
|
+
* @param tier - The SKU tier.
|
|
89
|
+
* @returns An instance of IAksBuilder.
|
|
90
|
+
*/
|
|
27
91
|
withTier(tier: cs.ManagedClusterSKUTier): IAksBuilder;
|
|
28
|
-
/**
|
|
92
|
+
/**
|
|
93
|
+
* Method to enable disk encryption for the AKS cluster.
|
|
94
|
+
* This must be enabled before the resource is created.
|
|
95
|
+
* @param props - Properties for disk encryption.
|
|
96
|
+
* @returns An instance of IAksBuilder.
|
|
97
|
+
*/
|
|
29
98
|
enableEncryption(props: AksEncryptionType): IAksBuilder;
|
|
99
|
+
/**
|
|
100
|
+
* Method to import an existing AKS cluster.
|
|
101
|
+
* @param props - Properties for importing the AKS cluster.
|
|
102
|
+
* @returns An instance of IAksBuilder.
|
|
103
|
+
*/
|
|
30
104
|
import(props: AksImportProps): IAksBuilder;
|
|
105
|
+
/**
|
|
106
|
+
* Method to lock the AKS cluster configuration.
|
|
107
|
+
* @returns An instance of IBuilderAsync with AKS results.
|
|
108
|
+
*/
|
|
31
109
|
lock(): IBuilderAsync<AksResults>;
|
|
32
110
|
}
|
|
@@ -2,10 +2,27 @@ import { BuilderProps } from './genericBuilder';
|
|
|
2
2
|
import { ResourceInfo, WithEncryptionInfo } from '../../types';
|
|
3
3
|
import { IBuilder } from './genericBuilder';
|
|
4
4
|
import { SkuNameEnum } from '@pulumi/azure-native/automation';
|
|
5
|
+
/**
|
|
6
|
+
* Arguments for the Automation Builder.
|
|
7
|
+
*/
|
|
5
8
|
export type AutomationBuilderArgs = BuilderProps & WithEncryptionInfo;
|
|
9
|
+
/**
|
|
10
|
+
* Type for specifying the SKU of the Automation resource.
|
|
11
|
+
*/
|
|
6
12
|
export type AutomationSkuBuilder = SkuNameEnum | string;
|
|
13
|
+
/**
|
|
14
|
+
* Interface for building the SKU of an Automation resource.
|
|
15
|
+
*/
|
|
7
16
|
export interface IAutomationSkuBuilder {
|
|
17
|
+
/**
|
|
18
|
+
* Method to set the SKU for the Automation resource.
|
|
19
|
+
* @param props - The SKU name or a custom SKU string.
|
|
20
|
+
* @returns An instance of IAutomationBuilder.
|
|
21
|
+
*/
|
|
8
22
|
withSku(props: AutomationSkuBuilder): IAutomationBuilder;
|
|
9
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Interface for building an Automation resource.
|
|
26
|
+
*/
|
|
10
27
|
export interface IAutomationBuilder extends IBuilder<ResourceInfo> {
|
|
11
28
|
}
|
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
import { CdnEndpointProps } from "../../Cdn/CdnEndpoint";
|
|
2
2
|
import { ResourceInfo } from "../../types";
|
|
3
3
|
import { IBuilder } from "./genericBuilder";
|
|
4
|
+
/**
|
|
5
|
+
* Type for configuring a CDN endpoint, omitting certain properties.
|
|
6
|
+
*/
|
|
4
7
|
export type CdnBuilderEndpointType = Omit<CdnEndpointProps, "cdnProfileInfo" | "dependsOn" | "ignoreChanges" | "importUri">;
|
|
8
|
+
/**
|
|
9
|
+
* Interface for building a CDN resource.
|
|
10
|
+
*/
|
|
5
11
|
export interface ICdnBuilder extends IBuilder<ResourceInfo> {
|
|
12
|
+
/**
|
|
13
|
+
* Method to set properties for a CDN endpoint.
|
|
14
|
+
* @param props - Properties for the CDN endpoint.
|
|
15
|
+
* @returns An instance of ICdnBuilder.
|
|
16
|
+
*/
|
|
6
17
|
withEndpoint(props: CdnBuilderEndpointType): ICdnBuilder;
|
|
7
18
|
}
|
|
@@ -1,11 +1,31 @@
|
|
|
1
1
|
import { Input } from "@pulumi/pulumi";
|
|
2
2
|
import { ResourceInfo } from "../../types";
|
|
3
|
+
/**
|
|
4
|
+
* Properties for configuring a DNS Zone A record.
|
|
5
|
+
*/
|
|
3
6
|
export type DnsZoneARecordType = {
|
|
4
7
|
recordName: string;
|
|
5
8
|
ipAddresses: Input<string>[];
|
|
6
9
|
};
|
|
10
|
+
/**
|
|
11
|
+
* Interface for building a DNS Zone.
|
|
12
|
+
*/
|
|
7
13
|
export interface IDnsZoneBuilder {
|
|
14
|
+
/**
|
|
15
|
+
* Method to add an A record to the DNS Zone.
|
|
16
|
+
* @param props - Properties for the A record.
|
|
17
|
+
* @returns An instance of IDnsZoneBuilder.
|
|
18
|
+
*/
|
|
8
19
|
withARecord(props: DnsZoneARecordType): IDnsZoneBuilder;
|
|
20
|
+
/**
|
|
21
|
+
* Method to add a sub-zone to the DNS Zone.
|
|
22
|
+
* @param name - The name of the sub-zone.
|
|
23
|
+
* @returns An instance of IDnsZoneBuilder.
|
|
24
|
+
*/
|
|
9
25
|
withSubZone(name: string): IDnsZoneBuilder;
|
|
26
|
+
/**
|
|
27
|
+
* Method to build the DNS Zone resource.
|
|
28
|
+
* @returns The built DNS Zone resource information.
|
|
29
|
+
*/
|
|
10
30
|
build(): ResourceInfo;
|
|
11
31
|
}
|