Skip to content

Commit

Permalink
[Modules] Private Endpoint User Defined Type Bug (ipConfigurations an…
Browse files Browse the repository at this point in the history
…d customDnsConfigs) (#4167)
  • Loading branch information
ahmadabdalla authored Nov 1, 2023
1 parent e30d766 commit 227791d
Show file tree
Hide file tree
Showing 99 changed files with 4,930 additions and 1,062 deletions.
32 changes: 17 additions & 15 deletions modules/app-configuration/configuration-store/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -833,14 +833,20 @@ Optional. Custom DNS configurations.

| Name | Required | Type | Description |
| :-- | :-- | :--| :-- |
| [`fqdn`](#parameter-privateendpointscustomdnsconfigsfqdn) | No | string | |
| [`ipAddresses`](#parameter-privateendpointscustomdnsconfigsipaddresses) | Yes | array | |
| [`fqdn`](#parameter-privateendpointscustomdnsconfigsfqdn) | No | string | Required. Fqdn that resolves to private endpoint ip address. |
| [`ipAddresses`](#parameter-privateendpointscustomdnsconfigsipaddresses) | Yes | array | Required. A list of private ip addresses of the private endpoint. |

### Parameter: `privateEndpoints.customDnsConfigs.fqdn`

Required. Fqdn that resolves to private endpoint ip address.

- Required: No
- Type: string

### Parameter: `privateEndpoints.customDnsConfigs.ipAddresses`

Required. A list of private ip addresses of the private endpoint.

- Required: Yes
- Type: array

Expand Down Expand Up @@ -868,26 +874,22 @@ Optional. A list of IP configurations of the private endpoint. This will be used

| Name | Required | Type | Description |
| :-- | :-- | :--| :-- |
| [`groupId`](#parameter-privateendpointsipconfigurationsgroupid) | Yes | string | |
| [`memberName`](#parameter-privateendpointsipconfigurationsmembername) | Yes | string | |
| [`name`](#parameter-privateendpointsipconfigurationsname) | Yes | string | |
| [`privateIpAddress`](#parameter-privateendpointsipconfigurationsprivateipaddress) | Yes | string | |
| [`name`](#parameter-privateendpointsipconfigurationsname) | Yes | string | Required. The name of the resource that is unique within a resource group. |
| [`properties`](#parameter-privateendpointsipconfigurationsproperties) | Yes | object | Required. Properties of private endpoint IP configurations. |

### Parameter: `privateEndpoints.ipConfigurations.groupId`
- Required: Yes
- Type: string
### Parameter: `privateEndpoints.ipConfigurations.name`

### Parameter: `privateEndpoints.ipConfigurations.memberName`
- Required: Yes
- Type: string
Required. The name of the resource that is unique within a resource group.

### Parameter: `privateEndpoints.ipConfigurations.name`
- Required: Yes
- Type: string

### Parameter: `privateEndpoints.ipConfigurations.privateIpAddress`
### Parameter: `privateEndpoints.ipConfigurations.properties`

Required. Properties of private endpoint IP configurations.

- Required: Yes
- Type: string
- Type: object


### Parameter: `privateEndpoints.location`
Expand Down
19 changes: 16 additions & 3 deletions modules/app-configuration/configuration-store/main.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -311,16 +311,29 @@ type privateEndpointType = {

@description('Optional. Custom DNS configurations.')
customDnsConfigs: {
@description('Required. Fqdn that resolves to private endpoint ip address.')
fqdn: string?

@description('Required. A list of private ip addresses of the private endpoint.')
ipAddresses: string[]
}[]?

@description('Optional. A list of IP configurations of the private endpoint. This will be used to map to the First Party Service endpoints.')
ipConfigurations: {
@description('Required. The name of the resource that is unique within a resource group.')
name: string
groupId: string
memberName: string
privateIpAddress: string

@description('Required. Properties of private endpoint IP configurations.')
properties: {
@description('Required. The ID of a group obtained from the remote resource that this private endpoint should connect to.')
groupId: string

@description('Required. The member name of a group obtained from the remote resource that this private endpoint should connect to.')
memberName: string

@description('Required. A private ip address obtained from the private endpoint\'s subnet.')
privateIPAddress: string
}
}[]?

@description('Optional. Application security groups in which the private endpoint IP configuration is included.')
Expand Down
121 changes: 106 additions & 15 deletions modules/app-configuration/configuration-store/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"_generator": {
"name": "bicep",
"version": "0.22.6.54827",
"templateHash": "6136989204056808614"
"templateHash": "14821162059319342865"
},
"name": "App Configuration Stores",
"description": "This module deploys an App Configuration Store.",
Expand Down Expand Up @@ -183,12 +183,18 @@
"properties": {
"fqdn": {
"type": "string",
"nullable": true
"nullable": true,
"metadata": {
"description": "Required. Fqdn that resolves to private endpoint ip address."
}
},
"ipAddresses": {
"type": "array",
"items": {
"type": "string"
},
"metadata": {
"description": "Required. A list of private ip addresses of the private endpoint."
}
}
}
Expand All @@ -204,16 +210,36 @@
"type": "object",
"properties": {
"name": {
"type": "string"
},
"groupId": {
"type": "string"
},
"memberName": {
"type": "string"
"type": "string",
"metadata": {
"description": "Required. The name of the resource that is unique within a resource group."
}
},
"privateIpAddress": {
"type": "string"
"properties": {
"type": "object",
"properties": {
"groupId": {
"type": "string",
"metadata": {
"description": "Required. The ID of a group obtained from the remote resource that this private endpoint should connect to."
}
},
"memberName": {
"type": "string",
"metadata": {
"description": "Required. The member name of a group obtained from the remote resource that this private endpoint should connect to."
}
},
"privateIPAddress": {
"type": "string",
"metadata": {
"description": "Required. A private ip address obtained from the private endpoint's subnet."
}
}
},
"metadata": {
"description": "Required. Properties of private endpoint IP configurations."
}
}
}
},
Expand Down Expand Up @@ -900,7 +926,7 @@
"_generator": {
"name": "bicep",
"version": "0.22.6.54827",
"templateHash": "16178508232344722616"
"templateHash": "12078057657290521609"
},
"name": "Private Endpoints",
"description": "This module deploys a Private Endpoint.",
Expand Down Expand Up @@ -997,6 +1023,71 @@
}
},
"nullable": true
},
"ipConfigurationsType": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"metadata": {
"description": "Required. The name of the resource that is unique within a resource group."
}
},
"properties": {
"type": "object",
"properties": {
"groupId": {
"type": "string",
"metadata": {
"description": "Required. The ID of a group obtained from the remote resource that this private endpoint should connect to."
}
},
"memberName": {
"type": "string",
"metadata": {
"description": "Required. The member name of a group obtained from the remote resource that this private endpoint should connect to."
}
},
"privateIPAddress": {
"type": "string",
"metadata": {
"description": "Required. A private ip address obtained from the private endpoint's subnet."
}
}
},
"metadata": {
"description": "Required. Properties of private endpoint IP configurations."
}
}
}
},
"nullable": true
},
"customDnsConfigType": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fqdn": {
"type": "string",
"metadata": {
"description": "Required. Fqdn that resolves to private endpoint ip address."
}
},
"ipAddresses": {
"type": "array",
"items": {
"type": "string"
},
"metadata": {
"description": "Required. A list of private ip addresses of the private endpoint."
}
}
}
},
"nullable": true
}
},
"parameters": {
Expand Down Expand Up @@ -1033,7 +1124,7 @@
}
},
"ipConfigurations": {
"type": "array",
"$ref": "#/definitions/ipConfigurationsType",
"nullable": true,
"metadata": {
"description": "Optional. A list of IP configurations of the private endpoint. This will be used to map to the First Party Service endpoints."
Expand Down Expand Up @@ -1086,7 +1177,7 @@
}
},
"customDnsConfigs": {
"type": "array",
"$ref": "#/definitions/customDnsConfigType",
"nullable": true,
"metadata": {
"description": "Optional. Custom DNS configurations."
Expand Down Expand Up @@ -1153,7 +1244,7 @@
}
}
],
"customDnsConfigs": "[coalesce(parameters('customDnsConfigs'), createArray())]",
"customDnsConfigs": "[parameters('customDnsConfigs')]",
"customNetworkInterfaceName": "[coalesce(parameters('customNetworkInterfaceName'), '')]",
"ipConfigurations": "[coalesce(parameters('ipConfigurations'), createArray())]",
"manualPrivateLinkServiceConnections": "[coalesce(parameters('manualPrivateLinkServiceConnections'), createArray())]",
Expand Down
32 changes: 17 additions & 15 deletions modules/automation/automation-account/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -948,14 +948,20 @@ Optional. Custom DNS configurations.

