@drunk-pulumi/azure 1.0.22 → 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.
Files changed (140) hide show
  1. package/Aks/Identity.d.ts +1 -1
  2. package/Aks/Identity.js +1 -1
  3. package/Aks/index.d.ts +2 -3
  4. package/Aks/index.js +2 -2
  5. package/AzAd/EnvRoles.Consts.d.ts +6 -5
  6. package/AzAd/EnvRoles.Consts.js +48 -42
  7. package/AzAd/Helper.js +7 -1
  8. package/AzAd/Identities/AzDevOpsIdentity.d.ts +1 -1
  9. package/AzAd/Identities/AzDevOpsIdentity.js +1 -1
  10. package/AzAd/Identities/AzUserAdRevertSync.d.ts +1 -1
  11. package/AzAd/Identity.d.ts +2 -11
  12. package/AzAd/Identity.js +2 -2
  13. package/AzAd/UserAssignedIdentity.js +6 -1
  14. package/Builder/AcrBuilder.d.ts +8 -0
  15. package/Builder/AcrBuilder.js +176 -0
  16. package/Builder/AksBuilder.d.ts +5 -0
  17. package/Builder/AksBuilder.js +90 -6
  18. package/Builder/ApimApiBuilder.js +2 -3
  19. package/Builder/ApimBuilder.js +3 -7
  20. package/Builder/ApimPolicyBuilder.js +1 -1
  21. package/Builder/ApimProductBuilder.d.ts +6 -5
  22. package/Builder/ApimProductBuilder.js +53 -27
  23. package/Builder/AppCertBuilder.d.ts +3 -0
  24. package/Builder/AppCertBuilder.js +75 -0
  25. package/Builder/AppConfigBuilder.d.ts +3 -0
  26. package/Builder/AppConfigBuilder.js +148 -0
  27. package/Builder/AutomationBuilder.d.ts +3 -0
  28. package/Builder/AutomationBuilder.js +106 -0
  29. package/Builder/IotHubBuilder.d.ts +3 -0
  30. package/Builder/IotHubBuilder.js +240 -0
  31. package/Builder/LogicAppBuilder.d.ts +3 -0
  32. package/Builder/LogicAppBuilder.js +69 -0
  33. package/Builder/MySqlBuilder.d.ts +3 -0
  34. package/Builder/MySqlBuilder.js +225 -0
  35. package/Builder/PostgreSqlBuilder.d.ts +3 -0
  36. package/Builder/PostgreSqlBuilder.js +231 -0
  37. package/Builder/RedisCacheBuilder.d.ts +3 -0
  38. package/Builder/RedisCacheBuilder.js +144 -0
  39. package/Builder/ResourceBuilder.js +14 -4
  40. package/Builder/ServiceBusBuilder.js +4 -11
  41. package/Builder/SignalRBuilder.d.ts +3 -0
  42. package/Builder/SignalRBuilder.js +172 -0
  43. package/Builder/VaultBuilder.js +7 -26
  44. package/Builder/index.d.ts +10 -0
  45. package/Builder/index.js +22 -2
  46. package/Builder/types/acrBuilder.d.ts +54 -0
  47. package/Builder/types/acrBuilder.js +3 -0
  48. package/Builder/types/apimBuilder.d.ts +109 -5
  49. package/Builder/types/apimPolicyBuilder.d.ts +129 -7
  50. package/Builder/types/apimPolicyBuilder.js +4 -1
  51. package/Builder/types/apimProductBuilder.d.ts +152 -5
  52. package/Builder/types/appCertBuilder.d.ts +31 -0
  53. package/Builder/types/appCertBuilder.js +3 -0
  54. package/Builder/types/appConfigBuilder.d.ts +37 -0
  55. package/Builder/types/appConfigBuilder.js +3 -0
  56. package/Builder/types/askBuilder.d.ts +79 -1
  57. package/Builder/types/automationBuilder.d.ts +28 -0
  58. package/Builder/types/automationBuilder.js +3 -0
  59. package/Builder/types/cdnBuilder.d.ts +11 -0
  60. package/Builder/types/dnsZoneBuilder.d.ts +20 -0
  61. package/Builder/types/envRoleBuilder.d.ts +28 -0
  62. package/Builder/types/genericBuilder.d.ts +78 -0
  63. package/Builder/types/genericBuilder.js +9 -1
  64. package/Builder/types/index.d.ts +11 -0
  65. package/Builder/types/index.js +12 -1
  66. package/Builder/types/iotHubBuilder.d.ts +64 -0
  67. package/Builder/types/iotHubBuilder.js +3 -0
  68. package/Builder/types/logicAppBuilder.d.ts +27 -0
  69. package/Builder/types/logicAppBuilder.js +3 -0
  70. package/Builder/types/mySqlBuilder.d.ts +98 -0
  71. package/Builder/types/mySqlBuilder.js +3 -0
  72. package/Builder/types/posgreSqlBuilder.d.ts +107 -0
  73. package/Builder/types/posgreSqlBuilder.js +3 -0
  74. package/Builder/types/privateDnsZoneBuilder.d.ts +26 -0
  75. package/Builder/types/redisCacheBuilder.d.ts +46 -0
  76. package/Builder/types/redisCacheBuilder.js +3 -0
  77. package/Builder/types/resourceBuilder.d.ts +173 -7
  78. package/Builder/types/serviceBusBuilder.d.ts +55 -0
  79. package/Builder/types/signalRBuilder.d.ts +97 -0
  80. package/Builder/types/signalRBuilder.js +3 -0
  81. package/Builder/types/sqlBuilder.d.ts +88 -1
  82. package/Builder/types/storageBuilder.d.ts +63 -0
  83. package/Builder/types/vaultBuilder.d.ts +43 -1
  84. package/Builder/types/vdiBuilder.d.ts +41 -2
  85. package/Builder/types/vmBuilder.d.ts +83 -1
  86. package/Builder/types/vnetBuilder.d.ts +107 -0
  87. package/Common/OpenApi/index.js +37 -0
  88. package/{Web → Common/OpenApi}/types.js +1 -1
  89. package/Common/index.d.ts +1 -0
  90. package/Common/index.js +3 -2
  91. package/CustomRoles/index.js +4 -4
  92. package/KeyVault/Helper.d.ts +1 -0
  93. package/KeyVault/Helper.js +2 -1
  94. package/KeyVault/index.d.ts +1 -11
  95. package/KeyVault/index.js +3 -21
  96. package/Sql/index.js +3 -6
  97. package/Storage/index.js +4 -8
  98. package/VNet/PrivateEndpoint.d.ts +10 -3
  99. package/VNet/PrivateEndpoint.js +62 -2
  100. package/VNet/index.d.ts +11 -0
  101. package/VNet/index.js +18 -2
  102. package/package.json +1 -1
  103. package/types.d.ts +173 -6
  104. package/Apim/ApiProduct/OpenApi.js +0 -3
  105. package/Apim/ApiProduct/SwaggerHelper.js +0 -37
  106. package/Apps/LogicApp.d.ts +0 -5
  107. package/Apps/LogicApp.js +0 -38
  108. package/Automation/index.d.ts +0 -6
  109. package/Automation/index.js +0 -78
  110. package/ContainerRegistry/Helper.d.ts +0 -15
  111. package/ContainerRegistry/Helper.js +0 -77
  112. package/ContainerRegistry/index.d.ts +0 -15
  113. package/ContainerRegistry/index.js +0 -93
  114. package/CosmosDb/index.d.ts +0 -28
  115. package/CosmosDb/index.js +0 -142
  116. package/IOT/Hub/index.d.ts +0 -26
  117. package/IOT/Hub/index.js +0 -191
  118. package/MySql/index.d.ts +0 -16
  119. package/MySql/index.js +0 -185
  120. package/Postgresql/index.d.ts +0 -16
  121. package/Postgresql/index.js +0 -157
  122. package/RedisCache/index.d.ts +0 -15
  123. package/RedisCache/index.js +0 -111
  124. package/SignalR/index.d.ts +0 -19
  125. package/SignalR/index.js +0 -128
  126. package/Sql/Auditing.d.ts +0 -0
  127. package/Sql/Auditing.js +0 -2
  128. package/Sql/Helper.d.ts +0 -9
  129. package/Sql/Helper.js +0 -11
  130. package/VNet/GlobalNetworkPeering.d.ts +0 -9
  131. package/VNet/GlobalNetworkPeering.js +0 -40
  132. package/Web/AppCertOrder.d.ts +0 -8
  133. package/Web/AppCertOrder.js +0 -52
  134. package/Web/AppConfig.d.ts +0 -10
  135. package/Web/AppConfig.js +0 -93
  136. package/Web/AppGateway.d.ts +0 -15
  137. package/Web/AppGateway.js +0 -58
  138. package/Web/types.d.ts +0 -37
  139. /package/{Apim/ApiProduct/SwaggerHelper.d.ts → Common/OpenApi/index.d.ts} +0 -0
  140. /package/{Apim/ApiProduct/OpenApi.d.ts → Common/OpenApi/types.d.ts} +0 -0
