@drunk-pulumi/azure 1.0.23 → 1.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/Aks/Helper.d.ts +4 -6
  2. package/Aks/Helper.js +13 -18
  3. package/Aks/Identity.js +3 -3
  4. package/Aks/index.js +4 -7
  5. package/AzAd/EnvRoles/EnvRoles.Consts.d.ts +6 -0
  6. package/AzAd/EnvRoles/EnvRoles.Consts.js +178 -0
  7. package/AzAd/{EnvRoles.d.ts → EnvRoles/EnvRoles.d.ts} +1 -9
  8. package/AzAd/EnvRoles/EnvRoles.js +91 -0
  9. package/AzAd/EnvRoles/index.d.ts +2 -0
  10. package/AzAd/EnvRoles/index.js +19 -0
  11. package/AzAd/Group.d.ts +2 -2
  12. package/AzAd/Group.js +3 -3
  13. package/AzAd/Helper.js +6 -66
  14. package/AzAd/Identities/AzDevOpsIdentity.js +4 -5
  15. package/AzAd/Identities/AzDevOpsManagedIdentity.js +1 -1
  16. package/AzAd/Identities/AzUserAdRevertSync.js +3 -3
  17. package/AzAd/Identity.js +1 -2
  18. package/AzAd/RoleDefinitions/index.d.ts +1 -0
  19. package/AzAd/RoleDefinitions/index.js +18 -0
  20. package/AzAd/{GraphDefinition.js → Roles/GraphDefinition.js} +1 -1
  21. package/AzAd/Roles/Role.d.ts +16 -0
  22. package/AzAd/Roles/Role.js +31 -0
  23. package/AzAd/{RoleAssignment.d.ts → Roles/RoleAssignment.d.ts} +1 -1
  24. package/AzAd/{RoleAssignment.js → Roles/RoleAssignment.js} +2 -2
  25. package/AzAd/{RolesBuiltIn.js → Roles/RolesBuiltIn.js} +1 -1
  26. package/AzAd/Roles/index.d.ts +3 -0
  27. package/AzAd/Roles/index.js +22 -0
  28. package/AzAd/UserAssignedIdentity.js +1 -2
  29. package/AzAd/index.d.ts +6 -0
  30. package/AzAd/index.js +23 -0
  31. package/Builder/AcrBuilder.d.ts +5 -0
  32. package/Builder/AcrBuilder.js +43 -10
  33. package/Builder/AksBuilder.d.ts +5 -0
  34. package/Builder/AksBuilder.js +92 -8
  35. package/Builder/ApimApiBuilder.js +1 -1
  36. package/Builder/ApimBuilder.js +3 -7
  37. package/Builder/ApimPolicyBuilder.js +1 -1
  38. package/Builder/ApimProductBuilder.d.ts +6 -5
  39. package/Builder/ApimProductBuilder.js +53 -28
  40. package/Builder/AppConfigBuilder.js +4 -8
  41. package/Builder/DnsZoneBuilder.js +2 -3
  42. package/Builder/EnvRoleBuilder.d.ts +4 -23
  43. package/Builder/EnvRoleBuilder.js +8 -9
  44. package/Builder/MySqlBuilder.js +4 -8
  45. package/Builder/PostgreSqlBuilder.js +4 -8
  46. package/Builder/PrivateDnsZoneBuilder.d.ts +1 -1
  47. package/Builder/PrivateDnsZoneBuilder.js +3 -3
  48. package/Builder/RedisCacheBuilder.js +4 -11
  49. package/Builder/ResourceBuilder.js +6 -6
  50. package/Builder/ServiceBusBuilder.js +4 -11
  51. package/Builder/SignalRBuilder.js +4 -11
  52. package/Builder/VaultBuilder.js +7 -26
  53. package/Builder/types/acrBuilder.d.ts +38 -2
  54. package/Builder/types/apimBuilder.d.ts +109 -5
  55. package/Builder/types/apimPolicyBuilder.d.ts +129 -7
  56. package/Builder/types/apimPolicyBuilder.js +4 -1
  57. package/Builder/types/apimProductBuilder.d.ts +152 -5
  58. package/Builder/types/appCertBuilder.d.ts +17 -0
  59. package/Builder/types/appConfigBuilder.d.ts +22 -0
  60. package/Builder/types/askBuilder.d.ts +79 -1
  61. package/Builder/types/automationBuilder.d.ts +17 -0
  62. package/Builder/types/cdnBuilder.d.ts +11 -0
  63. package/Builder/types/dnsZoneBuilder.d.ts +20 -0
  64. package/Builder/types/envRoleBuilder.d.ts +29 -3
  65. package/Builder/types/genericBuilder.d.ts +78 -0
  66. package/Builder/types/genericBuilder.js +9 -1
  67. package/Builder/types/iotHubBuilder.d.ts +38 -5
  68. package/Builder/types/logicAppBuilder.d.ts +17 -0
  69. package/Builder/types/mySqlBuilder.d.ts +54 -1
  70. package/Builder/types/posgreSqlBuilder.d.ts +64 -2
  71. package/Builder/types/privateDnsZoneBuilder.d.ts +26 -0
  72. package/Builder/types/redisCacheBuilder.d.ts +31 -0
  73. package/Builder/types/resourceBuilder.d.ts +172 -10
  74. package/Builder/types/serviceBusBuilder.d.ts +55 -0
  75. package/Builder/types/signalRBuilder.d.ts +65 -6
  76. package/Builder/types/sqlBuilder.d.ts +88 -1
  77. package/Builder/types/storageBuilder.d.ts +63 -0
  78. package/Builder/types/vaultBuilder.d.ts +43 -1
  79. package/Builder/types/vdiBuilder.d.ts +41 -2
  80. package/Builder/types/vmBuilder.d.ts +83 -1
  81. package/Builder/types/vnetBuilder.d.ts +107 -0
  82. package/Cdn/index.d.ts +1 -1
  83. package/Cdn/index.js +2 -2
  84. package/Common/AzureEnv/AutoTags.js +27 -0
  85. package/Common/{AzureEnv.js → AzureEnv/index.js} +3 -3
  86. package/Common/{LocationBuiltIn.js → Location/LocationBuiltIn.js} +1 -1
  87. package/Common/Location/index.js +36 -0
  88. package/Common/{Naming/Rulers.d.ts → Naming.d.ts} +12 -3
  89. package/Common/Naming.js +392 -0
  90. package/Common/RsInfo/Helper.js +8 -6
  91. package/Common/index.d.ts +1 -4
  92. package/Common/index.js +7 -7
  93. package/Core/KeyGenerators.js +4 -5
  94. package/Core/Random.js +2 -3
  95. package/KeyVault/CustomHelper.d.ts +1 -3
  96. package/KeyVault/CustomHelper.js +27 -3
  97. package/KeyVault/Helper.d.ts +5 -8
  98. package/KeyVault/Helper.js +35 -61
  99. package/KeyVault/index.d.ts +1 -11
  100. package/KeyVault/index.js +3 -21
  101. package/Logs/AppInsight.js +1 -2
  102. package/Logs/Helpers.js +1 -3
  103. package/Logs/LogAnalytics.js +1 -2
  104. package/README.md +37 -29
  105. package/Sql/index.js +4 -7
  106. package/Storage/Helper.js +5 -6
  107. package/Storage/index.js +8 -13
  108. package/VM/index.js +1 -2
  109. package/VNet/PrivateEndpoint.d.ts +47 -4
  110. package/VNet/PrivateEndpoint.js +69 -2
  111. package/VNet/index.d.ts +1 -0
  112. package/VNet/index.js +5 -1
  113. package/envHelper.d.ts +4 -0
  114. package/envHelper.js +62 -0
  115. package/package.json +1 -1
  116. package/types.d.ts +184 -12
  117. package/AzAd/ConditionalPolicies/index.d.ts +0 -0
  118. package/AzAd/ConditionalPolicies/index.js +0 -2
  119. package/AzAd/EnvRoles.Consts.d.ts +0 -22
  120. package/AzAd/EnvRoles.Consts.js +0 -173
  121. package/AzAd/EnvRoles.js +0 -94
  122. package/AzAd/Role.d.ts +0 -17
  123. package/AzAd/Role.js +0 -30
  124. package/Common/AutoTags.js +0 -27
  125. package/Common/GlobalEnv.d.ts +0 -3
  126. package/Common/GlobalEnv.js +0 -29
  127. package/Common/Location.js +0 -36
  128. package/Common/Naming/Rulers.js +0 -537
  129. package/Common/Naming/index.d.ts +0 -10
  130. package/Common/Naming/index.js +0 -112
  131. package/Sql/Auditing.d.ts +0 -0
  132. package/Sql/Auditing.js +0 -2
  133. package/Sql/Helper.d.ts +0 -9
  134. package/Sql/Helper.js +0 -11
  135. package/VNet/GlobalNetworkPeering.d.ts +0 -9
  136. package/VNet/GlobalNetworkPeering.js +0 -40
  137. /package/AzAd/{GraphDefinition.d.ts → Roles/GraphDefinition.d.ts} +0 -0
  138. /package/AzAd/{RolesBuiltIn.d.ts → Roles/RolesBuiltIn.d.ts} +0 -0
  139. /package/Common/{AutoTags.d.ts → AzureEnv/AutoTags.d.ts} +0 -0
  140. /package/Common/{AzureEnv.d.ts → AzureEnv/index.d.ts} +0 -0
  141. /package/Common/{LocationBuiltIn.d.ts → Location/LocationBuiltIn.d.ts} +0 -0
  142. /package/Common/{Location.d.ts → Location/index.d.ts} +0 -0
