@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
@@ -2,6 +2,9 @@ import { Input } from "@pulumi/pulumi";
2
2
  import { ResourceInfo } from "../../types";
3
3
  import { IBuilder } from "./genericBuilder";
4
4
  import * as vdi from "@pulumi/azure-native/desktopvirtualization";
5
+ /**
6
+ * Arguments for defining the SKU of a resource.
7
+ */
5
8
  export type ResourceModelWithAllowedPropertySetSkuArgs = {
6
9
  /**
7
10
  * If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted.
@@ -12,7 +15,7 @@ export type ResourceModelWithAllowedPropertySetSkuArgs = {
12
15
  */
13
16
  family?: Input<string>;
14
17
  /**
15
- * The name of the SKU. Ex - P3. It is typically a letter+number code
18
+ * The name of the SKU. Ex - P3. It is typically a letter+number code.
16
19
  */
17
20
  name: Input<string>;
18
21
  /**
@@ -24,6 +27,9 @@ export type ResourceModelWithAllowedPropertySetSkuArgs = {
24
27
  */
25
28
  tier?: vdi.SkuTier;
26
29
  };
30
+ /**
31
+ * Arguments for defining the plan of a resource.
32
+ */
27
33
  export type ResourceModelWithAllowedPropertySetPlanArgs = {
28
34
  /**
29
35
  * A user defined name of the 3rd Party Artifact that is being procured.
@@ -38,7 +44,7 @@ export type ResourceModelWithAllowedPropertySetPlanArgs = {
38
44
  */
39
45
  promotionCode?: Input<string>;
40
46
  /**
41
- * The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic
47
+ * The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic.
42
48
  */
43
49
  publisher: Input<string>;
44
50
  /**
@@ -46,9 +52,15 @@ export type ResourceModelWithAllowedPropertySetPlanArgs = {
46
52
  */
47
53
  version?: Input<string>;
48
54
  };
55
+ /**
56
+ * Type for defining network properties for a VDI builder.
57
+ */
49
58
  export type VdiBuilderNetworkType = {
50
59
  subnetId: Input<string>;
51
60
  };