@@ -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
  }
@@ -0,0 +1,31 @@
1
+ import { BuilderProps, IBuilder } from './genericBuilder';
2
+ import * as cert from '@pulumi/azure-native/certificateregistration';
3
+ import { ResourceInfo } from '../../types';
4
+ /**
5
+ * Arguments for the App Certificate Builder.
6
+ */
7
+ export type AppCertBuilderArgs = BuilderProps;
8
+ /**
9
+ * Properties for building an App Certificate Domain.
10
+ */
11
+ export type AppCertDomainBuilderType = {
12
+ domain: string;
13
+ type: cert.CertificateProductType;
14
+ keySize: 2048 | 3072 | 4096;
15
+ };
16
+ /**
17
+ * Interface for building an App Certificate Domain.
18
+ */
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
+ */
25
+ for(props: AppCertDomainBuilderType): IAppCertBuilder;
26
+ }
27
+ /**
28
+ * Interface for building an App Certificate.
29
+ */
30
+ export interface IAppCertBuilder extends IBuilder<ResourceInfo> {
31
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwQ2VydEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQnVpbGRlci90eXBlcy9hcHBDZXJ0QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,37 @@
1
+ import { BuilderProps, IBuilder } from './genericBuilder';
2
+ import { PrivateLinkPropsType, ResourceInfo, WithEncryptionInfo } from '../../types';
3
+ import { Input } from '@pulumi/pulumi';
4
+ /**
5
+ * Arguments for the App Configuration Builder.
6
+ */
7
+ export type AppConfigBuilderArgs = BuilderProps & WithEncryptionInfo;
8
+ /**
9
+ * Properties for configuring the network settings of an App Configuration.
10
+ */
11
+ export type AppConfigNetworkType = PrivateLinkPropsType & {
12
+ disableLocalAuth?: Input<boolean>;
13
+ };
14
+ /**
15
+ * Properties for configuring options of an App Configuration.
16
+ */
17
+ export type AppConfigOptionsBuilder = {
18
+ enablePurgeProtection?: Input<boolean>;
19
+ softDeleteRetentionInDays?: Input<number>;
20
+ };
21
+ /**
22
+ * Interface for building an App Configuration.
23
+ */
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
+ */
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
+ */
36
+ withPrivateLink(props: AppConfigNetworkType): IAppConfigBuilder;
37
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwQ29uZmlnQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9CdWlsZGVyL3R5cGVzL2FwcENvbmZpZ0J1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -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
  }
