Skip to content

Commit

Permalink
feat: avm/res/machine-learning-services/workspace Add connections (A…
Browse files Browse the repository at this point in the history
…zure#3027)

## Description

<!--
>Thank you for your contribution !
> Please include a summary of the change and which issue is fixed.
> Please also include the context.
> List any dependencies that are required for this change.

Fixes Azure#123
Fixes Azure#456
Closes Azure#123
Closes Azure#456
-->

Closes Azure#2575. Adds connections to the module.

## Pipeline Reference

<!-- Insert your Pipeline Status Badge below -->

| Pipeline |
| -------- |
|
[![avm.res.machine-learning-services.workspace](https://github.com/cecheta/bicep-registry-modules/actions/workflows/avm.res.machine-learning-services.workspace.yml/badge.svg?branch=ml-workspace-connections)](https://github.com/cecheta/bicep-registry-modules/actions/workflows/avm.res.machine-learning-services.workspace.yml)
|

## Type of Change

<!-- Use the checkboxes [x] on the options that are relevant. -->

- [ ] Update to CI Environment or utilities (Non-module affecting
changes)
- [x] Azure Verified Module updates:
- [ ] Bugfix containing backwards-compatible bug fixes, and I have NOT
bumped the MAJOR or MINOR version in `version.json`:
- [ ] Someone has opened a bug report issue, and I have included "Closes
#{bug_report_issue_number}" in the PR description.
- [ ] The bug was found by the module author, and no one has opened an
issue to report it yet.
- [x] Feature update backwards compatible feature updates, and I have
bumped the MINOR version in `version.json`.
- [ ] Breaking changes and I have bumped the MAJOR version in
`version.json`.
  - [ ] Update to documentation

## Checklist

- [x] I'm sure there are no other open Pull Requests for the same
update/change
- [x] I have run `Set-AVMModule` locally to generate the supporting
module files.
- [ ] My corresponding pipelines / checks run clean and green without
any errors or warnings

<!-- Please keep up to date with the contribution guide at
https://aka.ms/avm/contribute/bicep -->
  • Loading branch information
cecheta authored Aug 14, 2024
1 parent 2fd6702 commit db3e33b
Show file tree
Hide file tree
Showing 10 changed files with 3,587 additions and 316 deletions.
282 changes: 282 additions & 0 deletions avm/res/machine-learning-services/workspace/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ This module deploys a Machine Learning Services Workspace.
| `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) |
| `Microsoft.MachineLearningServices/workspaces` | [2024-04-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.MachineLearningServices/2024-04-01-preview/workspaces) |
| `Microsoft.MachineLearningServices/workspaces/computes` | [2022-10-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.MachineLearningServices/2022-10-01/workspaces/computes) |
| `Microsoft.MachineLearningServices/workspaces/connections` | [2024-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.MachineLearningServices/2024-04-01/workspaces/connections) |
| `Microsoft.Network/privateEndpoints` | [2023-11-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-11-01/privateEndpoints) |
| `Microsoft.Network/privateEndpoints/privateDnsZoneGroups` | [2023-11-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-11-01/privateEndpoints/privateDnsZoneGroups) |

Expand Down Expand Up @@ -59,6 +60,26 @@ module workspace 'br/public:avm/res/machine-learning-services/workspace:<version
associatedApplicationInsightsResourceId: '<associatedApplicationInsightsResourceId>'
associatedKeyVaultResourceId: '<associatedKeyVaultResourceId>'
associatedStorageAccountResourceId: '<associatedStorageAccountResourceId>'
connections: [
{
category: 'AIServices'
connectionProperties: {
authType: 'ApiKey'
credentials: {
key: 'key'
}
}
metadata: {
ApiType: 'Azure'
ApiVersion: '2023-07-01-preview'
DeploymentApiVersion: '2023-10-01-preview'
Location: '<Location>'
ResourceId: '<ResourceId>'
}
name: 'ai'
target: '<target>'
}
]
kind: 'Hub'
location: '<location>'
workspaceHubConfig: {
Expand Down Expand Up @@ -98,6 +119,28 @@ module workspace 'br/public:avm/res/machine-learning-services/workspace:<version
"associatedStorageAccountResourceId": {
"value": "<associatedStorageAccountResourceId>"
},
"connections": {
"value": [
{
"category": "AIServices",
"connectionProperties": {
"authType": "ApiKey",
"credentials": {
"key": "key"
}
},
"metadata": {
"ApiType": "Azure",
"ApiVersion": "2023-07-01-preview",
"DeploymentApiVersion": "2023-10-01-preview",
"Location": "<Location>",
"ResourceId": "<ResourceId>"
},
"name": "ai",
"target": "<target>"
}
]
},
"kind": {
"value": "Hub"
},
Expand Down Expand Up @@ -433,6 +476,19 @@ module workspace 'br/public:avm/res/machine-learning-services/workspace:<version
sku: 'Basic'
}
]
connections: [
{
category: 'ApiKey'
connectionProperties: {
authType: 'ApiKey'
credentials: {
key: 'key'
}
}
name: 'connection'
target: 'https://example.com'
}
]
description: 'The cake is a lie.'
diagnosticSettings: [
{
Expand Down Expand Up @@ -591,6 +647,21 @@ module workspace 'br/public:avm/res/machine-learning-services/workspace:<version
}
]
},
"connections": {
"value": [
{
"category": "ApiKey",
"connectionProperties": {
"authType": "ApiKey",
"credentials": {
"key": "key"
}
},
"name": "connection",
"target": "https://example.com"
}
]
},
"description": {
"value": "The cake is a lie."
},
Expand Down Expand Up @@ -940,6 +1011,7 @@ module workspace 'br/public:avm/res/machine-learning-services/workspace:<version
| :-- | :-- | :-- |
| [`associatedContainerRegistryResourceId`](#parameter-associatedcontainerregistryresourceid) | string | The resource ID of the associated Container Registry. |
| [`computes`](#parameter-computes) | array | Computes to create respectively attach to the workspace. |
| [`connections`](#parameter-connections) | array | Connections to create in the workspace. |
| [`customerManagedKey`](#parameter-customermanagedkey) | object | The customer managed key definition. |
| [`description`](#parameter-description) | string | The description of this workspace. |
| [`diagnosticSettings`](#parameter-diagnosticsettings) | array | The diagnostic settings of the service. |
Expand Down Expand Up @@ -1083,6 +1155,216 @@ Computes to create respectively attach to the workspace.
- Required: No
- Type: array

### Parameter: `connections`

Connections to create in the workspace.

- Required: No
- Type: array
- Default: `[]`

**Required parameters**

| Parameter | Type | Description |
| :-- | :-- | :-- |
| [`category`](#parameter-connectionscategory) | string | Category of the connection. |
| [`connectionProperties`](#parameter-connectionsconnectionproperties) | secureObject | The properties of the connection, specific to the auth type. |
| [`name`](#parameter-connectionsname) | string | Name of the connection to create. |
| [`target`](#parameter-connectionstarget) | string | The target of the connection. |

**Optional parameters**

| Parameter | Type | Description |
| :-- | :-- | :-- |
| [`expiryTime`](#parameter-connectionsexpirytime) | string | The expiry time of the connection. |
| [`isSharedToAll`](#parameter-connectionsissharedtoall) | bool | Indicates whether the connection is shared to all users in the workspace. |
| [`metadata`](#parameter-connectionsmetadata) | object | User metadata for the connection. |
| [`sharedUserList`](#parameter-connectionsshareduserlist) | array | The shared user list of the connection. |
| [`value`](#parameter-connectionsvalue) | string | Value details of the workspace connection. |

### Parameter: `connections.category`

Category of the connection.

- Required: Yes
- Type: string
- Allowed:
```Bicep
[
'ADLSGen2'
'AIServices'
'AmazonMws'
'AmazonRdsForOracle'
'AmazonRdsForSqlServer'
'AmazonRedshift'
'AmazonS3Compatible'
'ApiKey'
'AzureBlob'
'AzureDatabricksDeltaLake'
'AzureDataExplorer'
'AzureMariaDb'
'AzureMySqlDb'
'AzureOneLake'
'AzureOpenAI'
'AzurePostgresDb'
'AzureSqlDb'
'AzureSqlMi'
'AzureSynapseAnalytics'
'AzureTableStorage'
'BingLLMSearch'
'Cassandra'
'CognitiveSearch'
'CognitiveService'
'Concur'
'ContainerRegistry'
'CosmosDb'
'CosmosDbMongoDbApi'
'Couchbase'
'CustomKeys'
'Db2'
'Drill'
'Dynamics'
'DynamicsAx'
'DynamicsCrm'
'Eloqua'
'FileServer'
'FtpServer'
'GenericContainerRegistry'
'GenericHttp'
'GenericRest'
'Git'
'GoogleAdWords'
'GoogleBigQuery'
'GoogleCloudStorage'
'Greenplum'
'Hbase'
'Hdfs'
'Hive'
'Hubspot'
'Impala'
'Informix'
'Jira'
'Magento'
'MariaDb'
'Marketo'
'MicrosoftAccess'
'MongoDbAtlas'
'MongoDbV2'
'MySql'
'Netezza'
'ODataRest'
'Odbc'
'Office365'
'OpenAI'
'Oracle'
'OracleCloudStorage'
'OracleServiceCloud'
'PayPal'
'Phoenix'
'PostgreSql'
'Presto'
'PythonFeed'
'QuickBooks'
'Redis'
'Responsys'
'S3'
'Salesforce'
'SalesforceMarketingCloud'
'SalesforceServiceCloud'
'SapBw'
'SapCloudForCustomer'
'SapEcc'
'SapHana'
'SapOpenHub'
'SapTable'
'Serp'
'Serverless'
'ServiceNow'
'Sftp'
'SharePointOnlineList'
'Shopify'
'Snowflake'
'Spark'
'SqlServer'
'Square'
'Sybase'
'Teradata'
'Vertica'
'WebTable'
'Xero'
'Zoho'
]
```

### Parameter: `connections.connectionProperties`

The properties of the connection, specific to the auth type.

- Required: Yes
- Type: secureObject

### Parameter: `connections.name`

Name of the connection to create.

- Required: Yes
- Type: string

### Parameter: `connections.target`

The target of the connection.

- Required: Yes
- Type: string

### Parameter: `connections.expiryTime`

The expiry time of the connection.

- Required: No
- Type: string

### Parameter: `connections.isSharedToAll`

Indicates whether the connection is shared to all users in the workspace.

- Required: No
- Type: bool

### Parameter: `connections.metadata`

User metadata for the connection.

- Required: No
- Type: object

**Required parameters**

| Parameter | Type | Description |
| :-- | :-- | :-- |
| [`>Any_other_property<`](#parameter-connectionsmetadata>any_other_property<) | string | The metadata key-value pairs. |

### Parameter: `connections.metadata.>Any_other_property<`

The metadata key-value pairs.

- Required: Yes
- Type: string

### Parameter: `connections.sharedUserList`

The shared user list of the connection.

- Required: No
- Type: array

### Parameter: `connections.value`

Value details of the workspace connection.

- Required: No
- Type: string

### Parameter: `customerManagedKey`

The customer managed key definition.
Expand Down
Loading

0 comments on commit db3e33b

Please sign in to comment.