{
  "description": "Generator information:\n- Generated from: /machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2024-04-01/workspaceRP.json\n- ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
      "type": "string"
    },
    "kind": {
      "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "properties": {
        "allowPublicAccessWhenBehindVnet": {
          "description": "AllowPublicAccessWhenBehindVnet: The flag to indicate whether to allow public access when behind VNet.",
          "type": "boolean"
        },
        "applicationInsightsReference": {
          "description": "ApplicationInsightsReference: ARM id of the application insights associated with this workspace.",
          "properties": {
            "armId": {
              "description": "ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.\nThe /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level\nARMID is mutually exclusive with Group, Kind, Namespace and Name.",
              "pattern": "(?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$)",
              "type": "string"
            },
            "group": {
              "description": "Group is the Kubernetes group of the resource.",
              "type": "string"
            },
            "kind": {
              "description": "Kind is the Kubernetes kind of the resource.",
              "type": "string"
            },
            "name": {
              "description": "Name is the Kubernetes name of the resource.",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "associatedWorkspaces": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "azureName": {
          "description": "AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it\ndoesn't have to be.",
          "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$",
          "type": "string"
        },
        "containerRegistryReference": {
          "description": "ContainerRegistryReference: ARM id of the container registry associated with this workspace.",
          "properties": {
            "armId": {
              "description": "ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.\nThe /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level\nARMID is mutually exclusive with Group, Kind, Namespace and Name.",
              "pattern": "(?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$)",
              "type": "string"
            },
            "group": {
              "description": "Group is the Kubernetes group of the resource.",
              "type": "string"
            },
            "kind": {
              "description": "Kind is the Kubernetes kind of the resource.",
              "type": "string"
            },
            "name": {
              "description": "Name is the Kubernetes name of the resource.",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "description": {
          "description": "Description: The description of this workspace.",
          "type": "string"
        },
        "discoveryUrl": {
          "description": "DiscoveryUrl: Url for the discovery service to identify regional endpoints for machine learning experimentation services",
          "type": "string"
        },
        "enableDataIsolation": {
          "type": "boolean"
        },
        "encryption": {
          "description": "Encryption: The encryption settings of Azure ML workspace.",
          "properties": {
            "identity": {
              "description": "Identity: The identity that will be used to access the key vault for encryption at rest.",
              "properties": {
                "userAssignedIdentityReference": {
                  "description": "UserAssignedIdentityReference: The ArmId of the user assigned identity that will be used to access the customer managed\nkey vault",
                  "properties": {
                    "armId": {
                      "description": "ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.\nThe /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level\nARMID is mutually exclusive with Group, Kind, Namespace and Name.",
                      "pattern": "(?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$)",
                      "type": "string"
                    },
                    "group": {
                      "description": "Group is the Kubernetes group of the resource.",
                      "type": "string"
                    },
                    "kind": {
                      "description": "Kind is the Kubernetes kind of the resource.",
                      "type": "string"
                    },
                    "name": {
                      "description": "Name is the Kubernetes name of the resource.",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "keyVaultProperties": {
              "description": "KeyVaultProperties: Customer Key vault properties.",
              "properties": {
                "identityClientId": {
                  "description": "IdentityClientId: For future use - The client id of the identity which will be used to access key vault.",
                  "type": "string"
                },
                "identityClientIdFromConfig": {
                  "description": "IdentityClientIdFromConfig: For future use - The client id of the identity which will be used to access key vault.",
                  "properties": {
                    "key": {
                      "description": "Key is the key in the Kubernetes configmap being referenced",
                      "type": "string"
                    },
                    "name": {
                      "description": "Name is the name of the Kubernetes configmap being referenced.\nThe configmap must be in the same namespace as the resource",
                      "type": "string"
                    }
                  },
                  "required": [
                    "key",
                    "name"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "keyIdentifier": {
                  "description": "KeyIdentifier: Key vault uri to access the encryption key.",
                  "type": "string"
                },
                "keyVaultArmReference": {
                  "description": "KeyVaultArmReference: The ArmId of the keyVault where the customer owned encryption key is present.",
                  "properties": {
                    "armId": {
                      "description": "ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.\nThe /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level\nARMID is mutually exclusive with Group, Kind, Namespace and Name.",
                      "pattern": "(?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$)",
                      "type": "string"
                    },
                    "group": {
                      "description": "Group is the Kubernetes group of the resource.",
                      "type": "string"
                    },
                    "kind": {
                      "description": "Kind is the Kubernetes kind of the resource.",
                      "type": "string"
                    },
                    "name": {
                      "description": "Name is the Kubernetes name of the resource.",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "required": [
                "keyIdentifier",
                "keyVaultArmReference"
              ],
              "type": "object",
              "additionalProperties": false
            }
          },
          "required": [
            "keyVaultProperties"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "featureStoreSettings": {
          "description": "FeatureStoreSettings: Settings for feature store type workspace.",
          "properties": {
            "computeRuntime": {
              "description": "ComputeRuntime: Compute runtime config for feature store type workspace.",
              "properties": {
                "sparkRuntimeVersion": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "offlineStoreConnectionName": {
              "type": "string"
            },
            "onlineStoreConnectionName": {
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "friendlyName": {
          "description": "FriendlyName: The friendly name for this workspace. This name in mutable",
          "type": "string"
        },
        "hbiWorkspace": {
          "description": "HbiWorkspace: The flag to signal HBI data in the workspace and reduce diagnostic data collected by the service",
          "type": "boolean"
        },
        "hubResourceReference": {
          "description": "ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID",
          "properties": {
            "armId": {
              "description": "ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.\nThe /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level\nARMID is mutually exclusive with Group, Kind, Namespace and Name.",
              "pattern": "(?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$)",
              "type": "string"
            },
            "group": {
              "description": "Group is the Kubernetes group of the resource.",
              "type": "string"
            },
            "kind": {
              "description": "Kind is the Kubernetes kind of the resource.",
              "type": "string"
            },
            "name": {
              "description": "Name is the Kubernetes name of the resource.",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "identity": {
          "description": "Identity: The identity of the resource.",
          "properties": {
            "type": {
              "description": "Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).",
              "enum": [
                "None",
                "SystemAssigned",
                "SystemAssigned,UserAssigned",
                "UserAssigned"
              ],
              "type": "string"
            },
            "userAssignedIdentities": {
              "items": {
                "description": "Information about the user assigned identity for the resource",
                "properties": {
                  "reference": {
                    "description": "ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID",
                    "properties": {
                      "armId": {
                        "description": "ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.\nThe /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level\nARMID is mutually exclusive with Group, Kind, Namespace and Name.",
                        "pattern": "(?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$)",
                        "type": "string"
                      },
                      "group": {
                        "description": "Group is the Kubernetes group of the resource.",
                        "type": "string"
                      },
                      "kind": {
                        "description": "Kind is the Kubernetes kind of the resource.",
                        "type": "string"
                      },
                      "name": {
                        "description": "Name is the Kubernetes name of the resource.",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            }
          },
          "required": [
            "type"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "imageBuildCompute": {
          "description": "ImageBuildCompute: The compute name for image build",
          "type": "string"
        },
        "keyVaultReference": {
          "description": "KeyVaultReference: ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has\nbeen created",
          "properties": {
            "armId": {
              "description": "ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.\nThe /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level\nARMID is mutually exclusive with Group, Kind, Namespace and Name.",
              "pattern": "(?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$)",
              "type": "string"
            },
            "group": {
              "description": "Group is the Kubernetes group of the resource.",
              "type": "string"
            },
            "kind": {
              "description": "Kind is the Kubernetes kind of the resource.",
              "type": "string"
            },
            "name": {
              "description": "Name is the Kubernetes name of the resource.",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "kind": {
          "type": "string"
        },
        "location": {
          "description": "Location: Specifies the location of the resource.",
          "type": "string"
        },
        "managedNetwork": {
          "description": "ManagedNetwork: Managed Network settings for a machine learning workspace.",
          "properties": {
            "isolationMode": {
              "description": "IsolationMode: Isolation mode for the managed network of a machine learning workspace.",
              "enum": [
                "AllowInternetOutbound",
                "AllowOnlyApprovedOutbound",
                "Disabled"
              ],
              "type": "string"
            },
            "outboundRules": {
              "additionalProperties": {
                "properties": {
                  "fqdn": {
                    "description": "FQDN: Mutually exclusive with all other properties",
                    "properties": {
                      "category": {
                        "description": "Category: Category of a managed network Outbound Rule of a machine learning workspace.",
                        "enum": [
                          "Dependency",
                          "Recommended",
                          "Required",
                          "UserDefined"
                        ],
                        "type": "string"
                      },
                      "destination": {
                        "type": "string"
                      },
                      "status": {
                        "description": "Status: Type of a managed network Outbound Rule of a machine learning workspace.",
                        "enum": [
                          "Active",
                          "Inactive"
                        ],
                        "type": "string"
                      },
                      "type": {
                        "enum": [
                          "FQDN"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "type"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "privateEndpoint": {
                    "description": "PrivateEndpoint: Mutually exclusive with all other properties",
                    "properties": {
                      "category": {
                        "description": "Category: Category of a managed network Outbound Rule of a machine learning workspace.",
                        "enum": [
                          "Dependency",
                          "Recommended",
                          "Required",
                          "UserDefined"
                        ],
                        "type": "string"
                      },
                      "destination": {
                        "description": "Destination: Private Endpoint destination for a Private Endpoint Outbound Rule for the managed network of a machine\nlearning  workspace.",
                        "properties": {
                          "serviceResourceReference": {
                            "description": "ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID",
                            "properties": {
                              "armId": {
                                "description": "ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.\nThe /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level\nARMID is mutually exclusive with Group, Kind, Namespace and Name.",
                                "pattern": "(?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$)",
                                "type": "string"
                              },
                              "group": {
                                "description": "Group is the Kubernetes group of the resource.",
                                "type": "string"
                              },
                              "kind": {
                                "description": "Kind is the Kubernetes kind of the resource.",
                                "type": "string"
                              },
                              "name": {
                                "description": "Name is the Kubernetes name of the resource.",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "sparkEnabled": {
                            "type": "boolean"
                          },
                          "sparkStatus": {
                            "description": "SparkStatus: Type of a managed network Outbound Rule of a machine learning workspace.",
                            "enum": [
                              "Active",
                              "Inactive"
                            ],
                            "type": "string"
                          },
                          "subresourceTargetReference": {
                            "description": "ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID",
                            "properties": {
                              "armId": {
                                "description": "ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.\nThe /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level\nARMID is mutually exclusive with Group, Kind, Namespace and Name.",
                                "pattern": "(?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$)",
                                "type": "string"
                              },
                              "group": {
                                "description": "Group is the Kubernetes group of the resource.",
                                "type": "string"
                              },
                              "kind": {
                                "description": "Kind is the Kubernetes kind of the resource.",
                                "type": "string"
                              },
                              "name": {
                                "description": "Name is the Kubernetes name of the resource.",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "status": {
                        "description": "Status: Type of a managed network Outbound Rule of a machine learning workspace.",
                        "enum": [
                          "Active",
                          "Inactive"
                        ],
                        "type": "string"
                      },
                      "type": {
                        "enum": [
                          "PrivateEndpoint"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "type"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  },
                  "serviceTag": {
                    "description": "ServiceTag: Mutually exclusive with all other properties",
                    "properties": {
                      "category": {
                        "description": "Category: Category of a managed network Outbound Rule of a machine learning workspace.",
                        "enum": [
                          "Dependency",
                          "Recommended",
                          "Required",
                          "UserDefined"
                        ],
                        "type": "string"
                      },
                      "destination": {
                        "description": "Destination: Service Tag destination for a Service Tag Outbound Rule for the managed network of a machine learning\nworkspace.",
                        "properties": {
                          "action": {
                            "description": "Action: The action enum for networking rule.",
                            "enum": [
                              "Allow",
                              "Deny"
                            ],
                            "type": "string"
                          },
                          "portRanges": {
                            "type": "string"
                          },
                          "protocol": {
                            "type": "string"
                          },
                          "serviceTag": {
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "status": {
                        "description": "Status: Type of a managed network Outbound Rule of a machine learning workspace.",
                        "enum": [
                          "Active",
                          "Inactive"
                        ],
                        "type": "string"
                      },
                      "type": {
                        "enum": [
                          "ServiceTag"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "type"
                    ],
                    "type": "object",
                    "additionalProperties": false
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "type": "object"
            },
            "status": {
              "description": "Status: Status of the Provisioning for the managed network of a machine learning workspace.",
              "properties": {
                "sparkReady": {
                  "type": "boolean"
                },
                "status": {
                  "description": "Status: Status for the managed network of a machine learning workspace.",
                  "enum": [
                    "Active",
                    "Inactive"
                  ],
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "operatorSpec": {
          "description": "OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not\npassed directly to Azure",
          "properties": {
            "configMapExpressions": {
              "description": "ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).",
              "items": {
                "description": "DestinationExpression is a CEL expression and a destination to store the result in. The destination may\nbe a secret or a configmap. The value of the expression is stored at the specified location in\nthe destination.",
                "properties": {
                  "key": {
                    "description": "Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string\nthis is required to identify what key to write to. If the CEL expression in Value returns a map[string]string\nKey must not be set, instead the keys written will be determined dynamically based on the keys of the resulting\nmap[string]string.",
                    "type": "string"
                  },
                  "name": {
                    "description": "Name is the name of the Kubernetes configmap or secret to write to.\nThe configmap or secret will be created in the same namespace as the resource.",
                    "type": "string"
                  },
                  "value": {
                    "description": "Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information\non CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            },
            "secretExpressions": {
              "description": "SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).",
              "items": {
                "description": "DestinationExpression is a CEL expression and a destination to store the result in. The destination may\nbe a secret or a configmap. The value of the expression is stored at the specified location in\nthe destination.",
                "properties": {
                  "key": {
                    "description": "Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string\nthis is required to identify what key to write to. If the CEL expression in Value returns a map[string]string\nKey must not be set, instead the keys written will be determined dynamically based on the keys of the resulting\nmap[string]string.",
                    "type": "string"
                  },
                  "name": {
                    "description": "Name is the name of the Kubernetes configmap or secret to write to.\nThe configmap or secret will be created in the same namespace as the resource.",
                    "type": "string"
                  },
                  "value": {
                    "description": "Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information\non CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            },
            "secrets": {
              "description": "Secrets: configures where to place Azure generated secrets.",
              "properties": {
                "appInsightsInstrumentationKey": {
                  "description": "AppInsightsInstrumentationKey: indicates where the AppInsightsInstrumentationKey secret should be placed. If omitted,\nthe secret will not be retrieved from Azure.",
                  "properties": {
                    "key": {
                      "description": "Key is the key in the Kubernetes secret being referenced.",
                      "type": "string"
                    },
                    "name": {
                      "description": "Name is the name of the Kubernetes secret to write to.\nThe secret will be created in the same namespace as the resource.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "key",
                    "name"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "containerRegistryPassword": {
                  "description": "ContainerRegistryPassword: indicates where the ContainerRegistryPassword secret should be placed. If omitted, the secret\nwill not be retrieved from Azure.",
                  "properties": {
                    "key": {
                      "description": "Key is the key in the Kubernetes secret being referenced.",
                      "type": "string"
                    },
                    "name": {
                      "description": "Name is the name of the Kubernetes secret to write to.\nThe secret will be created in the same namespace as the resource.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "key",
                    "name"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "containerRegistryPassword2": {
                  "description": "ContainerRegistryPassword2: indicates where the ContainerRegistryPassword2 secret should be placed. If omitted, the\nsecret will not be retrieved from Azure.",
                  "properties": {
                    "key": {
                      "description": "Key is the key in the Kubernetes secret being referenced.",
                      "type": "string"
                    },
                    "name": {
                      "description": "Name is the name of the Kubernetes secret to write to.\nThe secret will be created in the same namespace as the resource.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "key",
                    "name"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "containerRegistryUserName": {
                  "description": "ContainerRegistryUserName: indicates where the ContainerRegistryUserName secret should be placed. If omitted, the secret\nwill not be retrieved from Azure.",
                  "properties": {
                    "key": {
                      "description": "Key is the key in the Kubernetes secret being referenced.",
                      "type": "string"
                    },
                    "name": {
                      "description": "Name is the name of the Kubernetes secret to write to.\nThe secret will be created in the same namespace as the resource.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "key",
                    "name"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "primaryNotebookAccessKey": {
                  "description": "PrimaryNotebookAccessKey: indicates where the PrimaryNotebookAccessKey secret should be placed. If omitted, the secret\nwill not be retrieved from Azure.",
                  "properties": {
                    "key": {
                      "description": "Key is the key in the Kubernetes secret being referenced.",
                      "type": "string"
                    },
                    "name": {
                      "description": "Name is the name of the Kubernetes secret to write to.\nThe secret will be created in the same namespace as the resource.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "key",
                    "name"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "secondaryNotebookAccessKey": {
                  "description": "SecondaryNotebookAccessKey: indicates where the SecondaryNotebookAccessKey secret should be placed. If omitted, the\nsecret will not be retrieved from Azure.",
                  "properties": {
                    "key": {
                      "description": "Key is the key in the Kubernetes secret being referenced.",
                      "type": "string"
                    },
                    "name": {
                      "description": "Name is the name of the Kubernetes secret to write to.\nThe secret will be created in the same namespace as the resource.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "key",
                    "name"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "userStorageKey": {
                  "description": "UserStorageKey: indicates where the UserStorageKey secret should be placed. If omitted, the secret will not be retrieved\nfrom Azure.",
                  "properties": {
                    "key": {
                      "description": "Key is the key in the Kubernetes secret being referenced.",
                      "type": "string"
                    },
                    "name": {
                      "description": "Name is the name of the Kubernetes secret to write to.\nThe secret will be created in the same namespace as the resource.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "key",
                    "name"
                  ],
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "owner": {
          "description": "Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also\ncontrols the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a\nreference to a resources.azure.com/ResourceGroup resource",
          "properties": {
            "armId": {
              "pattern": "(?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$)",
              "type": "string"
            },
            "name": {
              "description": "This is the name of the Kubernetes resource to reference.",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "primaryUserAssignedIdentityReference": {
          "description": "PrimaryUserAssignedIdentityReference: The user assigned identity resource id that represents the workspace identity.",
          "properties": {
            "armId": {
              "description": "ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.\nThe /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level\nARMID is mutually exclusive with Group, Kind, Namespace and Name.",
              "pattern": "(?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$)",
              "type": "string"
            },
            "group": {
              "description": "Group is the Kubernetes group of the resource.",
              "type": "string"
            },
            "kind": {
              "description": "Kind is the Kubernetes kind of the resource.",
              "type": "string"
            },
            "name": {
              "description": "Name is the Kubernetes name of the resource.",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "publicNetworkAccess": {
          "description": "PublicNetworkAccess: Whether requests from Public Network are allowed.",
          "enum": [
            "Disabled",
            "Enabled"
          ],
          "type": "string"
        },
        "serverlessComputeSettings": {
          "description": "ServerlessComputeSettings: Settings for serverless compute created in the workspace",
          "properties": {
            "serverlessComputeCustomSubnetReference": {
              "description": "ServerlessComputeCustomSubnetReference: The resource ID of an existing virtual network subnet in which serverless\ncompute nodes should be deployed",
              "properties": {
                "armId": {
                  "description": "ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.\nThe /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level\nARMID is mutually exclusive with Group, Kind, Namespace and Name.",
                  "pattern": "(?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$)",
                  "type": "string"
                },
                "group": {
                  "description": "Group is the Kubernetes group of the resource.",
                  "type": "string"
                },
                "kind": {
                  "description": "Kind is the Kubernetes kind of the resource.",
                  "type": "string"
                },
                "name": {
                  "description": "Name is the Kubernetes name of the resource.",
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "serverlessComputeNoPublicIP": {
              "description": "ServerlessComputeNoPublicIP: The flag to signal if serverless compute nodes deployed in custom vNet would have no public\nIP addresses for a workspace with private endpoint",
              "type": "boolean"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "serviceManagedResourcesSettings": {
          "description": "ServiceManagedResourcesSettings: The service managed resource settings.",
          "properties": {
            "cosmosDb": {
              "description": "CosmosDb: The settings for the service managed cosmosdb account.",
              "properties": {
                "collectionsThroughput": {
                  "description": "CollectionsThroughput: The throughput of the collections in cosmosdb database",
                  "type": "integer"
                }
              },
              "type": "object",
              "additionalProperties": false
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "sharedPrivateLinkResources": {
          "description": "SharedPrivateLinkResources: The list of shared private link resources in this workspace.",
          "items": {
            "properties": {
              "groupId": {
                "description": "GroupId: The private link resource group id.",
                "type": "string"
              },
              "name": {
                "description": "Name: Unique name of the private link.",
                "type": "string"
              },
              "privateLinkResourceReference": {
                "description": "PrivateLinkResourceReference: The resource id that private link links to.",
                "properties": {
                  "armId": {
                    "description": "ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.\nThe /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level\nARMID is mutually exclusive with Group, Kind, Namespace and Name.",
                    "pattern": "(?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$)",
                    "type": "string"
                  },
                  "group": {
                    "description": "Group is the Kubernetes group of the resource.",
                    "type": "string"
                  },
                  "kind": {
                    "description": "Kind is the Kubernetes kind of the resource.",
                    "type": "string"
                  },
                  "name": {
                    "description": "Name is the Kubernetes name of the resource.",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "requestMessage": {
                "description": "RequestMessage: Request message.",
                "type": "string"
              },
              "status": {
                "description": "Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.",
                "enum": [
                  "Approved",
                  "Disconnected",
                  "Pending",
                  "Rejected",
                  "Timeout"
                ],
                "type": "string"
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "sku": {
          "description": "Sku: The sku of the workspace.",
          "properties": {
            "capacity": {
              "description": "Capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible\nfor the resource this may be omitted.",
              "type": "integer"
            },
            "family": {
              "description": "Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.",
              "type": "string"
            },
            "name": {
              "description": "Name: The name of the SKU. Ex - P3. It is typically a letter+number code",
              "type": "string"
            },
            "size": {
              "description": "Size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone\ncode.",
              "type": "string"
            },
            "tier": {
              "description": "Tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is\nnot  required on a PUT.",
              "enum": [
                "Basic",
                "Free",
                "Premium",
                "Standard"
              ],
              "type": "string"
            }
          },
          "required": [
            "name"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "storageAccountReference": {
          "description": "StorageAccountReference: ARM id of the storage account associated with this workspace. This cannot be changed once the\nworkspace has been created",
          "properties": {
            "armId": {
              "description": "ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.\nThe /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level\nARMID is mutually exclusive with Group, Kind, Namespace and Name.",
              "pattern": "(?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$)",
              "type": "string"
            },
            "group": {
              "description": "Group is the Kubernetes group of the resource.",
              "type": "string"
            },
            "kind": {
              "description": "Kind is the Kubernetes kind of the resource.",
              "type": "string"
            },
            "name": {
              "description": "Name is the Kubernetes name of the resource.",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Tags: Contains resource tags defined as key/value pairs.",
          "type": "object"
        },
        "v1LegacyMode": {
          "description": "V1LegacyMode: Enabling v1_legacy_mode may prevent you from using features provided by the v2 API.",
          "type": "boolean"
        },
        "workspaceHubConfig": {
          "description": "WorkspaceHubConfig: WorkspaceHub's configuration object.",
          "properties": {
            "additionalWorkspaceStorageAccounts": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "defaultWorkspaceResourceGroup": {
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        }
      },
      "required": [
        "owner"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "description": "An object that represents a machine learning workspace.",
      "properties": {
        "allowPublicAccessWhenBehindVnet": {
          "description": "AllowPublicAccessWhenBehindVnet: The flag to indicate whether to allow public access when behind VNet.",
          "type": "boolean"
        },
        "applicationInsights": {
          "description": "ApplicationInsights: ARM id of the application insights associated with this workspace.",
          "type": "string"
        },
        "associatedWorkspaces": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "conditions": {
          "description": "Conditions: The observed state of the resource",
          "items": {
            "description": "Condition defines an extension to status (an observation) of a resource",
            "properties": {
              "lastTransitionTime": {
                "description": "LastTransitionTime is the last time the condition transitioned from one status to another.",
                "format": "date-time",
                "type": "string"
              },
              "message": {
                "description": "Message is a human readable message indicating details about the transition. This field may be empty.",
                "type": "string"
              },
              "observedGeneration": {
                "description": "ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if\n.metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.",
                "format": "int64",
                "type": "integer"
              },
              "reason": {
                "description": "Reason for the condition's last transition.\nReasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty.",
                "type": "string"
              },
              "severity": {
                "description": "Severity with which to treat failures of this type of condition.\nFor conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True\nFor conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False.\nThis is omitted in all cases when Status == Unknown",
                "type": "string"
              },
              "status": {
                "description": "Status of the condition, one of True, False, or Unknown.",
                "type": "string"
              },
              "type": {
                "description": "Type of condition.",
                "type": "string"
              }
            },
            "required": [
              "lastTransitionTime",
              "reason",
              "status",
              "type"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "containerRegistry": {
          "description": "ContainerRegistry: ARM id of the container registry associated with this workspace.",
          "type": "string"
        },
        "description": {
          "description": "Description: The description of this workspace.",
          "type": "string"
        },
        "discoveryUrl": {
          "description": "DiscoveryUrl: Url for the discovery service to identify regional endpoints for machine learning experimentation services",
          "type": "string"
        },
        "enableDataIsolation": {
          "type": "boolean"
        },
        "encryption": {
          "description": "Encryption: The encryption settings of Azure ML workspace.",
          "properties": {
            "identity": {
              "description": "Identity: The identity that will be used to access the key vault for encryption at rest.",
              "properties": {
                "userAssignedIdentity": {
                  "description": "UserAssignedIdentity: The ArmId of the user assigned identity that will be used to access the customer managed key vault",
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "keyVaultProperties": {
              "description": "KeyVaultProperties: Customer Key vault properties.",
              "properties": {
                "identityClientId": {
                  "description": "IdentityClientId: For future use - The client id of the identity which will be used to access key vault.",
                  "type": "string"
                },
                "keyIdentifier": {
                  "description": "KeyIdentifier: Key vault uri to access the encryption key.",
                  "type": "string"
                },
                "keyVaultArmId": {
                  "description": "KeyVaultArmId: The ArmId of the keyVault where the customer owned encryption key is present.",
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "status": {
              "description": "Status: Indicates whether or not the encryption is enabled for the workspace.",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "featureStoreSettings": {
          "description": "FeatureStoreSettings: Settings for feature store type workspace.",
          "properties": {
            "computeRuntime": {
              "description": "ComputeRuntime: Compute runtime config for feature store type workspace.",
              "properties": {
                "sparkRuntimeVersion": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "offlineStoreConnectionName": {
              "type": "string"
            },
            "onlineStoreConnectionName": {
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "friendlyName": {
          "description": "FriendlyName: The friendly name for this workspace. This name in mutable",
          "type": "string"
        },
        "hbiWorkspace": {
          "description": "HbiWorkspace: The flag to signal HBI data in the workspace and reduce diagnostic data collected by the service",
          "type": "boolean"
        },
        "hubResourceId": {
          "type": "string"
        },
        "id": {
          "description": "Id: Fully qualified resource ID for the resource. Ex -\n/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}",
          "type": "string"
        },
        "identity": {
          "description": "Identity: The identity of the resource.",
          "properties": {
            "principalId": {
              "description": "PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system\nassigned identity.",
              "type": "string"
            },
            "tenantId": {
              "description": "TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned\nidentity.",
              "type": "string"
            },
            "type": {
              "description": "Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).",
              "type": "string"
            },
            "userAssignedIdentities": {
              "additionalProperties": {
                "description": "User assigned identity properties",
                "properties": {
                  "clientId": {
                    "description": "ClientId: The client ID of the assigned identity.",
                    "type": "string"
                  },
                  "principalId": {
                    "description": "PrincipalId: The principal ID of the assigned identity.",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "type": "object"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "imageBuildCompute": {
          "description": "ImageBuildCompute: The compute name for image build",
          "type": "string"
        },
        "keyVault": {
          "description": "KeyVault: ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has been\ncreated",
          "type": "string"
        },
        "kind": {
          "type": "string"
        },
        "location": {
          "description": "Location: Specifies the location of the resource.",
          "type": "string"
        },
        "managedNetwork": {
          "description": "ManagedNetwork: Managed Network settings for a machine learning workspace.",
          "properties": {
            "isolationMode": {
              "description": "IsolationMode: Isolation mode for the managed network of a machine learning workspace.",
              "type": "string"
            },
            "networkId": {
              "type": "string"
            },
            "outboundRules": {
              "additionalProperties": {
                "properties": {
                  "fqdn": {
                    "description": "FQDN: Mutually exclusive with all other properties",
                    "properties": {
                      "category": {
                        "description": "Category: Category of a managed network Outbound Rule of a machine learning workspace.",
                        "type": "string"
                      },
                      "destination": {
                        "type": "string"
                      },
                      "status": {
                        "description": "Status: Type of a managed network Outbound Rule of a machine learning workspace.",
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "privateEndpoint": {
                    "description": "PrivateEndpoint: Mutually exclusive with all other properties",
                    "properties": {
                      "category": {
                        "description": "Category: Category of a managed network Outbound Rule of a machine learning workspace.",
                        "type": "string"
                      },
                      "destination": {
                        "description": "Destination: Private Endpoint destination for a Private Endpoint Outbound Rule for the managed network of a machine\nlearning  workspace.",
                        "properties": {
                          "serviceResourceId": {
                            "type": "string"
                          },
                          "sparkEnabled": {
                            "type": "boolean"
                          },
                          "sparkStatus": {
                            "description": "SparkStatus: Type of a managed network Outbound Rule of a machine learning workspace.",
                            "type": "string"
                          },
                          "subresourceTarget": {
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "status": {
                        "description": "Status: Type of a managed network Outbound Rule of a machine learning workspace.",
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "serviceTag": {
                    "description": "ServiceTag: Mutually exclusive with all other properties",
                    "properties": {
                      "category": {
                        "description": "Category: Category of a managed network Outbound Rule of a machine learning workspace.",
                        "type": "string"
                      },
                      "destination": {
                        "description": "Destination: Service Tag destination for a Service Tag Outbound Rule for the managed network of a machine learning\nworkspace.",
                        "properties": {
                          "action": {
                            "description": "Action: The action enum for networking rule.",
                            "type": "string"
                          },
                          "addressPrefixes": {
                            "description": "AddressPrefixes: Optional, if provided, the ServiceTag property will be ignored.",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "portRanges": {
                            "type": "string"
                          },
                          "protocol": {
                            "type": "string"
                          },
                          "serviceTag": {
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "status": {
                        "description": "Status: Type of a managed network Outbound Rule of a machine learning workspace.",
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "type": "object"
            },
            "status": {
              "description": "Status: Status of the Provisioning for the managed network of a machine learning workspace.",
              "properties": {
                "sparkReady": {
                  "type": "boolean"
                },
                "status": {
                  "description": "Status: Status for the managed network of a machine learning workspace.",
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "mlFlowTrackingUri": {
          "description": "MlFlowTrackingUri: The URI associated with this workspace that machine learning flow must point at to set up tracking.",
          "type": "string"
        },
        "name": {
          "description": "Name: The name of the resource",
          "type": "string"
        },
        "notebookInfo": {
          "description": "NotebookInfo: The notebook info of Azure ML workspace.",
          "properties": {
            "fqdn": {
              "type": "string"
            },
            "notebookPreparationError": {
              "description": "NotebookPreparationError: The error that occurs when preparing notebook.",
              "properties": {
                "errorMessage": {
                  "type": "string"
                },
                "statusCode": {
                  "type": "integer"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "resourceId": {
              "description": "ResourceId: the data plane resourceId that used to initialize notebook component",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "primaryUserAssignedIdentity": {
          "description": "PrimaryUserAssignedIdentity: The user assigned identity resource id that represents the workspace identity.",
          "type": "string"
        },
        "privateEndpointConnections": {
          "description": "PrivateEndpointConnections: The list of private endpoint connections in the workspace.",
          "items": {
            "description": "The Private Endpoint Connection resource.",
            "properties": {
              "id": {
                "description": "Id: Fully qualified resource ID for the resource. Ex -\n/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}",
                "type": "string"
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "privateLinkCount": {
          "description": "PrivateLinkCount: Count of private connections in the workspace",
          "type": "integer"
        },
        "provisioningState": {
          "description": "ProvisioningState: The current deployment state of workspace resource. The provisioningState is to indicate states for\nresource provisioning.",
          "type": "string"
        },
        "publicNetworkAccess": {
          "description": "PublicNetworkAccess: Whether requests from Public Network are allowed.",
          "type": "string"
        },
        "serverlessComputeSettings": {
          "description": "ServerlessComputeSettings: Settings for serverless compute created in the workspace",
          "properties": {
            "serverlessComputeCustomSubnet": {
              "description": "ServerlessComputeCustomSubnet: The resource ID of an existing virtual network subnet in which serverless compute nodes\nshould be deployed",
              "type": "string"
            },
            "serverlessComputeNoPublicIP": {
              "description": "ServerlessComputeNoPublicIP: The flag to signal if serverless compute nodes deployed in custom vNet would have no public\nIP addresses for a workspace with private endpoint",
              "type": "boolean"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "serviceManagedResourcesSettings": {
          "description": "ServiceManagedResourcesSettings: The service managed resource settings.",
          "properties": {
            "cosmosDb": {
              "description": "CosmosDb: The settings for the service managed cosmosdb account.",
              "properties": {
                "collectionsThroughput": {
                  "description": "CollectionsThroughput: The throughput of the collections in cosmosdb database",
                  "type": "integer"
                }
              },
              "type": "object",
              "additionalProperties": false
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "serviceProvisionedResourceGroup": {
          "description": "ServiceProvisionedResourceGroup: The name of the managed resource group created by workspace RP in customer subscription\nif the workspace is CMK workspace",
          "type": "string"
        },
        "sharedPrivateLinkResources": {
          "description": "SharedPrivateLinkResources: The list of shared private link resources in this workspace.",
          "items": {
            "properties": {
              "groupId": {
                "description": "GroupId: The private link resource group id.",
                "type": "string"
              },
              "name": {
                "description": "Name: Unique name of the private link.",
                "type": "string"
              },
              "privateLinkResourceId": {
                "description": "PrivateLinkResourceId: The resource id that private link links to.",
                "type": "string"
              },
              "requestMessage": {
                "description": "RequestMessage: Request message.",
                "type": "string"
              },
              "status": {
                "description": "Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.",
                "type": "string"
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "sku": {
          "description": "Sku: The sku of the workspace.",
          "properties": {
            "capacity": {
              "description": "Capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible\nfor the resource this may be omitted.",
              "type": "integer"
            },
            "family": {
              "description": "Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.",
              "type": "string"
            },
            "name": {
              "description": "Name: The name of the SKU. Ex - P3. It is typically a letter+number code",
              "type": "string"
            },
            "size": {
              "description": "Size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone\ncode.",
              "type": "string"
            },
            "tier": {
              "description": "Tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is\nnot  required on a PUT.",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "storageAccount": {
          "description": "StorageAccount: ARM id of the storage account associated with this workspace. This cannot be changed once the workspace\nhas been created",
          "type": "string"
        },
        "storageHnsEnabled": {
          "description": "StorageHnsEnabled: If the storage associated with the workspace has hierarchical namespace(HNS) enabled.",
          "type": "boolean"
        },
        "systemData": {
          "description": "SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.",
          "properties": {
            "createdAt": {
              "description": "CreatedAt: The timestamp of resource creation (UTC).",
              "type": "string"
            },
            "createdBy": {
              "description": "CreatedBy: The identity that created the resource.",
              "type": "string"
            },
            "createdByType": {
              "description": "CreatedByType: The type of identity that created the resource.",
              "type": "string"
            },
            "lastModifiedAt": {
              "description": "LastModifiedAt: The timestamp of resource last modification (UTC)",
              "type": "string"
            },
            "lastModifiedBy": {
              "description": "LastModifiedBy: The identity that last modified the resource.",
              "type": "string"
            },
            "lastModifiedByType": {
              "description": "LastModifiedByType: The type of identity that last modified the resource.",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Tags: Contains resource tags defined as key/value pairs.",
          "type": "object"
        },
        "tenantId": {
          "description": "TenantId: The tenant id associated with this workspace.",
          "type": "string"
        },
        "type": {
          "description": "Type: The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"",
          "type": "string"
        },
        "v1LegacyMode": {
          "description": "V1LegacyMode: Enabling v1_legacy_mode may prevent you from using features provided by the v2 API.",
          "type": "boolean"
        },
        "workspaceHubConfig": {
          "description": "WorkspaceHubConfig: WorkspaceHub's configuration object.",
          "properties": {
            "additionalWorkspaceStorageAccounts": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "defaultWorkspaceResourceGroup": {
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "workspaceId": {
          "description": "WorkspaceId: The immutable id associated with this workspace.",
          "type": "string"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