@@ -0,0 +1,28 @@
1
+ import { BuilderProps } from './genericBuilder';
2
+ import { ResourceInfo, WithEncryptionInfo } from '../../types';
3
+ import { IBuilder } from './genericBuilder';
4
+ import { SkuNameEnum } from '@pulumi/azure-native/automation';
5
+ /**
6
+ * Arguments for the Automation Builder.
7
+ */
8
+ export type AutomationBuilderArgs = BuilderProps & WithEncryptionInfo;
9
+ /**
10
+ * Type for specifying the SKU of the Automation resource.
11
+ */
12
+ export type AutomationSkuBuilder = SkuNameEnum | string;
13
+ /**
14
+ * Interface for building the SKU of an Automation resource.
15
+ */
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
+ */
22
+ withSku(props: AutomationSkuBuilder): IAutomationBuilder;
23
+ }
24
+ /**
25
+ * Interface for building an Automation resource.
26
+ */
27
+ export interface IAutomationBuilder extends IBuilder<ResourceInfo> {
28
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b21hdGlvbkJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQnVpbGRlci90eXBlcy9hdXRvbWF0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -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
  }
@@ -3,15 +3,43 @@ import { EnvRoleKeyTypes, EnvRolesInfo } from '../../AzAd/EnvRoles';
3
3
  import { RoleEnableTypes } from '../../AzAd/EnvRoles.Consts';
4
4
  import { KeyVaultInfo, WithNamedType } from '../../types';
5
5
  import { IInfo } from './genericBuilder';