61
+ /**
62
+ * Type for defining options for a VDI builder.
63
+ */
52
64
  export type VdiBuilderOptionsType = {
53
65
  hostPoolType: vdi.HostPoolType;
54
66
  loadBalancerType: vdi.LoadBalancerType;
@@ -57,15 +69,42 @@ export type VdiBuilderOptionsType = {
57
69
  sku: ResourceModelWithAllowedPropertySetSkuArgs;
58
70
  plan?: ResourceModelWithAllowedPropertySetPlanArgs;
59
71
  };
72
+ /**
73
+ * Type for defining application group properties for a VDI builder.
74
+ */
60
75
  export type VdiBuilderAppGroupType = {
61
76
  applicationGroupType: vdi.ApplicationGroupType;
62
77
  };
78
+ /**
79
+ * Interface for building network properties for a VDI builder.
80
+ */
63
81
  export interface IVdiNetworkBuilder {
82
+ /**
83
+ * Sets the network properties for the VDI builder.
84
+ * @param props - The network properties.
85
+ * @returns An instance of IVdiOptionsBuilder.
86
+ */
64
87
  withNetwork(props: VdiBuilderNetworkType): IVdiOptionsBuilder;
65
88
  }
89
+ /**
90
+ * Interface for building options for a VDI builder.
91
+ */
66
92
  export interface IVdiOptionsBuilder {
93
+ /**
94
+ * Sets the options for the VDI builder.
95
+ * @param props - The options properties.
96
+ * @returns An instance of IVdiBuilder.
97
+ */
67
98
  withOptions(props: VdiBuilderOptionsType): IVdiBuilder;
68
99
  }
100
+ /**
101
+ * Interface for building a VDI resource.
102
+ */
69
103
  export interface IVdiBuilder extends IBuilder<ResourceInfo> {
104
+ /**
105
+ * Sets the application group properties for the VDI builder.
106
+ * @param props - The application group properties.
107
+ * @returns An instance of IVdiBuilder.
108
+ */
70
109
  withAppGroup(props: VdiBuilderAppGroupType): IVdiBuilder;
71
110
  }
@@ -2,34 +2,116 @@ import { ResourceInfo, WithDiskEncryption, WithEncryption } from '../../types';
2
2
  import { VmScheduleType } from '../../VM';
3
3
  import { BuilderProps, IBuilder, IIgnoreChanges, ILoginBuilder } from './genericBuilder';
4
4
  import { Input } from '@pulumi/pulumi';
5
+ /**
6
+ * Arguments required for building a VM resource.
7
+ */
5
8
  export type VmBuilderArgs = BuilderProps & WithEncryption;
9
+ /**
10
+ * Arguments for defining the OS properties of a Windows VM.
11
+ */
6
12
  export type VmOsBuilderWindowsProps = {
13
+ /**
14
+ * The offer of the Windows image.
15
+ */
7
16
  offer: 'WindowsServer' | 'CentOS' | 'Windows-10' | 'windows-11' | string;
17
+ /**
18
+ * The publisher of the Windows image.
19
+ */
8
20
  publisher: 'MicrosoftWindowsServer' | 'MicrosoftWindowsDesktop' | string;
21
+ /**
22
+ * The SKU of the Windows image.
23
+ */
9
24
  sku: '2019-Datacenter' | '21h1-pro' | 'win11-23h2-pro' | string;
10
25
  };
26
+ /**
27
+ * Arguments for defining the OS properties of a Linux VM.
28
+ */
11
29
  export type VmOsBuilderLinuxProps = {
30
+ /**
31
+ * The offer of the Linux image.
32
+ */
12
33
  offer: 'CentOS' | '0001-com-ubuntu-server-jammy' | string;
34
+ /**
35
+ * The publisher of the Linux image.
36
+ */
13
37
  publisher: 'Canonical' | string;
38
+ /**
39
+ * The SKU of the Linux image.
40
+ */
14
41
  sku: '22_04-lts' | string;
15
42
  };
43
+ /**
44
+ * Types of VM sizes available.
45
+ */
16
46
  export type VmSizeTypes = 'Standard_D2a_v4' | 'Standard_D4a_v4' | 'Standard_D8a_v4' | 'Standard_D16a_v4' | 'Standard_D32a_v4' | 'Standard_D48a_v4' | 'Standard_D64a_v4' | 'Standard_D96a_v4' | 'Standard_D2as_v4' | 'Standard_D4as_v4' | 'Standard_D8as_v4' | 'Standard_D16as_v4' | 'Standard_D32as_v4' | 'Standard_D48as_v4' | 'Standard_D64as_v4' | 'Standard_D96as_v4' | 'Standard_E2_v4' | 'Standard_E4_v4' | 'Standard_E8_v4' | 'Standard_E16_v4' | 'Standard_E20_v4' | 'Standard_E32_v4' | 'Standard_E48_v4' | 'Standard_E64_v4' | 'Standard_E8-4ads_v5' | 'Standard_E16-4ads_v5' | 'Standard_E32-8ads_v5' | 'Standard_E64-16ads_v5' | 'Standard_E96-24ads_v5' | string;
47
+ /**
48
+ * Type for defining the encryption properties of a VM.
49
+ */
17
50
  export type VmEncryptionType = Required<WithDiskEncryption>;
51
+ /**
52
+ * Interface for building the OS properties of a VM.
53
+ */
18
54
  export interface IVmOsBuilder {
55
+ /**
56
+ * Sets the OS properties for a Windows VM.
57
+ * @param props - The Windows OS properties.
58
+ * @returns An instance of IVmSizeBuilder.
59
+ */
19
60
  withWindowsImage(props: VmOsBuilderWindowsProps): IVmSizeBuilder;
61
+ /**
62
+ * Sets the OS properties for a Linux VM.
63
+ * @param props - The Linux OS properties.
64
+ * @returns An instance of IVmSizeBuilder.
65
+ */
20
66
  withLinuxImage(props: VmOsBuilderLinuxProps): IVmSizeBuilder;
21
67
  }
68
+ /**
69
+ * Interface for building the size properties of a VM.
70
+ */
22
71
  export interface IVmSizeBuilder {
72
+ /**
73
+ * Sets the size properties for the VM.
74
+ * @param props - The size properties.
75
+ * @returns An instance of IVmLoginBuilder.
76
+ */
23
77
  withSize(props: VmSizeTypes): IVmLoginBuilder;
24
78
  }
79
+ /**
80
+ * Interface for building the login credentials of a VM.
81
+ */
25
82
  export interface IVmLoginBuilder extends ILoginBuilder<IVmVnetBuilder> {
26
83
  }
84
+ /**
85
+ * Interface for building the VNet properties of a VM.
86
+ */
27
87
  export interface IVmVnetBuilder {
88
+ /**
89
+ * Sets the subnet ID for the VM.
90
+ * @param props - The subnet ID.
91
+ * @returns An instance of IVmBuilder.
92
+ */
28
93
  withSubnetId(props: Input<string>): IVmBuilder;
29
94
  }
95
+ /**
96
+ * Interface for building a VM.
97
+ */
30
98
  export interface IVmBuilder extends IBuilder<ResourceInfo>, IIgnoreChanges<IVmBuilder> {
31
- /** This must be enabled before resource be created*/
99
+ /**
100
+ * Enables encryption for the VM.
101
+ * @param props - The encryption properties.
102
+ * @returns An instance of IVmBuilder.
103
+ */
32
104
  enableEncryption(props: VmEncryptionType): IVmBuilder;
105
+ /**
106
+ * Sets the tags for the VM.
107
+ * @param props - The tags.
108
+ * @returns An instance of IVmBuilder.
109
+ */
33
110
  withTags(props: Record<string, Input<string>>): IVmBuilder;
111
+ /**
112
+ * Sets the schedule for the VM.
113
+ * @param props - The schedule properties.
114
+ * @returns An instance of IVmBuilder.
115
+ */
34
116
  withSchedule(props: VmScheduleType): IVmBuilder;
35
117
  }
@@ -10,23 +10,44 @@ import { VpnGatewayProps } from '../../VNet/VPNGateway';
10
10
  import { CustomSecurityRuleArgs, RouteArgs } from '../../VNet/types';
11
11
  import { PublicIpAddressPrefixResult } from '../../VNet/IpAddressPrefix';
12
12
  import { IPrivateDnsZoneBuilder } from './privateDnsZoneBuilder';
13
+ /**
14
+ * Arguments required for building a VNet resource.
15
+ */
13
16
  export type VnetBuilderArgs = BuilderProps & WithLogInfo;
17
+ /**
18
+ * Results of the VNet builder.
19
+ */
14
20
  export type VnetBuilderResults = VnetResult & {
15
21
  publicIpAddress: PublicIpAddressPrefixResult | undefined;
16
22
  firewall: FirewallResult | undefined;
17
23
  natGateway: network.NatGateway | undefined;
18
24
  vnpGateway: network.VirtualNetworkGateway | undefined;
19
25
  };
26
+ /**
27
+ * Properties for building a VNet.
28
+ */
20
29
  export type VnetBuilderProps = {
21
30
  subnets?: SubnetCreationProps;
22
31
  } & Pick<VnetProps, 'addressSpaces' | 'dnsServers'>;
32
+ /**
33
+ * Properties for creating subnets.
34
+ */
23
35
  export type SubnetCreationProps = Record<string, Omit<SubnetProps, 'name'>>;
36
+ /**
37
+ * Properties for creating subnet prefixes.
38
+ */
24
39
  export type SubnetPrefixCreationProps = {
25
40
  addressPrefix: string;
26
41
  };
42
+ /**
43
+ * Properties for creating a Bastion host.
44
+ */
27
45
  export type BastionCreationProps = {
28
46
  subnet: SubnetPrefixCreationProps;
29
47
  } & Pick<BasicResourceArgs, 'importUri' | 'ignoreChanges'>;
48
+ /**
49
+ * Properties for VNet peering.
50
+ */
30
51
  export type PeeringProps = {
31
52
  groupName: string;
32
53
  direction?: PeeringDirectionType;
@@ -36,33 +57,119 @@ export type PeeringProps = {
36
57
  direction?: PeeringDirectionType;
37
58
  options?: Pick<PeeringOptions, 'useRemoteGateways' | 'doNotVerifyRemoteGateways'>;
38
59
  };
60
+ /**
61
+ * Properties for creating a firewall.
62
+ */
39
63
  export type FirewallCreationProps = {
40
64
  subnet: SubnetPrefixCreationProps & {
41
65
  managementAddressPrefix: string;
42
66
  };
43
67
  } & OmitBuilderProps<Omit<FirewallProps, 'outbound' | 'management'>>;
68
+ /**
69
+ * Properties for creating a VPN gateway.
70
+ */
44
71
  export type VpnGatewayCreationProps = Pick<VpnGatewayProps, 'sku' | 'vpnClientAddressPools'> & {
45
72
  subnetSpace: string;
46
73
  };
74
+ /**
75
+ * Function type for building a private DNS zone.
76
+ */
47
77
  export type VnetPrivateDnsBuilderFunc = (builder: IPrivateDnsZoneBuilder) => IPrivateDnsZoneBuilder;
78
+ /**
79
+ * Interface for starting the VNet builder.
80
+ */
48
81
  export interface IVnetBuilderStart {
82
+ /**
83
+ * Initializes the VNet builder as a hub.
84
+ * @param props - The VNet builder properties.
85
+ * @returns An instance of IPublicIpBuilder.
86
+ */
49
87
  asHub(props?: VnetBuilderProps): IPublicIpBuilder;
88
+ /**
89
+ * Initializes the VNet builder as a spoke.
90
+ * @param props - The VNet builder properties.
91
+ * @returns An instance of IVnetBuilder.
92
+ */
50
93
  asSpoke(props?: VnetBuilderProps): IVnetBuilder;
51
94
  }
95
+ /**
96
+ * Interface for building public IP properties.
97
+ */
52
98
  export interface IPublicIpBuilder {
99
+ /**
100
+ * Sets the public IP properties.
101
+ * @param type - The type of public IP.
102
+ * @returns An instance of IGatewayFireWallBuilder.
103
+ */
53
104
  withPublicIP(type: 'prefix' | 'individual'): IGatewayFireWallBuilder;
105
+ /**
106
+ * Sets the public IP properties from an existing ID.
107
+ * @param id - The ID of the public IP.
108
+ * @returns An instance of IGatewayFireWallBuilder.
109
+ */
54
110
  withPublicIPFrom(id: Input<string>): IGatewayFireWallBuilder;
55
111
  }
112
+ /**
113
+ * Interface for building gateway and firewall properties.
114
+ */
56
115
  export interface IGatewayFireWallBuilder extends IBuilder<VnetBuilderResults> {
116
+ /**
117
+ * Sets the firewall and NAT gateway properties.
118
+ * @param props - The firewall creation properties.
119
+ * @returns An instance of IVnetBuilder.
120
+ */
57
121
  withFirewallAndNatGateway(props: FirewallCreationProps): IVnetBuilder;
122
+ /**
123
+ * Sets the firewall properties.
124
+ * @param props - The firewall creation properties.
125
+ * @returns An instance of IVnetBuilder.
126
+ */
58
127
  withFirewall(props: FirewallCreationProps): IVnetBuilder;
128
+ /**
129
+ * Sets the NAT gateway properties.
130
+ * @returns An instance of IVnetBuilder.
131
+ */
59
132
  withNatGateway(): IVnetBuilder;
60
133
  }
134
+ /**
135
+ * Interface for building a VNet.
136
+ */
61
137
  export interface IVnetBuilder extends IBuilder<VnetBuilderResults> {
138
+ /**
139
+ * Sets the Bastion host properties.
140
+ * @param props - The Bastion creation properties.
141
+ * @returns An instance of IVnetBuilder.
142
+ */
62
143
  withBastion(props: BastionCreationProps): IVnetBuilder;
144
+ /**
145
+ * Sets the private DNS properties.
146
+ * @param domain - The domain name.
147
+ * @param builder - The private DNS builder function.
148
+ * @returns An instance of IVnetBuilder.
149
+ */
63
150
  withPrivateDns(domain: string, builder?: VnetPrivateDnsBuilderFunc): IVnetBuilder;
151
+ /**
152
+ * Sets the security rules for the VNet.
153
+ * @param rules - The security rule arguments.
154
+ * @returns An instance of IVnetBuilder.
155
+ */
64
156
  withSecurityRules(...rules: CustomSecurityRuleArgs[]): IVnetBuilder;
157
+ /**
158
+ * Sets the route rules for the VNet.
159
+ * @param rules - The route arguments.
160
+ * @returns An instance of IVnetBuilder.
161
+ */
65
162
  withRouteRules(...rules: RouteArgs[]): IVnetBuilder;
163
+ /**
164
+ * Sets the VPN gateway properties.
165
+ * @param props - The VPN gateway creation properties.
166
+ * @returns An instance of IVnetBuilder.
167
+ */
66
168
  withVpnGateway(props: VpnGatewayCreationProps): IVnetBuilder;
169
+ /**
170
+ * Sets the peering properties for the VNet.
171
+ * @param props - The peering properties.
172
+ * @returns An instance of IVnetBuilder.
173
+ */
67
174
  peeringTo(props: PeeringProps): IVnetBuilder;
68
175
  }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getImportConfig = void 0;
4
+ const Helpers_1 = require("../Helpers");
5
+ const removeVersion = (data, version) => {
6
+ if (!data?.paths) {
7
+ console.error(`APIM-removeVersion: There is no paths found in`, data);
8
+ return data;
9
+ }
10
+ const newPaths = {};
11
+ //Replace version from path
12
+ Object.keys(data.paths).forEach((k) => {
13
+ const newKey = (0, Helpers_1.replaceAll)(k, `/${version}`, '');
14
+ newPaths[newKey] = data.paths[k];
15
+ });
16
+ data.paths = newPaths;
17
+ return data;
18
+ };
19
+ const downloadSpecFile = async (fileUrl) => {
20
+ //Get specs json from URL
21
+ return await fetch(fileUrl, { method: 'GET' })
22
+ .then((rs) => rs.json())
23
+ .catch((error) => {
24
+ console.error(`Not able to get spec file from: ${fileUrl}`, error);
25
+ return undefined;
26
+ });
27
+ };
28
+ const getImportConfig = async (specUrl, version) => {
29
+ const spec = await downloadSpecFile(specUrl);
30
+ if (!spec)
31
+ return undefined;
32
+ //Remove Version
33
+ const data = removeVersion(spec, version);
34
+ return JSON.stringify(data);
35
+ };
36
+ exports.getImportConfig = getImportConfig;
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQ29tbW9uL09wZW5BcGkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0NBQXdDO0FBR3hDLE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBYyxFQUFFLE9BQWUsRUFBWSxFQUFFO0lBQ2xFLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDakIsT0FBTyxDQUFDLEtBQUssQ0FBQyxnREFBZ0QsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0RSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxFQUFTLENBQUM7SUFFM0IsMkJBQTJCO0lBQzNCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLElBQUEsb0JBQVUsRUFBQyxDQUFDLEVBQUUsSUFBSSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNoRCxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuQyxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO0lBQ3RCLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLEVBQzVCLE9BQWUsRUFDZ0IsRUFBRTtJQUNqQyx5QkFBeUI7SUFDekIsT0FBTyxNQUFNLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7U0FDM0MsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUF5QixDQUFDO1NBQzlDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQ0FBbUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkUsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFFSyxNQUFNLGVBQWUsR0FBRyxLQUFLLEVBQ2xDLE9BQWUsRUFDZixPQUFlLEVBQ2MsRUFBRTtJQUMvQixNQUFNLElBQUksR0FBRyxNQUFNLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFFNUIsZ0JBQWdCO0lBQ2hCLE1BQU0sSUFBSSxHQUFHLGFBQWEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDMUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQztBQVZXLFFBQUEsZUFBZSxtQkFVMUIifQ==
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvV2ViL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQ29tbW9uL09wZW5BcGkvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
package/Common/index.d.ts CHANGED
@@ -4,6 +4,7 @@ export * as stackEnv from './StackEnv';
4
4
  export * as global from './GlobalEnv';
5
5
  export { default as naming } from './Naming';
6
6
  export * as rsInfo from './RsInfo';
7
+ export * as openApi from './OpenApi';
7
8
  export * from './Helpers';
8
9
  export * from './AzureEnv';
9
10
  export * from './StackEnv';
package/Common/index.js CHANGED
@@ -29,7 +29,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
29
29
  return (mod && mod.__esModule) ? mod : { "default": mod };
30
30
  };
31
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
- exports.rsInfo = exports.naming = exports.global = exports.stackEnv = exports.azureEnv = exports.helpers = void 0;
32
+ exports.openApi = exports.rsInfo = exports.naming = exports.global = exports.stackEnv = exports.azureEnv = exports.helpers = void 0;
33
33
  exports.helpers = __importStar(require("./Helpers"));
34
34
  exports.azureEnv = __importStar(require("./AzureEnv"));
35
35
  exports.stackEnv = __importStar(require("./StackEnv"));
@@ -37,9 +37,10 @@ exports.global = __importStar(require("./GlobalEnv"));
37
37
  var Naming_1 = require("./Naming");
38
38
  Object.defineProperty(exports, "naming", { enumerable: true, get: function () { return __importDefault(Naming_1).default; } });
39
39
  exports.rsInfo = __importStar(require("./RsInfo"));
40
+ exports.openApi = __importStar(require("./OpenApi"));
40
41
  __exportStar(require("./Helpers"), exports);
41
42
  __exportStar(require("./AzureEnv"), exports);
42
43
  __exportStar(require("./StackEnv"), exports);
43
44
  __exportStar(require("./GlobalEnv"), exports);
44
45
  __exportStar(require("./Naming"), exports);
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQ29tbW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQXFDO0FBQ3JDLHVEQUF1QztBQUN2Qyx1REFBdUM7QUFDdkMsc0RBQXNDO0FBQ3RDLG1DQUE2QztBQUFwQyxpSEFBQSxPQUFPLE9BQVU7QUFDMUIsbURBQW1DO0FBRW5DLDRDQUEwQjtBQUMxQiw2Q0FBMkI7QUFDM0IsNkNBQTJCO0FBQzNCLDhDQUE0QjtBQUM1QiwyQ0FBeUIifQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQ29tbW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQXFDO0FBQ3JDLHVEQUF1QztBQUN2Qyx1REFBdUM7QUFDdkMsc0RBQXNDO0FBQ3RDLG1DQUE2QztBQUFwQyxpSEFBQSxPQUFPLE9BQVU7QUFDMUIsbURBQW1DO0FBQ25DLHFEQUFxQztBQUVyQyw0Q0FBMEI7QUFDMUIsNkNBQTJCO0FBQzNCLDZDQUEyQjtBQUMzQiw4Q0FBNEI7QUFDNUIsMkNBQXlCIn0=
@@ -23,14 +23,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- const AzureEnv_1 = require("../Common/AzureEnv");
26
+ const Common_1 = require("../Common");
27
27
  const authorization = __importStar(require("@pulumi/azure-native/authorization"));
28
28
  exports.default = ({ enableJustInTimeRemoteRole = true }) => {
29
29
  if (enableJustInTimeRemoteRole) {
30
30
  new authorization.RoleDefinition('JustInTime-User-Remote-Request', {
31
31
  roleName: 'Just-In-Time-User-Remote-Request-Role',
32
32
  description: 'Just-in-time virtual machine user remote request role',
33
- scope: AzureEnv_1.defaultSubScope,
33
+ scope: Common_1.defaultSubScope,
34
34
  permissions: [
35
35
  {
36
36
  actions: [
@@ -43,8 +43,8 @@ exports.default = ({ enableJustInTimeRemoteRole = true }) => {
43
43
  notActions: [],
44
44
  },
45
45
  ],
46
- assignableScopes: [AzureEnv_1.defaultSubScope],
46
+ assignableScopes: [Common_1.defaultSubScope],
47
47
  });
48
48
  }
49
49
  };
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQ3VzdG9tUm9sZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUFxRDtBQUNyRCxrRkFBb0U7QUFLcEUsa0JBQWUsQ0FBQyxFQUFFLDBCQUEwQixHQUFHLElBQUksRUFBUyxFQUFFLEVBQUU7SUFDOUQsSUFBSSwwQkFBMEIsRUFBRSxDQUFDO1FBQy9CLElBQUksYUFBYSxDQUFDLGNBQWMsQ0FBQyxnQ0FBZ0MsRUFBRTtZQUNqRSxRQUFRLEVBQUUsdUNBQXVDO1lBQ2pELFdBQVcsRUFBRSx1REFBdUQ7WUFDcEUsS0FBSyxFQUFFLDBCQUFlO1lBQ3RCLFdBQVcsRUFBRTtnQkFDWDtvQkFDRSxPQUFPLEVBQUU7d0JBQ1AsdUVBQXVFO3dCQUN2RSw4REFBOEQ7d0JBQzlELGtDQUFrQzt3QkFDbEMsd0NBQXdDO3dCQUN4Qyw0Q0FBNEM7cUJBQzdDO29CQUNELFVBQVUsRUFBRSxFQUFFO2lCQUNmO2FBQ0Y7WUFDRCxnQkFBZ0IsRUFBRSxDQUFDLDBCQUFlLENBQUM7U0FDcEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUMsQ0FBQyJ9
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQ3VzdG9tUm9sZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNDQUE0QztBQUM1QyxrRkFBb0U7QUFLcEUsa0JBQWUsQ0FBQyxFQUFFLDBCQUEwQixHQUFHLElBQUksRUFBUyxFQUFFLEVBQUU7SUFDOUQsSUFBSSwwQkFBMEIsRUFBRSxDQUFDO1FBQy9CLElBQUksYUFBYSxDQUFDLGNBQWMsQ0FBQyxnQ0FBZ0MsRUFBRTtZQUNqRSxRQUFRLEVBQUUsdUNBQXVDO1lBQ2pELFdBQVcsRUFBRSx1REFBdUQ7WUFDcEUsS0FBSyxFQUFFLHdCQUFlO1lBQ3RCLFdBQVcsRUFBRTtnQkFDWDtvQkFDRSxPQUFPLEVBQUU7d0JBQ1AsdUVBQXVFO3dCQUN2RSw4REFBOEQ7d0JBQzlELGtDQUFrQzt3QkFDbEMsd0NBQXdDO3dCQUN4Qyw0Q0FBNEM7cUJBQzdDO29CQUNELFVBQVUsRUFBRSxFQUFFO2lCQUNmO2FBQ0Y7WUFDRCxnQkFBZ0IsRUFBRSxDQUFDLHdCQUFlLENBQUM7U0FDcEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUMsQ0FBQyJ9
@@ -9,6 +9,7 @@ type GetVaultItemProps = Required<NamedWithVaultType> & {
9
9
  interface KeyVaultPropertiesResults {
10
10
  keyName: Output<string>;
11
11
  url: Output<string>;
12
+ urlWithoutVersion: Output<string>;
12
13
  keyVaultUri: Output<string>;
13
14
  keyVersion: Output<string>;
14
15
  }
@@ -29,6 +29,7 @@ const addEncryptKey = (name, vaultInfo, keySize = 4096) => {
29
29
  keyVaultUri: key.vaultUrl,
30
30
  keyVersion: key.version,
31
31
  url: key.id,
32
+ urlWithoutVersion: (0, pulumi_1.output)([key.version, key.id]).apply(([v, id]) => id.replace(`/${v}`, '')),
32
33
  };
33
34
  };
34
35
  exports.addEncryptKey = addEncryptKey;
@@ -102,4 +103,4 @@ exports.getSecrets = getSecrets;
102
103
  // vaultUrl: `https://${splits[2]}`,
103
104
  // };
104
105
  // };
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0tleVZhdWx0L0hlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwyQ0FBZ0Q7QUFFaEQscUdBQWdGO0FBQ2hGLG1FQUFpRTtBQUNqRSxzQ0FBZ0U7QUFFaEUsOEZBQThGO0FBQ3ZGLE1BQU0sZ0JBQWdCLEdBQUcsQ0FDOUIsSUFBWSxFQUNaLGVBQXVCLGNBQUssRUFDNUIsRUFBRTtJQUNGLElBQUksR0FBRyxJQUFJO1NBQ1IsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxtREFBbUQ7U0FDOUYsT0FBTyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQyx3Q0FBd0M7U0FDakUsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyw2Q0FBNkM7U0FDakUsV0FBVyxFQUFFLENBQUMsQ0FBQyxrQ0FBa0M7SUFFcEQsT0FBTyxJQUFBLHFDQUE0QixFQUFDLElBQUksQ0FBQyxDQUFDO0FBQzVDLENBQUMsQ0FBQztBQVhXLFFBQUEsZ0JBQWdCLG9CQVczQjtBQXdCSyxNQUFNLGFBQWEsR0FBRyxDQUMzQixJQUFZLEVBQ1osU0FBdUIsRUFDdkIsVUFBOEIsSUFBSSxFQUNQLEVBQUU7SUFDN0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxrQ0FBZ0IsQ0FDOUIsR0FBRyxJQUFJLGFBQWEsRUFDcEI7UUFDRSxJQUFJLEVBQUUsR0FBRyxJQUFJLGFBQWE7UUFDMUIsU0FBUyxFQUFFLFNBQVMsQ0FBQyxJQUFJO1FBQ3pCLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRTtLQUNqQixFQUNELEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxDQUN6QixDQUFDO0lBRUYsT0FBTztRQUNMLE9BQU8sRUFBRSxHQUFHLENBQUMsSUFBSTtRQUNqQixXQUFXLEVBQUUsR0FBRyxDQUFDLFFBQVE7UUFDekIs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
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0tleVZhdWx0L0hlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwyQ0FBZ0Q7QUFFaEQscUdBQWdGO0FBQ2hGLG1FQUFpRTtBQUNqRSxzQ0FBZ0U7QUFFaEUsOEZBQThGO0FBQ3ZGLE1BQU0sZ0JBQWdCLEdBQUcsQ0FDOUIsSUFBWSxFQUNaLGVBQXVCLGNBQUssRUFDNUIsRUFBRTtJQUNGLElBQUksR0FBRyxJQUFJO1NBQ1IsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxtREFBbUQ7U0FDOUYsT0FBTyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQyx3Q0FBd0M7U0FDakUsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyw2Q0FBNkM7U0FDakUsV0FBVyxFQUFFLENBQUMsQ0FBQyxrQ0FBa0M7SUFFcEQsT0FBTyxJQUFBLHFDQUE0QixFQUFDLElBQUksQ0FBQyxDQUFDO0FBQzVDLENBQUMsQ0FBQztBQVhXLFFBQUEsZ0JBQWdCLG9CQVczQjtBQXlCSyxNQUFNLGFBQWEsR0FBRyxDQUMzQixJQUFZLEVBQ1osU0FBdUIsRUFDdkIsVUFBOEIsSUFBSSxFQUNQLEVBQUU7SUFDN0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxrQ0FBZ0IsQ0FDOUIsR0FBRyxJQUFJLGFBQWEsRUFDcEI7UUFDRSxJQUFJLEVBQUUsR0FBRyxJQUFJLGFBQWE7UUFDMUIsU0FBUyxFQUFFLFNBQVMsQ0FBQyxJQUFJO1FBQ3pCLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRTtLQUNqQixFQUNELEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxDQUN6QixDQUFDO0lBRUYsT0FBTztRQUNMLE9BQU8sRUFBRSxHQUFHLENBQUMsSUFBSTtRQUNqQixXQUFXLEVBQUUsR0FBRyxDQUFDLFFBQVE7UUFDekIs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
@@ -1,15 +1,9 @@
1
1
  import { Input } from '@pulumi/pulumi';
2
- import { BasicResourceArgs, KeyVaultInfo, NetworkPropsType, PrivateLinkPropsType } from '../types';
2
+ import { BasicResourceArgs, NetworkPropsType } from '../types';
3
3
  export interface KeyVaultProps extends BasicResourceArgs {
4
4
  softDeleteRetentionInDays?: Input<number>;
5
5
  network?: NetworkPropsType;
6
6
  }
7
- export declare const createVaultPrivateLink: ({ vaultInfo, ...props }: PrivateLinkPropsType & {
8
- vaultInfo: KeyVaultInfo;
9
- }) => import("@pulumi/pulumi").Output<{
10
- instance: import("@pulumi/azure-native/network/privateEndpoint").PrivateEndpoint;
11
- ipAddresses: import("@pulumi/pulumi").Output<string[]>;
12
- }[]>;
13
7
  declare const _default: ({ name, group, network, softDeleteRetentionInDays, ignoreChanges, dependsOn, importUri, ...others }: KeyVaultProps) => {
14
8
  name: string;
15
9
  vault: import("@pulumi/azure-native/keyvault/vault").Vault;
@@ -18,9 +12,5 @@ declare const _default: ({ name, group, network, softDeleteRetentionInDays, igno
18
12
  group: import("../types").ResourceGroupInfo;
19
13
  id: import("@pulumi/pulumi").Output<string>;
20
14
  };
21
- createPrivateLink: (props: PrivateLinkPropsType) => import("@pulumi/pulumi").Output<{
22
- instance: import("@pulumi/azure-native/network/privateEndpoint").PrivateEndpoint;
23
- ipAddresses: import("@pulumi/pulumi").Output<string[]>;
24
- }[]>;
25
15
  };
26
16
  export default _default;
package/KeyVault/index.js CHANGED
@@ -22,22 +22,11 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
25
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.createVaultPrivateLink = void 0;
30
26
  const keyvault = __importStar(require("@pulumi/azure-native/keyvault"));
31
27
  const types_1 = require("@pulumi/azure-native/types");
32
28
  const Common_1 = require("../Common");
33
- const PrivateEndpoint_1 = __importDefault(require("../VNet/PrivateEndpoint"));
34
- const createVaultPrivateLink = ({ vaultInfo, ...props }) => (0, PrivateEndpoint_1.default)({
35
- resourceInfo: vaultInfo,
36
- ...props,
37
- privateDnsZoneName: 'privatelink.vaultcore.azure.net',
38
- linkServiceGroupIds: props.type ? [props.type] : ['keyVault'],
39
- });
40
- exports.createVaultPrivateLink = createVaultPrivateLink;
29
+ const VNet_1 = require("../VNet");
41
30
  // export const createVaultDiagnostic = ({
42
31
  // vaultInfo,
43
32
  // logInfo,
@@ -96,21 +85,14 @@ exports.default = ({ name, group, network, softDeleteRetentionInDays = 7, ignore
96
85
  group,
97
86
  id: vault.id,
98
87
  });
99
- // Create Private Link
100
- const createPrivateLink = (props) => (0, exports.createVaultPrivateLink)({ vaultInfo: info(), ...props });
101
88
  //Create Private Link
102
89
  if (network?.privateLink) {
103
- createPrivateLink(network.privateLink);
90
+ (0, VNet_1.VaultPrivateLink)({ ...network.privateLink, resourceInfo: info() });
104
91
  }
105
- //Add Diagnostic
106
- // const addDiagnostic = (logInfo: BasicMonitorArgs) =>
107
- // createVaultDiagnostic({ vaultInfo: info(), logInfo });
108
92
  return {
109
93
  name: vaultName,
110
94
  vault,
111
95
  info,
112
- //addDiagnostic,
113
- createPrivateLink,
114
96
  };
115
97
  };
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvS2V5VmF1bHQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3RUFBMEQ7QUFDMUQsc0RBQW1EO0FBRW5ELHNDQUE2QztBQU83Qyw4RUFBc0Q7QUFPL0MsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLEVBQ3JDLFNBQVMsRUFDVCxHQUFHLEtBQUssRUFHVCxFQUFFLEVBQUUsQ0FDSCxJQUFBLHlCQUFlLEVBQUM7SUFDZCxZQUFZLEVBQUUsU0FBUztJQUN2QixHQUFHLEtBQUs7SUFDUixrQkFBa0IsRUFBRSxpQ0FBaUM7SUFDckQsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0NBQzlELENBQUMsQ0FBQztBQVhRLFFBQUEsc0JBQXNCLDBCQVc5QjtBQUVMLDBDQUEwQztBQUMxQyxlQUFlO0FBQ2YsYUFBYTtBQUNiLE9BQU87QUFDUCw2QkFBNkI7QUFDN0IsK0JBQStCO0FBQy9CLFFBQVE7QUFDUix1QkFBdUI7QUFDdkIsdUNBQXVDO0FBQ3ZDLHNDQUFzQztBQUN0QyxrQkFBa0I7QUFDbEIsc0NBQXNDO0FBQ3RDLFFBQVE7QUFFUixrQkFBZSxDQUFDLEVBQ2QsSUFBSSxFQUNKLEtBQUssRUFDTCxPQUFPLEVBQ1AseUJBQXlCLEdBQUcsQ0FBQyxFQUM3QixhQUFhLEdBQUcsRUFBRSxFQUNsQixTQUFTLEVBQ1QsU0FBUyxFQUNULEdBQUcsTUFBTSxFQUNLLEVBQUUsRUFBRTtJQUNsQixNQUFNLFNBQVMsR0FBRyxlQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRS9DLE1BQU0sS0FBSyxHQUFHLElBQUksUUFBUSxDQUFDLEtBQUssQ0FDOUIsU0FBUyxFQUNUO1FBQ0UsU0FBUztRQUNULEdBQUcsS0FBSztRQUNSLEdBQUcsTUFBTTtRQUVULFVBQVUsRUFBRTtZQUNWLFFBQVEsRUFBUixpQkFBUTtZQUNSLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRTtZQUN0QyxVQUFVLEVBQUUsU0FBUztZQUVyQix1QkFBdUIsRUFBRSxJQUFJO1lBQzdCLGNBQWMsRUFBRSxTQUFTO1lBRXpCLHFCQUFxQixFQUFFLElBQUk7WUFDM0IsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0Qix5QkFBeUIsRUFBRSwyRUFBMkU7WUFFdEcsb0JBQW9CLEVBQUUsSUFBSTtZQUMxQix3QkFBd0IsRUFBRSxJQUFJO1lBQzlCLDRCQUE0QixFQUFFLElBQUk7WUFFbEMsV0FBVyxFQUFFO2dCQUNYLE1BQU0sRUFBRSxlQUFlO2dCQUN2QixhQUFhLEVBQUUsYUFBSyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLO2dCQUVyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVc7b0JBQzNCLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNoRCxDQUFDLENBQUMsRUFBRTtnQkFFTixtQkFBbUIsRUFBRSxPQUFPLEVBQUUsUUFBUTtvQkFDcEMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUM1QixDQUFDLENBQUMsU0FBUzthQUNkO1NBQ0Y7S0FDRixFQUNEO1FBQ0UsU0FBUztRQUNULE1BQU0sRUFBRSxTQUFTO1FBQ2pCLGFBQWEsRUFBRTtZQUNiLDJCQUEyQjtZQUMzQixrQkFBa0I7WUFDbEIsdUJBQXVCO1lBQ3ZCLEdBQUcsYUFBYTtTQUNqQjtLQUNGLENBQ0YsQ0FBQztJQUVGLGVBQWU7SUFDZixNQUFNLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2xCLElBQUksRUFBRSxTQUFTO1FBQ2YsS0FBSztRQUNMLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRTtLQUNiLENBQUMsQ0FBQztJQUVILHNCQUFzQjtJQUN0QixNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBMkIsRUFBRSxFQUFFLENBQ3hELElBQUEsOEJBQXNCLEVBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBRTFELHFCQUFxQjtJQUNyQixJQUFJLE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN6QixpQkFBaUIsQ0FBQyxPQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELGdCQUFnQjtJQUNoQix1REFBdUQ7SUFDdkQsMkRBQTJEO0lBRTNELE9BQU87UUFDTCxJQUFJLEVBQUUsU0FBUztRQUNmLEtBQUs7UUFDTCxJQUFJO1FBQ0osZ0JBQWdCO1FBQ2hCLGlCQUFpQjtLQUNsQixDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvS2V5VmF1bHQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdFQUEwRDtBQUMxRCxzREFBbUQ7QUFFbkQsc0NBQTZDO0FBRTdDLGtDQUEyQztBQU8zQywwQ0FBMEM7QUFDMUMsZUFBZTtBQUNmLGFBQWE7QUFDYixPQUFPO0FBQ1AsNkJBQTZCO0FBQzdCLCtCQUErQjtBQUMvQixRQUFRO0FBQ1IsdUJBQXVCO0FBQ3ZCLHVDQUF1QztBQUN2QyxzQ0FBc0M7QUFDdEMsa0JBQWtCO0FBQ2xCLHNDQUFzQztBQUN0QyxRQUFRO0FBRVIsa0JBQWUsQ0FBQyxFQUNkLElBQUksRUFDSixLQUFLLEVBQ0wsT0FBTyxFQUNQLHlCQUF5QixHQUFHLENBQUMsRUFDN0IsYUFBYSxHQUFHLEVBQUUsRUFDbEIsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLE1BQU0sRUFDSyxFQUFFLEVBQUU7SUFDbEIsTUFBTSxTQUFTLEdBQUcsZUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUvQyxNQUFNLEtBQUssR0FBRyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQzlCLFNBQVMsRUFDVDtRQUNFLFNBQVM7UUFDVCxHQUFHLEtBQUs7UUFDUixHQUFHLE1BQU07UUFFVCxVQUFVLEVBQUU7WUFDVixRQUFRLEVBQVIsaUJBQVE7WUFDUixHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUU7WUFDdEMsVUFBVSxFQUFFLFNBQVM7WUFFckIsdUJBQXVCLEVBQUUsSUFBSTtZQUM3QixjQUFjLEVBQUUsU0FBUztZQUV6QixxQkFBcUIsRUFBRSxJQUFJO1lBQzNCLGdCQUFnQixFQUFFLElBQUk7WUFDdEIseUJBQXlCLEVBQUUsMkVBQTJFO1lBRXRHLG9CQUFvQixFQUFFLElBQUk7WUFDMUIsd0JBQXdCLEVBQUUsSUFBSTtZQUM5Qiw0QkFBNEIsRUFBRSxJQUFJO1lBRWxDLFdBQVcsRUFBRTtnQkFDWCxNQUFNLEVBQUUsZUFBZTtnQkFDdkIsYUFBYSxFQUFFLGFBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsS0FBSztnQkFFckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXO29CQUMzQixDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDaEQsQ0FBQyxDQUFDLEVBQUU7Z0JBRU4sbUJBQW1CLEVBQUUsT0FBTyxFQUFFLFFBQVE7b0JBQ3BDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDNUIsQ0FBQyxDQUFDLFNBQVM7YUFDZDtTQUNGO0tBQ0YsRUFDRDtRQUNFLFNBQVM7UUFDVCxNQUFNLEVBQUUsU0FBUztRQUNqQixhQUFhLEVBQUU7WUFDYiwyQkFBMkI7WUFDM0Isa0JBQWtCO1lBQ2xCLHVCQUF1QjtZQUN2QixHQUFHLGFBQWE7U0FDakI7S0FDRixDQUNGLENBQUM7SUFFRixlQUFlO0lBQ2YsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNsQixJQUFJLEVBQUUsU0FBUztRQUNmLEtBQUs7UUFDTCxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUU7S0FDYixDQUFDLENBQUM7SUFFSCxxQkFBcUI7SUFDckIsSUFBSSxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDekIsSUFBQSx1QkFBZ0IsRUFBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxFQUFFLFNBQVM7UUFDZixLQUFLO1FBQ0wsSUFBSTtLQUNMLENBQUM7QUFDSixDQUFDLENBQUMifQ==