@@ -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 call */
47
+ /** Number of calls */
27
48
  calls?: number;
28
- /** in period (second) */
49
+ /** Time period in seconds */
29
50
  inSecond?: number;
30
- /** only applied to the success condition `@(context.Response.StatusCode >= 200 && context.Response.StatusCode < 300)` */
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
- /** ex: `x-${organization}-clientIp` */
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
- /** Filter IP from Bearer Token */
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
- /** IP Address Whitelisting */
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
- /**Replace outbound results */
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpbVBvbGljeUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQnVpbGRlci90eXBlcy9hcGltUG9saWN5QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxJQUFZLGNBS1g7QUFMRCxXQUFZLGNBQWM7SUFDeEIsbUNBQWlCLENBQUE7SUFDakIsdUNBQXFCLENBQUE7SUFDckIsK0JBQWEsQ0FBQTtJQUNiLG1DQUFpQixDQUFBO0FBQ25CLENBQUMsRUFMVyxjQUFjLDhCQUFkLGNBQWMsUUFLekIifQ==
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
- export type APimApiBuilderFunction = (builder: IApimApiServiceBuilder) => IApimApiBuilder;
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
- export type ApimApiPolicyType = (builder: IApimPolicyBuilder) => IApimPolicyBuilder;
23
- export type VersionBuilderFunction = (builder: IApimApiRevisionBuilder) => IApimApiRevisionBuilder;
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
- /** Allows to add multi APIs */
51
- withApi(props: APimApiBuilderFunction): IApimProductBuilder;
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
- /** This must be enabled before resource be created*/
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
  }