6
+ /**
7
+ * Properties for granting permissions to an environment role.
8
+ */
6
9
  export type EnvRoleBuilderGrantType = WithNamedType & {
7
10
  permissions: RoleEnableTypes;
8
11
  scope: Input<string>;
9
12
  };
13
+ /**
14
+ * Interface for building environment roles.
15
+ */
10
16
  export interface IEnvRoleBuilder extends EnvRolesInfo, IInfo<EnvRolesInfo> {
17
+ /**
18
+ * Method to grant permissions to an environment role.
19
+ * @param props - Properties for granting permissions.
20
+ * @returns An instance of IEnvRoleBuilder.
21
+ */
11
22
  grant(props: EnvRoleBuilderGrantType): IEnvRoleBuilder;
23
+ /**
24
+ * Method to add a member to an environment role.
25
+ * @param type - The type of the environment role key.
26
+ * @param memberId - The ID of the member to add.
27
+ * @returns An instance of IEnvRoleBuilder.
28
+ */
12
29
  addMember(type: EnvRoleKeyTypes, memberId: Input<string>): IEnvRoleBuilder;
30
+ /**
31
+ * Method to add an identity to an environment role.
32
+ * @param type - The type of the environment role key.
33
+ * @param identity - The identity to add.
34
+ * @returns An instance of IEnvRoleBuilder.
35
+ */
13
36
  addIdentity(type: EnvRoleKeyTypes, identity: Output<{
14
37
  principalId: string;
15
38
  } | undefined>): IEnvRoleBuilder;
39
+ /**
40
+ * Method to push the environment role to a key vault.
41
+ * @param vaultInfo - The key vault information.
42
+ * @returns An instance of IEnvRoleBuilder.
43
+ */
16
44
  pushTo(vaultInfo: KeyVaultInfo): IEnvRoleBuilder;
17
45
  }
@@ -1,36 +1,114 @@
1
1
  import { BasicResourceWithVaultArgs, LoginArgs, ResourceInfo, TypeOmit, WithDependsOn } from '../../types';
2
+ /**
3
+ * Properties for a builder, including basic resource properties with vault information and dependencies.
4
+ */
2
5
  export type BuilderProps = BasicResourceWithVaultArgs & WithDependsOn;
6
+ /**
7
+ * Type to omit builder properties from a given type.
8
+ */
3
9
  export type OmitBuilderProps<T> = TypeOmit<T, BuilderProps>;
10
+ /**
11
+ * Interface for a login builder.
12
+ * @template IReturnInterface - The return type of the builder methods.
13
+ */
4
14
  export interface ILoginBuilder<IReturnInterface> {
15
+ /**
16
+ * Method to generate login credentials.
17
+ * @returns The return type specified by IReturnInterface.
18
+ */
5
19
  generateLogin(): IReturnInterface;
20
+ /**
21
+ * Method to set login information.
22
+ * @param props - The login arguments.
23
+ * @returns The return type specified by IReturnInterface.
24
+ */
6
25
  withLoginInfo(props: LoginArgs): IReturnInterface;
7
26
  }
27
+ /**
28
+ * Interface for a synchronous builder.
29
+ * @template TResults - The type of the build result.
30
+ */
8
31
  export interface IBuilder<TResults extends ResourceInfo> {
9
32
  commonProps: BuilderProps;
33
+ /**
34
+ * Method to build the resource.
35
+ * @returns The build result of type TResults.
36
+ */
10
37
  build(): TResults;
11
38
  }
39
+ /**
40
+ * Abstract class for a synchronous builder.
41
+ * @template TResults - The type of the build result.
42
+ */
12
43
  export declare abstract class Builder<TResults extends ResourceInfo> implements IBuilder<TResults> {
13
44
  commonProps: BuilderProps;
14
45
  protected constructor(commonProps: BuilderProps);
15
46
  abstract build(): TResults;
16
47
  }
48
+ /**
49
+ * Interface for an asynchronous builder.
50
+ * @template TResults - The type of the build result.
51
+ */
17
52
  export interface IBuilderAsync<TResults extends ResourceInfo> extends Omit<IBuilder<TResults>, 'build'> {
53
+ /**
54
+ * Method to build the resource asynchronously.
55
+ * @returns A promise that resolves to the build result of type TResults.
56
+ */
18
57
  build(): Promise<TResults>;
19
58
  }