| Name | Required | Type | Description |
| :-- | :-- | :--| :-- |
| [`fqdn`](#parameter-privateendpointscustomdnsconfigsfqdn) | No | string | |
| [`ipAddresses`](#parameter-privateendpointscustomdnsconfigsipaddresses) | Yes | array | |
| [`fqdn`](#parameter-privateendpointscustomdnsconfigsfqdn) | No | string | Required. Fqdn that resolves to private endpoint ip address. |
| [`ipAddresses`](#parameter-privateendpointscustomdnsconfigsipaddresses) | Yes | array | Required. A list of private ip addresses of the private endpoint. |

### Parameter: `privateEndpoints.customDnsConfigs.fqdn`

Required. Fqdn that resolves to private endpoint ip address.

- Required: No
- Type: string

### Parameter: `privateEndpoints.customDnsConfigs.ipAddresses`

Required. A list of private ip addresses of the private endpoint.

- Required: Yes
- Type: array

Expand Down Expand Up @@ -983,26 +989,22 @@ Optional. A list of IP configurations of the private endpoint. This will be used

| Name | Required | Type | Description |
| :-- | :-- | :--| :-- |
| [`groupId`](#parameter-privateendpointsipconfigurationsgroupid) | Yes | string | |
| [`memberName`](#parameter-privateendpointsipconfigurationsmembername) | Yes | string | |
| [`name`](#parameter-privateendpointsipconfigurationsname) | Yes | string | |
| [`privateIpAddress`](#parameter-privateendpointsipconfigurationsprivateipaddress) | Yes | string | |
| [`name`](#parameter-privateendpointsipconfigurationsname) | Yes | string | Required. The name of the resource that is unique within a resource group. |
| [`properties`](#parameter-privateendpointsipconfigurationsproperties) | Yes | object | Required. Properties of private endpoint IP configurations. |

### Parameter: `privateEndpoints.ipConfigurations.groupId`
- Required: Yes
- Type: string
### Parameter: `privateEndpoints.ipConfigurations.name`

### Parameter: `privateEndpoints.ipConfigurations.memberName`
- Required: Yes
- Type: string
Required. The name of the resource that is unique within a resource group.

### Parameter: `privateEndpoints.ipConfigurations.name`
- Required: Yes
- Type: string

### Parameter: `privateEndpoints.ipConfigurations.privateIpAddress`
### Parameter: `privateEndpoints.ipConfigurations.properties`

Required. Properties of private endpoint IP configurations.

- Required: Yes
- Type: string
- Type: object


### Parameter: `privateEndpoints.location`
Expand Down
19 changes: 16 additions & 3 deletions modules/automation/automation-account/main.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -455,16 +455,29 @@ type privateEndpointType = {

@description('Optional. Custom DNS configurations.')
customDnsConfigs: {
@description('Required. Fqdn that resolves to private endpoint ip address.')
fqdn: string?

@description('Required. A list of private ip addresses of the private endpoint.')
ipAddresses: string[]
}[]?

@description('Optional. A list of IP configurations of the private endpoint. This will be used to map to the First Party Service endpoints.')
ipConfigurations: {
@description('Required. The name of the resource that is unique within a resource group.')
name: string
groupId: string
memberName: string
privateIpAddress: string

@description('Required. Properties of private endpoint IP configurations.')
properties: {
@description('Required. The ID of a group obtained from the remote resource that this private endpoint should connect to.')
groupId: string

@description('Required. The member name of a group obtained from the remote resource that this private endpoint should connect to.')
memberName: string

@description('Required. A private ip address obtained from the private endpoint\'s subnet.')
privateIPAddress: string
}
}[]?

@description('Optional. Application security groups in which the private endpoint IP configuration is included.')
Expand Down
Loading

0 comments on commit 227791d

Please sign in to comment.