59
+ /**
60
+ * Abstract class for an asynchronous builder.
61
+ * @template TResults - The type of the build result.
62
+ */
20
63
  export declare abstract class BuilderAsync<TResults extends ResourceInfo> implements IBuilderAsync<TResults> {
21
64
  commonProps: BuilderProps;
22
65
  protected constructor(commonProps: BuilderProps);
23
66
  abstract build(): Promise<TResults>;
24
67
  }
68
+ /**
69
+ * Interface for enabling encryption on a builder.
70
+ * @template TBuilderResults - The return type of the builder methods.
71
+ */
25
72
  export interface IEncryptable<TBuilderResults> {
73
+ /**
74
+ * Method to enable encryption.
75
+ * @param enabled - Whether encryption is enabled.
76
+ * @returns The return type specified by TBuilderResults.
77
+ */
26
78
  enableEncryption(enabled?: boolean): TBuilderResults;
27
79
  }
80
+ /**
81
+ * Interface for locking a builder.
82
+ * @template TBuilderResults - The return type of the builder methods.
83
+ */
28
84
  export interface ILockable<TBuilderResults> {
85
+ /**
86
+ * Method to lock the builder.
87
+ * @param lock - Whether the builder is locked.
88
+ * @returns The return type specified by TBuilderResults.
89
+ */
29
90
  lock(lock?: boolean): TBuilderResults;
30
91
  }
92
+ /**
93
+ * Interface for ignoring changes on a builder.
94
+ * @template TBuilderResults - The return type of the builder methods.
95
+ */
31
96
  export interface IIgnoreChanges<TBuilderResults> {
97
+ /**
98
+ * Method to specify properties to ignore changes from.
99
+ * @param props - The properties to ignore changes from.
100
+ * @returns The return type specified by TBuilderResults.
101
+ */
32
102
  ignoreChangesFrom(...props: string[]): TBuilderResults;
33
103
  }
104
+ /**
105
+ * Interface for retrieving information from a builder.
106
+ * @template TBuilderResults - The return type of the builder methods.
107
+ */
34
108
  export interface IInfo<TBuilderResults> {
109
+ /**
110
+ * Method to retrieve information from the builder.
111
+ * @returns The return type specified by TBuilderResults.
112
+ */
35
113
  info(): TBuilderResults;
36
114
  }
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BuilderAsync = exports.Builder = void 0;
4
+ /**
5
+ * Abstract class for a synchronous builder.
6
+ * @template TResults - The type of the build result.
7
+ */
4
8
  class Builder {
5
9
  commonProps;
6
10
  constructor(commonProps) {
@@ -8,6 +12,10 @@ class Builder {
8
12
  }
9
13
  }
10
14
  exports.Builder = Builder;
15
+ /**
16
+ * Abstract class for an asynchronous builder.
17
+ * @template TResults - The type of the build result.
18
+ */
11
19
  class BuilderAsync {
12
20
  commonProps;
13
21
  constructor(commonProps) {
@@ -15,4 +23,4 @@ class BuilderAsync {
15
23
  }
16
24
  }
17
25
  exports.BuilderAsync = BuilderAsync;
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpY0J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQnVpbGRlci90eXBlcy9nZW5lcmljQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF1QkEsTUFBc0IsT0FBTztJQUdFO0lBQTdCLFlBQTZCLFdBQXlCO1FBQXpCLGdCQUFXLEdBQVgsV0FBVyxDQUFjO0lBQUcsQ0FBQztDQUUzRDtBQUxELDBCQUtDO0FBUUQsTUFBc0IsWUFBWTtJQUdIO0lBQTdCLFlBQTZCLFdBQXlCO1FBQXpCLGdCQUFXLEdBQVgsV0FBVyxDQUFjO0lBQUcsQ0FBQztDQUUzRDtBQUxELG9DQUtDIn0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpY0J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQnVpbGRlci90eXBlcy9nZW5lcmljQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFtREE7OztHQUdHO0FBQ0gsTUFBc0IsT0FBTztJQUdFO0lBQTdCLFlBQTZCLFdBQXlCO1FBQXpCLGdCQUFXLEdBQVgsV0FBVyxDQUFjO0lBQUcsQ0FBQztDQUUzRDtBQUxELDBCQUtDO0FBZUQ7OztHQUdHO0FBQ0gsTUFBc0IsWUFBWTtJQUdIO0lBQTdCLFlBQTZCLFdBQXlCO1FBQXpCLGdCQUFXLEdBQVgsV0FBVyxDQUFjO0lBQUcsQ0FBQztDQUUzRDtBQUxELG9DQUtDIn0=