diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/edgeMachine.tsp b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/edgeMachine.tsp index 173d430e4e5f..cb1cdcbf207f 100644 --- a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/edgeMachine.tsp +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/edgeMachine.tsp @@ -133,7 +133,7 @@ model EdgeMachineProperties { @doc("Reported properties for edge machine.") @visibility(Lifecycle.Read) - reportedProperties?: ReportedProperties; + reportedProperties?: EdgeMachineReportedProperties; @doc("operation status details for edge machine.") @visibility(Lifecycle.Read) @@ -284,49 +284,16 @@ union EdgeMachineState { Preparing: "Preparing", } -@added(Versions.v2025_12_01_preview) -@doc("The provisioning state of a resource.") -union ProvisioningState { - string, - - @doc("The resource provision state is not specified") - NotSpecified: "NotSpecified", - - @doc("Resource has been created.") - Succeeded: "Succeeded", - - @doc("Resource creation failed.") - Failed: "Failed", - - @doc("Resource creation was canceled.") - Canceled: "Canceled", - - @doc("Resource creation is in progress.") - InProgress: "InProgress", - - @doc("The resource is being provisioned") - Provisioning: "Provisioning", - - @doc("The resource is updating") - Updating: "Updating", - - @doc("The resource is being deleted") - Deleting: "Deleting", - - @doc("The resource create request has been accepted") - Accepted: "Accepted", -} - @added(Versions.v2025_12_01_preview) @doc("Reported properties for edge machine.") -model ReportedProperties { +model EdgeMachineReportedProperties { @doc("Last time data reported.") @visibility(Lifecycle.Read) lastUpdated?: utcDateTime; @doc("Network details for edge machine.") @visibility(Lifecycle.Read) - networkProfile?: NetworkProfile; + networkProfile?: EdgeMachineNetworkProfile; @doc("OS Properties for edge machine.") @visibility(Lifecycle.Read) @@ -351,11 +318,11 @@ model ReportedProperties { @added(Versions.v2025_12_01_preview) @doc("NetworkProfile of edge machine.") -model NetworkProfile { +model EdgeMachineNetworkProfile { @doc("List of Network Interface Card (NIC) Details of edge machine.") @visibility(Lifecycle.Read) @Azure.ResourceManager.identifiers(#["adapterName"]) - nicDetails?: NicDetail[]; + nicDetails?: EdgeMachineNicDetail[]; @doc("List of switch Details of edge machine.") @visibility(Lifecycle.Read) @@ -365,7 +332,7 @@ model NetworkProfile { @added(Versions.v2025_12_01_preview) @doc("Network Interface Card (NIC) Details of edge machine.") -model NicDetail { +model EdgeMachineNicDetail { /** * Adapter Name of NIC */ @@ -463,53 +430,6 @@ model NicDetail { rdmaCapability?: RdmaCapability = RdmaCapability.Disabled; } -@added(Versions.v2025_12_01_preview) -@doc("Switch Details of edge machine.") -model SwitchDetail { - /** - * The name of the switch. - */ - @visibility(Lifecycle.Read) - switchName?: string; - - /** - * The type of the switch. e.g. external, internal. - */ - @visibility(Lifecycle.Read) - switchType?: string; - - /** - * This represents extensions installed on virtualSwitch. - */ - @visibility(Lifecycle.Read) - @Azure.ResourceManager.identifiers(#["extensionName"]) - extensions?: SwitchExtension[]; -} - -/** - * This represents extensions installed on virtualSwitch. - */ -@added(Versions.v2025_12_01_preview) -model SwitchExtension { - /** - * Unique identifier for virtualSwitch. - */ - @visibility(Lifecycle.Read) - switchId?: string; - - /** - * This will show extension name for virtualSwitch. - */ - @visibility(Lifecycle.Read) - extensionName?: string; - - /** - * This represents whether extension is enabled on virtualSwitch. - */ - @visibility(Lifecycle.Read) - extensionEnabled?: boolean; -} - /** * OS configurations for HCI device. */ @@ -564,24 +484,6 @@ model OsProfile { imageVersion?: string; } -/** - * Describes the RDMA capability of the network adapter. - */ -@added(Versions.v2025_12_01_preview) -union RdmaCapability { - string, - - /** - * Network Adapter on the device is RDMA Capable - */ - Enabled: "Enabled", - - /** - * Network Adapter on the device isn't RDMA Capable - */ - Disabled: "Disabled", -} - /** * Hardware profile for the machine */ @@ -637,151 +539,6 @@ model StorageProfile { @visibility(Lifecycle.Read) poolableDisksCount?: int64; } - -/** - * Solution builder extension (SBE) deployment package information. - */ -@added(Versions.v2025_12_01_preview) -model SbeDeploymentPackageInfo { - /** - * SBE deployment validation code. - */ - @visibility(Lifecycle.Read) - code?: string; - - /** - * A detailed message that explains the SBE package validation result. - */ - @visibility(Lifecycle.Read) - message?: string; - - /** - * This represents discovered update results for matching updates and store it as SBE manifest. - */ - @visibility(Lifecycle.Read) - sbeManifest?: string; -} - -/** - * Extensions details for edge device. - */ -@added(Versions.v2025_12_01_preview) -model ExtensionProfile { - /** - * List of Arc extensions installed on edge device. - */ - @visibility(Lifecycle.Read) - @Azure.ResourceManager.identifiers(#["extensionName"]) - extensions?: Extension[]; -} - -/** - * Arc extension installed on edge device. - */ -@added(Versions.v2025_12_01_preview) -model Extension { - /** - * Arc extension name installed on edge device. - */ - @visibility(Lifecycle.Read) - extensionName?: string; - - /** - * Arc extension state from arc machine extension. - */ - @visibility(Lifecycle.Read) - state?: ArcExtensionState; - - /** - * Error details while installing Arc extension. - */ - @visibility(Lifecycle.Read) - @Azure.ResourceManager.identifiers(#[]) - errorDetails?: ErrorDetailModel[]; - - /** - * Exception details while installing Arc extension. - */ - @visibility(Lifecycle.Read) - exception?: string; - - /** - * Arc Extension Azure resource id. - */ - @visibility(Lifecycle.Read) - extensionResourceId?: Azure.Core.armResourceIdentifier; - - /** - * Extension version installed. - */ - @visibility(Lifecycle.Read) - typeHandlerVersion?: string; - - /** - * Extension managed by user or Azure. - */ - @visibility(Lifecycle.Read) - managedBy?: ExtensionManagedBy; -} - -/** - * Arc extension installation state. - */ -@added(Versions.v2025_12_01_preview) -union ArcExtensionState { - string, - - /** - * Arc extension state is not specified. - */ - NotSpecified: "NotSpecified", - - /** - * Arc extension state is Accepted when extension installation triggered. - */ - Accepted: "Accepted", - - /** - * Arc extension state is Canceled. - */ - Canceled: "Canceled", - - /** - * Arc extension is in Creating State. - */ - Creating: "Creating", - - /** - * Arc extension is in Deleted State. - */ - Deleted: "Deleted", - - /** - * Arc extension is in Deleting State. - */ - Deleting: "Deleting", - - /** - * Arc extension state is Failed. - */ - Failed: "Failed", - - /** - * Arc extension is in Moving State. - */ - Moving: "Moving", - - /** - * Arc extension state is Succeeded. - */ - Succeeded: "Succeeded", - - /** - * Arc extension is in Updating State. - */ - Updating: "Updating", -} - /** * details of validation failure */ @@ -793,21 +550,3 @@ model ErrorDetailModel { @visibility(Lifecycle.Read) exception?: string; } - -/** - * Extension managed by user or Azure. - */ -@added(Versions.v2025_12_01_preview) -union ExtensionManagedBy { - string, - - /** - * Extension managed by user. - */ - User: "User", - - /** - * Extension managed by Azure. - */ - Azure: "Azure", -} diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/edgeMachineJobs.tsp b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/edgeMachineJobs.tsp index b0ba09757e87..371757821693 100644 --- a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/edgeMachineJobs.tsp +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/edgeMachineJobs.tsp @@ -2,6 +2,7 @@ import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; import "@typespec/openapi"; import "@typespec/rest"; +import "./models.tsp"; using TypeSpec.Rest; using TypeSpec.Versioning; @@ -101,51 +102,9 @@ union EdgeMachineJobType { DownloadOs: "DownloadOs", } -@added(Versions.v2025_12_01_preview) -@doc("Represents the various statuses a job can have throughout its lifecycle.") -union JobStatus { - string, - - @doc("The job status has not been specified.") - NotSpecified: "NotSpecified", - - @doc("The job is currently undergoing validation.") - ValidationInProgress: "ValidationInProgress", - - @doc("The job has successfully passed validation.") - ValidationSuccess: "ValidationSuccess", - - @doc("The job has failed validation.") - ValidationFailed: "ValidationFailed", - - @doc("The job's deployment is currently in progress.") - DeploymentInProgress: "DeploymentInProgress", - - @doc("The job's deployment has failed.") - DeploymentFailed: "DeploymentFailed", - - @doc("The job has been successfully deployed.") - DeploymentSuccess: "DeploymentSuccess", - - @doc("The job has succeeded.") - Succeeded: "Succeeded", - - @doc("The job has failed.") - Failed: "Failed", - - @doc("The job has been canceled.") - Canceled: "Canceled", - - @doc("The job is paused.") - Paused: "Paused", - - @doc("The job is scheduled to run.") - Scheduled: "Scheduled", -} - @added(Versions.v2025_12_01_preview) @doc("Properties for adding a server in the cluster.") -model RemoteSupportJobProperties extends EdgeMachineJobProperties { +model EdgeMachineRemoteSupportJobProperties extends EdgeMachineJobProperties { @doc("Job Type to support polymorphic resource.") jobType: EdgeMachineJobType.RemoteSupport; @@ -160,7 +119,7 @@ model RemoteSupportJobProperties extends EdgeMachineJobProperties { @doc("log collection job reported properties.") @visibility(Lifecycle.Read) - reportedProperties?: RemoteSupportReportedProperties; + reportedProperties?: EdgeMachineRemoteSupportJobReportedProperties; } @added(Versions.v2025_12_01_preview) @@ -224,7 +183,7 @@ model ProvisioningRequest { onboardingConfiguration?: OnboardingConfiguration; @doc("Device configuration.") - deviceConfiguration?: DeviceConfiguration; + deviceConfiguration?: TargetDeviceConfiguration; @doc("Base64 encoded custom configuration for CAPI to use") customConfiguration?: string; @@ -244,12 +203,12 @@ union ProvisioningOsType { @added(Versions.v2025_12_01_preview) @doc("Represents the reported properties of a remote support job.") -model RemoteSupportReportedProperties { - ...JobReportedProperties; +model EdgeMachineRemoteSupportJobReportedProperties { + ...EdgeMachineJobReportedProperties; @doc("Optional settings for configuring the node for remote support.") @visibility(Lifecycle.Read) - nodeSettings?: RemoteSupportNodeSettings; + nodeSettings?: EdgeMachineRemoteSupportNodeSettings; @doc("Details of the remote support session.") @visibility(Lifecycle.Read) @@ -259,7 +218,7 @@ model RemoteSupportReportedProperties { @added(Versions.v2025_12_01_preview) @doc("Represents the settings of a remote support node.") -model RemoteSupportNodeSettings { +model EdgeMachineRemoteSupportNodeSettings { @doc("The state of the remote support node.") @visibility(Lifecycle.Read) state?: string; @@ -276,67 +235,14 @@ model RemoteSupportNodeSettings { @visibility(Lifecycle.Read) connectionStatus?: string; - @doc("The error message, if any, from the last connection attempt.") + @doc("The error message, if any, from the last connection attempt.") @visibility(Lifecycle.Read) connectionErrorMessage?: string; } -@added(Versions.v2025_12_01_preview) -@doc("Represents a remote support session.") -model RemoteSupportSession { - @doc("Unique session Id.") - @visibility(Lifecycle.Read) - sessionId?: string; - - @doc("The start time of the remote support session, in UTC.") - @visibility(Lifecycle.Read) - sessionStartTime?: utcDateTime; - - @doc("The end time of the remote support session, in UTC.") - @visibility(Lifecycle.Read) - sessionEndTime?: utcDateTime; - - @doc("The level of access granted during the remote support session.") - @visibility(Lifecycle.Read) - accessLevel?: RemoteSupportAccessLevel; - - @doc("The location where the session transcript is stored.") - @visibility(Lifecycle.Read) - transcriptLocation?: string; -} - -@added(Versions.v2025_12_01_preview) -@doc("Defines the level of remote support access granted.") -union RemoteSupportAccessLevel { - @doc("A custom access level provided as a string.") - string, - - @doc("No remote support access is granted.") - None: "None", - - @doc("Access is limited to diagnostics information only.") - Diagnostics: "Diagnostics", - - @doc("Access includes diagnostics information and the ability to perform repairs.") - DiagnosticsAndRepair: "DiagnosticsAndRepair", -} - -@added(Versions.v2025_12_01_preview) -@doc("Defines the type of remote support action to be performed on an edge device.") -union RemoteSupportType { - @doc("A custom action type provided as a string.") - string, - - @doc("Enables remote support for the edge device.") - Enable: "Enable", - - @doc("Revokes remote support access for the edge device.") - Revoke: "Revoke", -} - @added(Versions.v2025_12_01_preview) @doc("Properties for pausing a server in the cluster.") -model CollectLogJobProperties extends EdgeMachineJobProperties { +model EdgeMachineCollectLogJobProperties extends EdgeMachineJobProperties { @doc("ClusterJob Type to support polymorphic resource.") jobType: EdgeMachineJobType.CollectLog; @@ -352,51 +258,23 @@ model CollectLogJobProperties extends EdgeMachineJobProperties { @doc("log collection job reported properties.") @visibility(Lifecycle.Read) - reportedProperties?: LogCollectionReportedProperties; + reportedProperties?: EdgeMachineCollectLogJobReportedProperties; } @added(Versions.v2025_12_01_preview) @doc("Represents the reported properties of a log collection job.") -model LogCollectionReportedProperties { +model EdgeMachineCollectLogJobReportedProperties { ...JobReportedProperties; @doc("Details of the log collection session.") @visibility(Lifecycle.Read) @Azure.ResourceManager.identifiers(#["correlationId"]) - logCollectionSessionDetails?: LogCollectionSession[]; -} - -@added(Versions.v2025_12_01_preview) -@doc("Represents a session for collecting logs from an edge device.") -model LogCollectionSession { - @doc("The timestamp when log collection started, in ISO 8601 format.") - @visibility(Lifecycle.Read) - startTime?: string; - - @doc("The timestamp when log collection ended, in ISO 8601 format.") - @visibility(Lifecycle.Read) - endTime?: string; - - @doc("The total time logs were collected for, in ISO 8601 duration format.") - @visibility(Lifecycle.Read) - timeCollected?: string; - - @doc("The size of the collected logs in bytes.") - @visibility(Lifecycle.Read) - logSize?: int32; - - @doc("The status of the log collection session.") - @visibility(Lifecycle.Read) - status?: DeviceLogCollectionStatus; - - @doc("A unique identifier for correlating this log collection session with other operations or sessions.") - @visibility(Lifecycle.Read) - correlationId?: string; + logCollectionSessionDetails?: LogCollectionJobSession[]; } @added(Versions.v2025_12_01_preview) @doc("Reported Properties for job triggered from cloud.") -model JobReportedProperties { +model EdgeMachineJobReportedProperties { @doc("The percentage of the job that is complete.") @visibility(Lifecycle.Read) percentComplete?: int32; @@ -410,94 +288,6 @@ model JobReportedProperties { deploymentStatus?: EceActionStatus; } -@added(Versions.v2025_12_01_preview) -@doc("Represents the status of a log collection operation.") -union DeviceLogCollectionStatus { - @doc("A custom status provided as a string.") - string, - - @doc("Log collection operation has not been initiated.") - NotStarted: "NotStarted", - - @doc("Indicates that the log collection operation is currently running.") - Running: "Running", - - @doc("Indicates that the log collection operation has failed.") - Failed: "Failed", - - @doc("Indicates that the log collection operation has completed successfully.") - Succeeded: "Succeeded", - - @doc("Indicates that the log collection operation has completed successfully.") - Canceled: "Canceled", -} - -@added(Versions.v2025_12_01_preview) -@doc("Validation / deployment status details for Job.") -model EceActionStatus { - @doc("Job status.") - @visibility(Lifecycle.Read) - status?: string; - - @doc("List of steps of Edge device job.") - @visibility(Lifecycle.Read) - @identifiers(#["name"]) - steps?: Step[]; -} - -@added(Versions.v2025_12_01_preview) -@doc("Deployment mode to trigger job.") -union DeploymentMode { - string, - - @doc("Validate ECE action deployment for a cluster.") - Validate: "Validate", - - @doc("Deploy ECE action deployment for a cluster.") - Deploy: "Deploy", -} - -@added(Versions.v2025_12_01_preview) -@doc("Step details during job execution.") -model Step { - @doc("Name of step.") - @visibility(Lifecycle.Read) - name?: string; - - @doc("Description of step.") - @visibility(Lifecycle.Read) - description?: string; - - @doc("FullStepIndex of step.") - @visibility(Lifecycle.Read) - fullStepIndex?: string; - - @doc("Start time in utc of step.") - @visibility(Lifecycle.Read) - startTimeUtc?: string; - - @doc("End time in utc of step.") - @visibility(Lifecycle.Read) - endTimeUtc?: string; - - @doc("Status of step. Allowed values are 'Error', 'Success', 'InProgress'") - @visibility(Lifecycle.Read) - status?: string; - - @doc("List of nested steps during job execution..") - @visibility(Lifecycle.Read) - @identifiers(#["name"]) - steps?: Step[]; - - @doc("List of exceptions in job execution.") - @visibility(Lifecycle.Read) - exception?: string[]; - - @doc("Error information for the step") - @visibility(Lifecycle.Read) - error?: Azure.ResourceManager.Foundations.ErrorDetail; -} - @added(Versions.v2025_12_01_preview) @doc("Operating system profile.") model OsProvisionProfile { @@ -628,7 +418,7 @@ model OnboardingConfiguration { @added(Versions.v2025_12_01_preview) @doc("Device configuration.") -model DeviceConfiguration { +model TargetDeviceConfiguration { @doc("Network configuration.") network?: NetworkConfiguration; diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/preview/2025-12-01-preview/hci.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/preview/2025-12-01-preview/hci.json index 4bd3a81c74ae..6c7bc43838e2 100644 --- a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/preview/2025-12-01-preview/hci.json +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/preview/2025-12-01-preview/hci.json @@ -54,6 +54,48 @@ { "name": "Operations" }, + { + "name": "ArcSettings" + }, + { + "name": "Offers" + }, + { + "name": "Clusters" + }, + { + "name": "DeploymentSettings" + }, + { + "name": "EdgeDeviceJobs" + }, + { + "name": "EdgeDevices" + }, + { + "name": "Extensions" + }, + { + "name": "Publishers" + }, + { + "name": "SecuritySettings" + }, + { + "name": "Skus" + }, + { + "name": "UpdateRuns" + }, + { + "name": "Updates" + }, + { + "name": "UpdateSummariesOperationGroup" + }, + { + "name": "ValidatedSolutionRecipes" + }, { "name": "EdgeMachines" }, @@ -62,23 +104,31 @@ } ], "paths": { - "/providers/Microsoft.AzureStackHCI/operations": { + "/{resourceUri}/providers/Microsoft.AzureStackHCI/edgeDevices": { "get": { - "operationId": "Operations_List", + "operationId": "EdgeDevices_List", "tags": [ - "Operations" + "EdgeDevices" ], - "description": "List the operations for the provider", + "description": "List EdgeDevice resources by parent", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceUri", + "in": "path", + "description": "The fully qualified Azure Resource manager identifier of the resource.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/OperationListResult" + "$ref": "#/definitions/EdgeDeviceListResult" } }, "default": { @@ -88,36 +138,45 @@ } } }, - "x-ms-examples": { - "List the operations for the provider.": { - "$ref": "./examples/Operations_List.json" - } - }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/edgeMachines": { + "/{resourceUri}/providers/Microsoft.AzureStackHCI/edgeDevices/{edgeDeviceName}": { "get": { - "operationId": "EdgeMachines_ListBySubscription", + "operationId": "EdgeDevices_Get", "tags": [ - "EdgeMachines" + "EdgeDevices" ], - "description": "List all edge machines in a subscription.", + "description": "Get a EdgeDevice", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + "name": "resourceUri", + "in": "path", + "description": "The fully qualified Azure Resource manager identifier of the resource.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "name": "edgeDeviceName", + "in": "path", + "description": "Name of Device", + "required": true, + "type": "string", + "default": "default", + "pattern": "^[a-zA-Z0-9-]{3,24}$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/EdgeMachineListResult" + "$ref": "#/definitions/EdgeDevice" } }, "default": { @@ -126,40 +185,67 @@ "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } - }, - "x-ms-examples": { - "List edge machines in a given subscription": { - "$ref": "./examples/EdgeMachines_ListBySubscription.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/locations/{location}/kubernetesVersions": { - "get": { - "operationId": "KubernetesVersions_ListBySubscriptionLocationResource", + }, + "put": { + "operationId": "EdgeDevices_CreateOrUpdate", "tags": [ - "KubernetesVersions" + "EdgeDevices" ], - "description": "List all kubernetes versions.", + "description": "Create a EdgeDevice", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + "name": "resourceUri", + "in": "path", + "description": "The fully qualified Azure Resource manager identifier of the resource.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true }, { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" + "name": "edgeDeviceName", + "in": "path", + "description": "Name of Device", + "required": true, + "type": "string", + "default": "default", + "pattern": "^[a-zA-Z0-9-]{3,24}$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/EdgeDevice" + } } ], "responses": { "200": { - "description": "Azure operation completed successfully.", + "description": "Resource 'EdgeDevice' update operation succeeded", "schema": { - "$ref": "#/definitions/KubernetesVersionListResult" + "$ref": "#/definitions/EdgeDevice" + } + }, + "201": { + "description": "Resource 'EdgeDevice' create operation succeeded", + "schema": { + "$ref": "#/definitions/EdgeDevice" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { @@ -169,41 +255,57 @@ } } }, - "x-ms-examples": { - "KubernetesVersions_ListBySubscriptionLocationResource_MaximumSet": { - "$ref": "./examples/KubernetesVersions_ListBySubscriptionLocationResource_MaximumSet_Gen.json" - } + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/locations/{location}/osImages": { - "get": { - "operationId": "OsImages_ListBySubscriptionLocationResource", + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "EdgeDevices_Delete", "tags": [ - "OsImages" + "EdgeDevices" ], - "description": "List all os images.", + "description": "Delete a EdgeDevice", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + "name": "resourceUri", + "in": "path", + "description": "The fully qualified Azure Resource manager identifier of the resource.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true }, { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" + "name": "edgeDeviceName", + "in": "path", + "description": "Name of Device", + "required": true, + "type": "string", + "default": "default", + "pattern": "^[a-zA-Z0-9-]{3,24}$" } ], "responses": { - "200": { - "description": "Azure operation completed successfully.", - "schema": { - "$ref": "#/definitions/OsImageListResult" + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, + "204": { + "description": "Resource does not exist." + }, "default": { "description": "An unexpected error response.", "schema": { @@ -211,47 +313,46 @@ } } }, - "x-ms-examples": { - "OsImages_ListBySubscriptionLocationResource_MaximumSet": { - "$ref": "./examples/OsImages_ListBySubscriptionLocationResource_MaximumSet_Gen.json" - } + "x-ms-long-running-operation-options": { + "final-state-via": "location" }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/locations/{location}/osImages/{osImageName}": { + "/{resourceUri}/providers/Microsoft.AzureStackHCI/edgeDevices/{edgeDeviceName}/jobs": { "get": { - "operationId": "OsImages_Get", + "operationId": "EdgeDeviceJobs_ListByEdgeDevice", "tags": [ - "OsImages" + "EdgeDeviceJobs" ], - "description": "Get a os image.", + "description": "List EdgeDeviceJob resources by EdgeDevice", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" + "name": "resourceUri", + "in": "path", + "description": "The fully qualified Azure Resource manager identifier of the resource.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true }, { - "name": "osImageName", + "name": "edgeDeviceName", "in": "path", - "description": "The name of the OsImage", + "description": "Name of Device", "required": true, "type": "string", - "pattern": "^[a-zA-Z0-9-.]{3,50}$" + "default": "default", + "pattern": "^[a-zA-Z0-9-]{3,24}$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/OsImage" + "$ref": "#/definitions/EdgeDeviceJobListResult" } }, "default": { @@ -261,36 +362,53 @@ } } }, - "x-ms-examples": { - "OsImages_Get_MaximumSet": { - "$ref": "./examples/OsImages_Get_MaximumSet_Gen.json" - } + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/locations/{location}/platformUpdates": { + "/{resourceUri}/providers/Microsoft.AzureStackHCI/edgeDevices/{edgeDeviceName}/jobs/{jobsName}": { "get": { - "operationId": "PlatformUpdates_List", + "operationId": "EdgeDeviceJobs_Get", "tags": [ - "PlatformUpdates" + "EdgeDeviceJobs" ], - "description": "List all platform updates.", + "description": "Get a EdgeDeviceJob", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + "name": "resourceUri", + "in": "path", + "description": "The fully qualified Azure Resource manager identifier of the resource.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true }, { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" + "name": "edgeDeviceName", + "in": "path", + "description": "Name of Device", + "required": true, + "type": "string", + "default": "default", + "pattern": "^[a-zA-Z0-9-]{3,24}$" + }, + { + "name": "jobsName", + "in": "path", + "description": "Name of EdgeDevice Job", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/PlatformUpdateListResult" + "$ref": "#/definitions/EdgeDeviceJob" } }, "default": { @@ -299,89 +417,143 @@ "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } - }, - "x-ms-examples": { - "PlatformUpdates_ListByLocation_MaximumSet": { - "$ref": "./examples/PlatformUpdates_ListByLocation_MaximumSet_Gen.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/locations/{location}/platformUpdates/{platformUpdateName}": { - "get": { - "operationId": "PlatformUpdates_Get", + }, + "put": { + "operationId": "EdgeDeviceJobs_CreateOrUpdate", "tags": [ - "PlatformUpdates" + "EdgeDeviceJobs" ], - "description": "Get a platform update.", + "description": "Create a EdgeDeviceJob", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + "name": "resourceUri", + "in": "path", + "description": "The fully qualified Azure Resource manager identifier of the resource.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true }, { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" + "name": "edgeDeviceName", + "in": "path", + "description": "Name of Device", + "required": true, + "type": "string", + "default": "default", + "pattern": "^[a-zA-Z0-9-]{3,24}$" }, { - "name": "platformUpdateName", + "name": "jobsName", "in": "path", - "description": "The name of the PlatformUpdate", + "description": "Name of EdgeDevice Job", "required": true, "type": "string", - "pattern": "^[a-zA-Z0-9-.]{3,50}$" + "pattern": "^[a-zA-Z0-9-]{3,24}$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/EdgeDeviceJob" + } } ], "responses": { "200": { - "description": "Azure operation completed successfully.", + "description": "Resource 'EdgeDeviceJob' update operation succeeded", "schema": { - "$ref": "#/definitions/PlatformUpdate" + "$ref": "#/definitions/EdgeDeviceJob" } }, - "default": { - "description": "An unexpected error response.", + "201": { + "description": "Resource 'EdgeDeviceJob' create operation succeeded", "schema": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-examples": { - "PlatformUpdates_Get_MaximumSet": { - "$ref": "./examples/PlatformUpdates_Get_MaximumSet_Gen.json" + "$ref": "#/definitions/EdgeDeviceJob" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/locations/{location}/updateContents": { - "get": { - "operationId": "UpdateContents_List", + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "EdgeDeviceJobs_Delete", "tags": [ - "UpdateContents" + "EdgeDeviceJobs" ], - "description": "List all update contents.", + "description": "Delete a EdgeDeviceJob", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + "name": "resourceUri", + "in": "path", + "description": "The fully qualified Azure Resource manager identifier of the resource.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true }, { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" + "name": "edgeDeviceName", + "in": "path", + "description": "Name of Device", + "required": true, + "type": "string", + "default": "default", + "pattern": "^[a-zA-Z0-9-]{3,24}$" + }, + { + "name": "jobsName", + "in": "path", + "description": "Name of EdgeDevice Job", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$" } ], "responses": { - "200": { - "description": "Azure operation completed successfully.", - "schema": { - "$ref": "#/definitions/UpdateContentListResult" + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, + "204": { + "description": "Resource does not exist." + }, "default": { "description": "An unexpected error response.", "schema": { @@ -389,47 +561,69 @@ } } }, - "x-ms-examples": { - "UpdateContents_ListByLocation_MaximumSet": { - "$ref": "./examples/UpdateContents_ListByLocation_MaximumSet_Gen.json" - } + "x-ms-long-running-operation-options": { + "final-state-via": "location" }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/locations/{location}/updateContents/{updateContentName}": { - "get": { - "operationId": "UpdateContents_Get", + "/{resourceUri}/providers/Microsoft.AzureStackHCI/edgeDevices/{edgeDeviceName}/validate": { + "post": { + "operationId": "EdgeDevices_Validate", "tags": [ - "UpdateContents" + "EdgeDevices" ], - "description": "Gets content for an update.", + "description": "A long-running resource action.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" + "name": "resourceUri", + "in": "path", + "description": "The fully qualified Azure Resource manager identifier of the resource.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true }, { - "name": "updateContentName", + "name": "edgeDeviceName", "in": "path", - "description": "The name of the UpdateContent", + "description": "Name of Device", "required": true, "type": "string", - "pattern": "^[a-zA-Z0-9-.]{3,50}$" + "default": "default", + "pattern": "^[a-zA-Z0-9-]{3,24}$" + }, + { + "name": "ValidateRequest", + "in": "body", + "description": "The content of the action request", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateRequest" + } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/UpdateContent" + "$ref": "#/definitions/ValidateResponse" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { @@ -439,36 +633,29 @@ } } }, - "x-ms-examples": { - "UpdateContents_Get_MaximumSet": { - "$ref": "./examples/UpdateContents_Get_MaximumSet_Gen.json" - } - } + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/edgeMachines": { + "/providers/Microsoft.AzureStackHCI/operations": { "get": { - "operationId": "EdgeMachines_ListByResourceGroup", + "operationId": "Operations_List", "tags": [ - "EdgeMachines" + "Operations" ], - "description": "List all edge machines in a resource group.", + "description": "List the operations for the provider", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/EdgeMachineListResult" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/OperationListResult" } }, "default": { @@ -479,8 +666,8 @@ } }, "x-ms-examples": { - "List edge machines in a given resource group": { - "$ref": "./examples/EdgeMachines_ListByResourceGroup.json" + "List the operations for the provider.": { + "$ref": "./examples/Operations_List.json" } }, "x-ms-pageable": { @@ -488,37 +675,26 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/edgeMachines/{edgeMachineName}": { + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/clusters": { "get": { - "operationId": "EdgeMachines_Get", + "operationId": "Clusters_ListBySubscription", "tags": [ - "EdgeMachines" + "Clusters" ], - "description": "Get an edge machine.", + "description": "List all HCI clusters in a subscription.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "name": "edgeMachineName", - "in": "path", - "description": "Name of Device", - "required": true, - "type": "string", - "pattern": "^[a-zA-Z0-9-_]{3,63}$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/EdgeMachine" + "$ref": "#/definitions/ClusterList" } }, "default": { @@ -528,68 +704,31 @@ } } }, - "x-ms-examples": { - "EdgeMachines_Get_MaximumSet": { - "$ref": "./examples/EdgeMachines_Get.json" - } + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "put": { - "operationId": "EdgeMachines_CreateOrUpdate", + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/edgeMachines": { + "get": { + "operationId": "EdgeMachines_ListBySubscription", "tags": [ "EdgeMachines" ], - "description": "Create or update an edge machine.", + "description": "List all edge machines in a subscription.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "name": "edgeMachineName", - "in": "path", - "description": "Name of Device", - "required": true, - "type": "string", - "pattern": "^[a-zA-Z0-9-_]{3,63}$" - }, - { - "name": "resource", - "in": "body", - "description": "Resource create parameters.", - "required": true, - "schema": { - "$ref": "#/definitions/EdgeMachine" - } } ], "responses": { "200": { - "description": "Resource 'EdgeMachine' update operation succeeded", - "schema": { - "$ref": "#/definitions/EdgeMachine" - } - }, - "201": { - "description": "Resource 'EdgeMachine' create operation succeeded", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/EdgeMachine" - }, - "headers": { - "Azure-AsyncOperation": { - "type": "string", - "description": "A link to the status monitor" - }, - "Retry-After": { - "type": "integer", - "format": "int32", - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." - } + "$ref": "#/definitions/EdgeMachineListResult" } }, "default": { @@ -600,21 +739,22 @@ } }, "x-ms-examples": { - "EdgeMachines_CreateOrUpdate": { - "$ref": "./examples/EdgeMachines_CreateOrUpdate.json" + "List edge machines in a given subscription": { + "$ref": "./examples/EdgeMachines_ListBySubscription.json" } }, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "x-ms-long-running-operation": true - }, - "patch": { - "operationId": "EdgeMachines_Update", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/locations/{location}/kubernetesVersions": { + "get": { + "operationId": "KubernetesVersions_ListBySubscriptionLocationResource", "tags": [ - "EdgeMachines" + "KubernetesVersions" ], - "description": "Update an edge machine.", + "description": "List all kubernetes versions.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" @@ -623,45 +763,56 @@ "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/KubernetesVersionListResult" + } }, - { - "name": "edgeMachineName", - "in": "path", - "description": "Name of Device", - "required": true, - "type": "string", - "pattern": "^[a-zA-Z0-9-_]{3,63}$" - }, - { - "name": "properties", - "in": "body", - "description": "The resource properties to be updated.", - "required": true, + "default": { + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/EdgeMachinePatch" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "KubernetesVersions_ListBySubscriptionLocationResource_MaximumSet": { + "$ref": "./examples/KubernetesVersions_ListBySubscriptionLocationResource_MaximumSet_Gen.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/locations/{location}/osImages": { + "get": { + "operationId": "OsImages_ListBySubscriptionLocationResource", + "tags": [ + "OsImages" + ], + "description": "List all os images.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" + } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/EdgeMachine" - } - }, - "202": { - "description": "Resource update request accepted.", - "headers": { - "Location": { - "type": "string", - "description": "The Location header contains the URL where the status of the long running operation can be checked." - }, - "Retry-After": { - "type": "integer", - "format": "int32", - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." - } + "$ref": "#/definitions/OsImageListResult" } }, "default": { @@ -672,21 +823,22 @@ } }, "x-ms-examples": { - "EdgeMachines_Update": { - "$ref": "./examples/EdgeMachines_Update.json" + "OsImages_ListBySubscriptionLocationResource_MaximumSet": { + "$ref": "./examples/OsImages_ListBySubscriptionLocationResource_MaximumSet_Gen.json" } }, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, - "x-ms-long-running-operation": true - }, - "delete": { - "operationId": "EdgeMachines_Delete", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/locations/{location}/osImages/{osImageName}": { + "get": { + "operationId": "OsImages_Get", "tags": [ - "EdgeMachines" + "OsImages" ], - "description": "Delete an edge machine.", + "description": "Get a os image.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" @@ -695,35 +847,24 @@ "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" }, { - "name": "edgeMachineName", + "name": "osImageName", "in": "path", - "description": "Name of Device", + "description": "The name of the OsImage", "required": true, "type": "string", - "pattern": "^[a-zA-Z0-9-_]{3,63}$" + "pattern": "^[a-zA-Z0-9-.]{3,50}$" } ], "responses": { - "202": { - "description": "Resource deletion accepted.", - "headers": { - "Location": { - "type": "string", - "description": "The Location header contains the URL where the status of the long running operation can be checked." - }, - "Retry-After": { - "type": "integer", - "format": "int32", - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." - } + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/OsImage" } }, - "204": { - "description": "Resource does not exist." - }, "default": { "description": "An unexpected error response.", "schema": { @@ -732,23 +873,19 @@ } }, "x-ms-examples": { - "EdgeMachines_Delete_MaximumSet": { - "$ref": "./examples/EdgeMachines_Delete.json" + "OsImages_Get_MaximumSet": { + "$ref": "./examples/OsImages_Get_MaximumSet_Gen.json" } - }, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, - "x-ms-long-running-operation": true + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/edgeMachines/{edgeMachineName}/jobs": { + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/locations/{location}/platformUpdates": { "get": { - "operationId": "EdgeMachineJobs_List", + "operationId": "PlatformUpdates_List", "tags": [ - "EdgeMachineJobs" + "PlatformUpdates" ], - "description": "List EdgeMachineJob resources by EdgeMachines", + "description": "List all platform updates.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" @@ -757,22 +894,14 @@ "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "name": "edgeMachineName", - "in": "path", - "description": "Name of Device", - "required": true, - "type": "string", - "pattern": "^[a-zA-Z0-9-_]{3,63}$" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/EdgeMachineJobListResult" + "$ref": "#/definitions/PlatformUpdateListResult" } }, "default": { @@ -783,8 +912,8 @@ } }, "x-ms-examples": { - "EdgeMachineJobs_List_MaximumSet": { - "$ref": "./examples/EdgeMachineJobs_List_MaximumSet_Gen.json" + "PlatformUpdates_ListByLocation_MaximumSet": { + "$ref": "./examples/PlatformUpdates_ListByLocation_MaximumSet_Gen.json" } }, "x-ms-pageable": { @@ -792,13 +921,13 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/edgeMachines/{edgeMachineName}/jobs/{jobsName}": { + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/locations/{location}/platformUpdates/{platformUpdateName}": { "get": { - "operationId": "EdgeMachineJobs_Get", + "operationId": "PlatformUpdates_Get", "tags": [ - "EdgeMachineJobs" + "PlatformUpdates" ], - "description": "Get a EdgeMachineJob", + "description": "Get a platform update.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" @@ -807,30 +936,22 @@ "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "name": "edgeMachineName", - "in": "path", - "description": "Name of Device", - "required": true, - "type": "string", - "pattern": "^[a-zA-Z0-9-_]{3,63}$" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" }, { - "name": "jobsName", + "name": "platformUpdateName", "in": "path", - "description": "Name of EdgeMachineJob", + "description": "The name of the PlatformUpdate", "required": true, "type": "string", - "pattern": "^[a-zA-Z0-9-_]{3,63}$" + "pattern": "^[a-zA-Z0-9-.]{3,50}$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/EdgeMachineJob" + "$ref": "#/definitions/PlatformUpdate" } }, "default": { @@ -841,23 +962,19 @@ } }, "x-ms-examples": { - "EdgeMachineJobs_Get_CollectLog": { - "$ref": "./examples/EdgeMachineJobs_Get_CollectLog.json" - }, - "EdgeMachineJobs_Get_ProvisionOs": { - "$ref": "./examples/EdgeMachineJobs_Get_ProvisionOs.json" - }, - "EdgeMachineJobs_Get_RemoteSupport": { - "$ref": "./examples/EdgeMachineJobs_Get_RemoteSupport.json" + "PlatformUpdates_Get_MaximumSet": { + "$ref": "./examples/PlatformUpdates_Get_MaximumSet_Gen.json" } } - }, - "put": { - "operationId": "EdgeMachineJobs_CreateOrUpdate", + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/locations/{location}/updateContents": { + "get": { + "operationId": "UpdateContents_List", "tags": [ - "EdgeMachineJobs" + "UpdateContents" ], - "description": "Create a EdgeMachineJob", + "description": "List all update contents.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" @@ -866,56 +983,14 @@ "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "name": "edgeMachineName", - "in": "path", - "description": "Name of Device", - "required": true, - "type": "string", - "pattern": "^[a-zA-Z0-9-_]{3,63}$" - }, - { - "name": "jobsName", - "in": "path", - "description": "Name of EdgeMachineJob", - "required": true, - "type": "string", - "pattern": "^[a-zA-Z0-9-_]{3,63}$" - }, - { - "name": "resource", - "in": "body", - "description": "Resource create parameters.", - "required": true, - "schema": { - "$ref": "#/definitions/EdgeMachineJob" - } + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" } ], "responses": { "200": { - "description": "Resource 'EdgeMachineJob' update operation succeeded", - "schema": { - "$ref": "#/definitions/EdgeMachineJob" - } - }, - "201": { - "description": "Resource 'EdgeMachineJob' create operation succeeded", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/EdgeMachineJob" - }, - "headers": { - "Azure-AsyncOperation": { - "type": "string", - "description": "A link to the status monitor" - }, - "Retry-After": { - "type": "integer", - "format": "int32", - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." - } + "$ref": "#/definitions/UpdateContentListResult" } }, "default": { @@ -926,33 +1001,22 @@ } }, "x-ms-examples": { - "EdgeMachineJobs_CreateOrUpdate_CollectLog": { - "$ref": "./examples/EdgeMachineJobs_CreateOrUpdate_CollectLog.json" - }, - "EdgeMachineJobs_CreateOrUpdate_DownloadOs": { - "$ref": "./examples/EdgeMachineJobs_CreateOrUpdate_DownloadOs.json" - }, - "EdgeMachineJobs_CreateOrUpdate_ProvisionOs": { - "$ref": "./examples/EdgeMachineJobs_CreateOrUpdate_ProvisionOs.json" - }, - "EdgeMachineJobs_CreateOrUpdate_RemoteSupport": { - "$ref": "./examples/EdgeMachineJobs_CreateOrUpdate_RemoteSupport.json" - }, - "EdgeMachineJobs_CreateOrUpdate_UpdateOs": { - "$ref": "./examples/EdgeMachineJobs_CreateOrUpdate_UpdateOs.json" + "UpdateContents_ListByLocation_MaximumSet": { + "$ref": "./examples/UpdateContents_ListByLocation_MaximumSet_Gen.json" } }, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "x-ms-long-running-operation": true - }, - "delete": { - "operationId": "EdgeMachineJobs_Delete", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/locations/{location}/updateContents/{updateContentName}": { + "get": { + "operationId": "UpdateContents_Get", "tags": [ - "EdgeMachineJobs" + "UpdateContents" ], - "description": "Delete a EdgeMachineJob", + "description": "Gets content for an update.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" @@ -961,43 +1025,24 @@ "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "name": "edgeMachineName", - "in": "path", - "description": "Name of Device", - "required": true, - "type": "string", - "pattern": "^[a-zA-Z0-9-_]{3,63}$" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" }, { - "name": "jobsName", + "name": "updateContentName", "in": "path", - "description": "Name of EdgeMachineJob", + "description": "The name of the UpdateContent", "required": true, "type": "string", - "pattern": "^[a-zA-Z0-9-_]{3,63}$" + "pattern": "^[a-zA-Z0-9-.]{3,50}$" } ], "responses": { - "202": { - "description": "Resource deletion accepted.", - "headers": { - "Location": { - "type": "string", - "description": "The Location header contains the URL where the status of the long running operation can be checked." - }, - "Retry-After": { - "type": "integer", - "format": "int32", - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." - } + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/UpdateContent" } }, - "204": { - "description": "Resource does not exist." - }, "default": { "description": "An unexpected error response.", "schema": { @@ -1006,20 +1051,19 @@ } }, "x-ms-examples": { - "EdgeMachineJobs_Delete_MaximumSet": { - "$ref": "./examples/EdgeMachineJobs_Delete_MaximumSet_Gen.json" + "UpdateContents_Get_MaximumSet": { + "$ref": "./examples/UpdateContents_Get_MaximumSet_Gen.json" } - }, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, - "x-ms-long-running-operation": true + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/locations/{location}/validateOwnershipVouchers": { - "post": { - "operationId": "OwnershipVouchers_Validate", - "description": "Validates ownership vouchers.", + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/locations/{location}/validatedSolutionRecipes": { + "get": { + "operationId": "ValidatedSolutionRecipes_ListBySubscriptionLocationResource", + "tags": [ + "ValidatedSolutionRecipes" + ], + "description": "List all validated solution recipes.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" @@ -1028,26 +1072,93 @@ "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ValidatedSolutionRecipeListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/locations/{location}/validatedSolutionRecipes/{validatedSolutionRecipeName}": { + "get": { + "operationId": "ValidatedSolutionRecipes_Get", + "tags": [ + "ValidatedSolutionRecipes" + ], + "description": "Get a validated solution recipe.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" }, { - "name": "validationRequest", - "in": "body", - "description": "Ownership vouchers to be validated.", + "name": "validatedSolutionRecipeName", + "in": "path", + "description": "The name of the ValidatedSolutionRecipe", "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-.]{3,50}$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ValidateOwnershipVouchersRequest" + "$ref": "#/definitions/ValidatedSolutionRecipe" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters": { + "get": { + "operationId": "Clusters_ListByResourceGroup", + "tags": [ + "Clusters" + ], + "description": "List all HCI clusters in a resource group.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ValidateOwnershipVouchersResponse" + "$ref": "#/definitions/ClusterList" } }, "default": { @@ -1057,721 +1168,10660 @@ } } }, - "x-ms-examples": { - "Validate ownership vouchers in a given resource group": { - "$ref": "./examples/ValidateOwnershipVouchers_ByResourceGroup.json" - } + "x-ms-pageable": { + "nextLinkName": "nextLink" } } - } - }, - "definitions": { - "ArcExtensionState": { - "type": "string", - "description": "Arc extension installation state.", - "enum": [ - "NotSpecified", - "Accepted", - "Canceled", - "Creating", - "Deleted", - "Deleting", - "Failed", - "Moving", - "Succeeded", - "Updating" - ], - "x-ms-enum": { - "name": "ArcExtensionState", - "modelAsString": true, - "values": [ + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}": { + "get": { + "operationId": "Clusters_Get", + "tags": [ + "Clusters" + ], + "description": "Get HCI cluster.", + "parameters": [ { - "name": "NotSpecified", - "value": "NotSpecified", - "description": "Arc extension state is not specified." + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "name": "Accepted", - "value": "Accepted", - "description": "Arc extension state is Accepted when extension installation triggered." + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "Canceled", - "value": "Canceled", - "description": "Arc extension state is Canceled." + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "Creating", - "value": "Creating", - "description": "Arc extension is in Creating State." + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Cluster" + } }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "operationId": "Clusters_Create", + "tags": [ + "Clusters" + ], + "description": "Create an HCI cluster.", + "parameters": [ { - "name": "Deleted", - "value": "Deleted", - "description": "Arc extension is in Deleted State." + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "name": "Deleting", - "value": "Deleting", - "description": "Arc extension is in Deleting State." + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "Failed", - "value": "Failed", - "description": "Arc extension state is Failed." + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "Moving", - "value": "Moving", - "description": "Arc extension is in Moving State." + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" }, { - "name": "Succeeded", - "value": "Succeeded", - "description": "Arc extension state is Succeeded." + "name": "cluster", + "in": "body", + "description": "Details of the HCI cluster.", + "required": true, + "schema": { + "$ref": "#/definitions/Cluster" + } + } + ], + "responses": { + "200": { + "description": "Resource 'Cluster' update operation succeeded", + "schema": { + "$ref": "#/definitions/Cluster" + } }, - { - "name": "Updating", - "value": "Updating", - "description": "Arc extension is in Updating State." + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } } - ] - }, - "readOnly": true - }, - "ClusterSdnProperties": { - "type": "object", - "description": "Represents the Software Defined Networking (SDN) configuration state of the Azure Stack HCI cluster.", - "properties": { - "sdnIntegrationIntent": { - "$ref": "#/definitions/SdnIntegrationIntent", - "description": "Indicates whether Software Defined Networking (SDN) integration should be enabled or disabled for this deployment.", - "readOnly": true } }, - "allOf": [ - { + "patch": { + "operationId": "Clusters_Update", + "tags": [ + "Clusters" + ], + "description": "Update an HCI cluster.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "cluster", + "in": "body", + "description": "Details of the HCI cluster.", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterPatch" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "operationId": "Clusters_Delete", + "tags": [ + "Clusters" + ], + "description": "Delete an HCI cluster.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings": { + "get": { + "operationId": "ArcSettings_ListByCluster", + "tags": [ + "ArcSettings" + ], + "description": "Get ArcSetting resources of HCI Cluster.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ArcSettingList" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings/{arcSettingName}": { + "get": { + "operationId": "ArcSettings_Get", + "tags": [ + "ArcSettings" + ], + "description": "Get ArcSetting resource details of HCI Cluster.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "arcSettingName", + "in": "path", + "description": "The name of the proxy resource holding details of HCI ArcSetting information.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ArcSetting" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "operationId": "ArcSettings_Create", + "tags": [ + "ArcSettings" + ], + "description": "Create ArcSetting for HCI cluster.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "arcSettingName", + "in": "path", + "description": "The name of the proxy resource holding details of HCI ArcSetting information.", + "required": true, + "type": "string" + }, + { + "name": "arcSetting", + "in": "body", + "description": "Parameters supplied to the Create ArcSetting resource for this HCI cluster.", + "required": true, + "schema": { + "$ref": "#/definitions/ArcSetting" + } + } + ], + "responses": { + "200": { + "description": "Resource 'ArcSetting' update operation succeeded", + "schema": { + "$ref": "#/definitions/ArcSetting" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "operationId": "ArcSettings_Update", + "tags": [ + "ArcSettings" + ], + "description": "Update ArcSettings for HCI cluster.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "arcSettingName", + "in": "path", + "description": "The name of the proxy resource holding details of HCI ArcSetting information.", + "required": true, + "type": "string" + }, + { + "name": "arcSetting", + "in": "body", + "description": "ArcSettings parameters that needs to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/ArcSettingsPatch" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ArcSetting" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "operationId": "ArcSettings_Delete", + "tags": [ + "ArcSettings" + ], + "description": "Delete ArcSetting resource details of HCI Cluster.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "arcSettingName", + "in": "path", + "description": "The name of the proxy resource holding details of HCI ArcSetting information.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings/{arcSettingName}/consentAndInstallDefaultExtensions": { + "post": { + "operationId": "ArcSettings_ConsentAndInstallDefaultExtensions", + "tags": [ + "ArcSettings" + ], + "description": "Add consent time for default extensions and initiate extensions installation", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "arcSettingName", + "in": "path", + "description": "The name of the proxy resource holding details of HCI ArcSetting information.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ArcSetting" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings/{arcSettingName}/createArcIdentity": { + "post": { + "operationId": "ArcSettings_CreateIdentity", + "tags": [ + "ArcSettings" + ], + "description": "Create Aad identity for arc settings.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "arcSettingName", + "in": "path", + "description": "The name of the proxy resource holding details of HCI ArcSetting information.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ArcIdentityResponse" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings/{arcSettingName}/extensions": { + "get": { + "operationId": "Extensions_ListByArcSetting", + "tags": [ + "Extensions" + ], + "description": "List all Extensions under ArcSetting resource.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "arcSettingName", + "in": "path", + "description": "The name of the proxy resource holding details of HCI ArcSetting information.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ExtensionList" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings/{arcSettingName}/extensions/{extensionName}": { + "get": { + "operationId": "Extensions_Get", + "tags": [ + "Extensions" + ], + "description": "Get particular Arc Extension of HCI Cluster.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "arcSettingName", + "in": "path", + "description": "The name of the proxy resource holding details of HCI ArcSetting information.", + "required": true, + "type": "string" + }, + { + "name": "extensionName", + "in": "path", + "description": "The name of the machine extension.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "operationId": "Extensions_Create", + "tags": [ + "Extensions" + ], + "description": "Create Extension for HCI cluster.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "arcSettingName", + "in": "path", + "description": "The name of the proxy resource holding details of HCI ArcSetting information.", + "required": true, + "type": "string" + }, + { + "name": "extensionName", + "in": "path", + "description": "The name of the machine extension.", + "required": true, + "type": "string" + }, + { + "name": "extension", + "in": "body", + "description": "Details of the Machine Extension to be created.", + "required": true, + "schema": { + "$ref": "#/definitions/Extension" + } + } + ], + "responses": { + "200": { + "description": "Resource 'Extension' update operation succeeded", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "201": { + "description": "Resource 'Extension' create operation succeeded", + "schema": { + "$ref": "#/definitions/Extension" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "Extensions_Update", + "tags": [ + "Extensions" + ], + "description": "Update Extension for HCI cluster.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "arcSettingName", + "in": "path", + "description": "The name of the proxy resource holding details of HCI ArcSetting information.", + "required": true, + "type": "string" + }, + { + "name": "extensionName", + "in": "path", + "description": "The name of the machine extension.", + "required": true, + "type": "string" + }, + { + "name": "extension", + "in": "body", + "description": "Details of the Machine Extension to be created.", + "required": true, + "schema": { + "$ref": "#/definitions/ExtensionPatch" + } + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "original-uri" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "Extensions_Delete", + "tags": [ + "Extensions" + ], + "description": "Delete particular Arc Extension of HCI Cluster.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "arcSettingName", + "in": "path", + "description": "The name of the proxy resource holding details of HCI ArcSetting information.", + "required": true, + "type": "string" + }, + { + "name": "extensionName", + "in": "path", + "description": "The name of the machine extension.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings/{arcSettingName}/extensions/{extensionName}/upgrade": { + "post": { + "operationId": "Extensions_Upgrade", + "tags": [ + "Extensions" + ], + "description": "Upgrade a particular Arc Extension of HCI Cluster.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "arcSettingName", + "in": "path", + "description": "The name of the proxy resource holding details of HCI ArcSetting information.", + "required": true, + "type": "string" + }, + { + "name": "extensionName", + "in": "path", + "description": "The name of the machine extension.", + "required": true, + "type": "string" + }, + { + "name": "extensionUpgradeParameters", + "in": "body", + "description": "Parameters supplied to the Upgrade Extensions operation.", + "required": true, + "schema": { + "$ref": "#/definitions/ExtensionUpgradeParameters" + } + } + ], + "responses": { + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings/{arcSettingName}/generatePassword": { + "post": { + "operationId": "ArcSettings_GeneratePassword", + "tags": [ + "ArcSettings" + ], + "description": "Generate password for arc settings.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "arcSettingName", + "in": "path", + "description": "The name of the proxy resource holding details of HCI ArcSetting information.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/PasswordCredential" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings/{arcSettingName}/initializeDisableProcess": { + "post": { + "operationId": "ArcSettings_InitializeDisableProcess", + "tags": [ + "ArcSettings" + ], + "description": "Initializes ARC Disable process on the cluster", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "arcSettingName", + "in": "path", + "description": "The name of the proxy resource holding details of HCI ArcSetting information.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request has succeeded." + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings/{arcSettingName}/reconcile": { + "post": { + "operationId": "ArcSettings_Reconcile", + "tags": [ + "ArcSettings" + ], + "description": "Reconcile Arc Settings with information related to all nodes.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "arcSettingName", + "in": "path", + "description": "The name of the proxy resource holding details of HCI ArcSetting information.", + "required": true, + "type": "string" + }, + { + "name": "reconcileArcSettingsRequest", + "in": "body", + "description": "Request for reconciling Arc Settings.", + "required": true, + "schema": { + "$ref": "#/definitions/ReconcileArcSettingsRequest" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ArcSetting" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/changeRing": { + "post": { + "operationId": "Clusters_ChangeRing", + "tags": [ + "Clusters" + ], + "description": "Changes ring of a cluster", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "changeRingRequest", + "in": "body", + "description": "Change ring request payload", + "required": true, + "schema": { + "$ref": "#/definitions/ChangeRingRequest" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/configureRemoteSupport": { + "post": { + "operationId": "Clusters_ConfigureRemoteSupport", + "tags": [ + "Clusters" + ], + "description": "Configure RemoteSupport on a cluster", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "remoteSupportRequest", + "in": "body", + "description": "Configure Remote Support Request Payload", + "required": true, + "schema": { + "$ref": "#/definitions/RemoteSupportRequest" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/createClusterIdentity": { + "post": { + "operationId": "Clusters_CreateIdentity", + "tags": [ + "Clusters" + ], + "description": "Create cluster identity.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ClusterIdentityResponse" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/deploymentSettings": { + "get": { + "operationId": "DeploymentSettings_ListByClusters", + "tags": [ + "DeploymentSettings" + ], + "description": "List DeploymentSetting resources by Clusters", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DeploymentSettingListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/deploymentSettings/{deploymentSettingsName}": { + "get": { + "operationId": "DeploymentSettings_Get", + "tags": [ + "DeploymentSettings" + ], + "description": "Get a DeploymentSetting", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "deploymentSettingsName", + "in": "path", + "description": "Name of Deployment Setting", + "required": true, + "type": "string", + "default": "default", + "pattern": "^[a-zA-Z0-9-]{3,24}$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DeploymentSetting" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "operationId": "DeploymentSettings_CreateOrUpdate", + "tags": [ + "DeploymentSettings" + ], + "description": "Create a DeploymentSetting", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "deploymentSettingsName", + "in": "path", + "description": "Name of Deployment Setting", + "required": true, + "type": "string", + "default": "default", + "pattern": "^[a-zA-Z0-9-]{3,24}$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/DeploymentSetting" + } + } + ], + "responses": { + "200": { + "description": "Resource 'DeploymentSetting' update operation succeeded", + "schema": { + "$ref": "#/definitions/DeploymentSetting" + } + }, + "201": { + "description": "Resource 'DeploymentSetting' create operation succeeded", + "schema": { + "$ref": "#/definitions/DeploymentSetting" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "DeploymentSettings_Delete", + "tags": [ + "DeploymentSettings" + ], + "description": "Delete a DeploymentSetting", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "deploymentSettingsName", + "in": "path", + "description": "Name of Deployment Setting", + "required": true, + "type": "string", + "default": "default", + "pattern": "^[a-zA-Z0-9-]{3,24}$" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/extendSoftwareAssuranceBenefit": { + "post": { + "operationId": "Clusters_ExtendSoftwareAssuranceBenefit", + "tags": [ + "Clusters" + ], + "description": "Extends Software Assurance Benefit to a cluster", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "softwareAssuranceChangeRequest", + "in": "body", + "description": "Software Assurance Change Request Payload", + "required": true, + "schema": { + "$ref": "#/definitions/SoftwareAssuranceChangeRequest" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/offers": { + "get": { + "operationId": "Offers_ListByCluster", + "tags": [ + "Clusters" + ], + "description": "List Offers available across publishers for the HCI Cluster.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify $expand=content,contentVersion to populate additional fields related to the marketplace offer.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/OfferList" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/publishers": { + "get": { + "operationId": "Publishers_ListByCluster", + "tags": [ + "Publishers" + ], + "description": "List Publishers available for the HCI Cluster.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/PublisherList" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/publishers/{publisherName}": { + "get": { + "operationId": "Publishers_Get", + "tags": [ + "Publishers" + ], + "description": "Get Publisher resource details of HCI Cluster.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "publisherName", + "in": "path", + "description": "The name of the publisher available within HCI cluster.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Publisher" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/publishers/{publisherName}/offers": { + "get": { + "operationId": "Offers_ListByPublisher", + "tags": [ + "Offers" + ], + "description": "List Offers available for a publisher within the HCI Cluster.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "publisherName", + "in": "path", + "description": "The name of the publisher available within HCI cluster.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify $expand=content,contentVersion to populate additional fields related to the marketplace offer.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/OfferList" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/publishers/{publisherName}/offers/{offerName}": { + "get": { + "operationId": "Offers_Get", + "tags": [ + "Offers" + ], + "description": "Get Offer resource details within a publisher of HCI Cluster.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "publisherName", + "in": "path", + "description": "The name of the publisher available within HCI cluster.", + "required": true, + "type": "string" + }, + { + "name": "offerName", + "in": "path", + "description": "The name of the offer available within HCI cluster.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify $expand=content,contentVersion to populate additional fields related to the marketplace offer.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Offer" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/publishers/{publisherName}/offers/{offerName}/skus": { + "get": { + "operationId": "Skus_ListByOffer", + "tags": [ + "Skus" + ], + "description": "List Skus available for a offer within the HCI Cluster.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "publisherName", + "in": "path", + "description": "The name of the publisher available within HCI cluster.", + "required": true, + "type": "string" + }, + { + "name": "offerName", + "in": "path", + "description": "The name of the offer available within HCI cluster.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify $expand=content,contentVersion to populate additional fields related to the marketplace offer.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/SkuList" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/publishers/{publisherName}/offers/{offerName}/skus/{skuName}": { + "get": { + "operationId": "Skus_Get", + "tags": [ + "Skus" + ], + "description": "Get SKU resource details within a offer of HCI Cluster.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "publisherName", + "in": "path", + "description": "The name of the publisher available within HCI cluster.", + "required": true, + "type": "string" + }, + { + "name": "offerName", + "in": "path", + "description": "The name of the offer available within HCI cluster.", + "required": true, + "type": "string" + }, + { + "name": "skuName", + "in": "path", + "description": "The name of the SKU available within HCI cluster.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify $expand=content,contentVersion to populate additional fields related to the marketplace offer.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Sku" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/securitySettings": { + "get": { + "operationId": "SecuritySettings_ListByClusters", + "tags": [ + "SecuritySettings" + ], + "description": "List SecuritySetting resources by Clusters", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/SecuritySettingListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/securitySettings/{securitySettingsName}": { + "get": { + "operationId": "SecuritySettings_Get", + "tags": [ + "SecuritySettings" + ], + "description": "Get a SecuritySetting", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "securitySettingsName", + "in": "path", + "description": "Name of security setting", + "required": true, + "type": "string", + "default": "default", + "pattern": "^[a-zA-Z0-9-]{3,24}$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/SecuritySetting" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "operationId": "SecuritySettings_CreateOrUpdate", + "tags": [ + "SecuritySettings" + ], + "description": "Create a security setting", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "securitySettingsName", + "in": "path", + "description": "Name of security setting", + "required": true, + "type": "string", + "default": "default", + "pattern": "^[a-zA-Z0-9-]{3,24}$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/SecuritySetting" + } + } + ], + "responses": { + "200": { + "description": "Resource 'SecuritySetting' update operation succeeded", + "schema": { + "$ref": "#/definitions/SecuritySetting" + } + }, + "201": { + "description": "Resource 'SecuritySetting' create operation succeeded", + "schema": { + "$ref": "#/definitions/SecuritySetting" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "SecuritySettings_Delete", + "tags": [ + "SecuritySettings" + ], + "description": "Delete a SecuritySetting", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "securitySettingsName", + "in": "path", + "description": "Name of security setting", + "required": true, + "type": "string", + "default": "default", + "pattern": "^[a-zA-Z0-9-]{3,24}$" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/triggerLogCollection": { + "post": { + "operationId": "Clusters_TriggerLogCollection", + "tags": [ + "Clusters" + ], + "description": "Trigger Log Collection on a cluster", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "logCollectionRequest", + "in": "body", + "description": "Trigger Log Collection Request Payload", + "required": true, + "schema": { + "$ref": "#/definitions/LogCollectionRequest" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/updateSecretsLocations": { + "post": { + "operationId": "Clusters_UpdateSecretsLocations", + "tags": [ + "Clusters" + ], + "description": "Update cluster secrets locations.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "description": "The content of the action request", + "required": true, + "schema": { + "$ref": "#/definitions/SecretsLocationsChangeRequest" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/updateSummaries": { + "get": { + "operationId": "UpdateSummaries_List", + "tags": [ + "UpdateSummariesOperationGroup" + ], + "description": "List all Update summaries under the HCI cluster", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/UpdateSummariesList" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/updateSummaries/default": { + "get": { + "operationId": "UpdateSummaries_Get", + "tags": [ + "UpdateSummariesOperationGroup" + ], + "description": "Get all Update summaries under the HCI cluster", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/UpdateSummaries" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "operationId": "UpdateSummaries_Put", + "tags": [ + "UpdateSummariesOperationGroup" + ], + "description": "Put Update summaries under the HCI cluster", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "updateLocationProperties", + "in": "body", + "description": "Properties of the UpdateSummaries resource", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateSummaries" + } + } + ], + "responses": { + "200": { + "description": "Resource 'UpdateSummaries' update operation succeeded", + "schema": { + "$ref": "#/definitions/UpdateSummaries" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "operationId": "UpdateSummaries_Delete", + "tags": [ + "UpdateSummariesOperationGroup" + ], + "description": "Delete Update Summaries", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/updates": { + "get": { + "operationId": "Updates_List", + "tags": [ + "Updates" + ], + "description": "List all Updates", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/UpdateList" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/updates/{updateName}": { + "get": { + "operationId": "Updates_Get", + "tags": [ + "Updates" + ], + "description": "Get specified Update", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "updateName", + "in": "path", + "description": "The name of the Update", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Update" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "operationId": "Updates_Put", + "tags": [ + "Updates" + ], + "description": "Put specified Update", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "updateName", + "in": "path", + "description": "The name of the Update", + "required": true, + "type": "string" + }, + { + "name": "updateProperties", + "in": "body", + "description": "Properties of the Updates object", + "required": true, + "schema": { + "$ref": "#/definitions/Update" + } + } + ], + "responses": { + "200": { + "description": "Resource 'Update' update operation succeeded", + "schema": { + "$ref": "#/definitions/Update" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "operationId": "Updates_Delete", + "tags": [ + "Updates" + ], + "description": "Delete specified Update", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "updateName", + "in": "path", + "description": "The name of the Update", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/updates/{updateName}/apply": { + "post": { + "operationId": "Updates_Post", + "tags": [ + "Updates" + ], + "description": "Apply Update", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "updateName", + "in": "path", + "description": "The name of the Update", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request has succeeded." + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/updates/{updateName}/updateRuns": { + "get": { + "operationId": "UpdateRuns_List", + "tags": [ + "UpdateRuns" + ], + "description": "List all Update runs for a specified update", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "updateName", + "in": "path", + "description": "The name of the Update", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/UpdateRunList" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/updates/{updateName}/updateRuns/{updateRunName}": { + "get": { + "operationId": "UpdateRuns_Get", + "tags": [ + "UpdateRuns" + ], + "description": "Get the Update run for a specified update", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "updateName", + "in": "path", + "description": "The name of the Update", + "required": true, + "type": "string" + }, + { + "name": "updateRunName", + "in": "path", + "description": "The name of the Update Run", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/UpdateRun" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "operationId": "UpdateRuns_Put", + "tags": [ + "UpdateRuns" + ], + "description": "Put Update runs for a specified update", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "updateName", + "in": "path", + "description": "The name of the Update", + "required": true, + "type": "string" + }, + { + "name": "updateRunName", + "in": "path", + "description": "The name of the Update Run", + "required": true, + "type": "string" + }, + { + "name": "updateRunsProperties", + "in": "body", + "description": "Properties of the updateRuns object", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateRun" + } + } + ], + "responses": { + "200": { + "description": "Resource 'UpdateRun' update operation succeeded", + "schema": { + "$ref": "#/definitions/UpdateRun" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "operationId": "UpdateRuns_Delete", + "tags": [ + "UpdateRuns" + ], + "description": "Delete specified Update Run", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "updateName", + "in": "path", + "description": "The name of the Update", + "required": true, + "type": "string" + }, + { + "name": "updateRunName", + "in": "path", + "description": "The name of the Update Run", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/uploadCertificate": { + "post": { + "operationId": "Clusters_UploadCertificate", + "tags": [ + "Clusters" + ], + "description": "Upload certificate.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster.", + "required": true, + "type": "string" + }, + { + "name": "uploadCertificateRequest", + "in": "body", + "description": "Upload certificate request.", + "required": true, + "schema": { + "$ref": "#/definitions/UploadCertificateRequest" + } + } + ], + "responses": { + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/edgeMachines": { + "get": { + "operationId": "EdgeMachines_ListByResourceGroup", + "tags": [ + "EdgeMachines" + ], + "description": "List all edge machines in a resource group.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/EdgeMachineListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List edge machines in a given resource group": { + "$ref": "./examples/EdgeMachines_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/edgeMachines/{edgeMachineName}": { + "get": { + "operationId": "EdgeMachines_Get", + "tags": [ + "EdgeMachines" + ], + "description": "Get an edge machine.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "edgeMachineName", + "in": "path", + "description": "Name of Device", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-_]{3,63}$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/EdgeMachine" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EdgeMachines_Get_MaximumSet": { + "$ref": "./examples/EdgeMachines_Get.json" + } + } + }, + "put": { + "operationId": "EdgeMachines_CreateOrUpdate", + "tags": [ + "EdgeMachines" + ], + "description": "Create or update an edge machine.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "edgeMachineName", + "in": "path", + "description": "Name of Device", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-_]{3,63}$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/EdgeMachine" + } + } + ], + "responses": { + "200": { + "description": "Resource 'EdgeMachine' update operation succeeded", + "schema": { + "$ref": "#/definitions/EdgeMachine" + } + }, + "201": { + "description": "Resource 'EdgeMachine' create operation succeeded", + "schema": { + "$ref": "#/definitions/EdgeMachine" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EdgeMachines_CreateOrUpdate": { + "$ref": "./examples/EdgeMachines_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "EdgeMachines_Update", + "tags": [ + "EdgeMachines" + ], + "description": "Update an edge machine.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "edgeMachineName", + "in": "path", + "description": "Name of Device", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-_]{3,63}$" + }, + { + "name": "properties", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/EdgeMachinePatch" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/EdgeMachine" + } + }, + "202": { + "description": "Resource update request accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EdgeMachines_Update": { + "$ref": "./examples/EdgeMachines_Update.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "EdgeMachines_Delete", + "tags": [ + "EdgeMachines" + ], + "description": "Delete an edge machine.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "edgeMachineName", + "in": "path", + "description": "Name of Device", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-_]{3,63}$" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EdgeMachines_Delete_MaximumSet": { + "$ref": "./examples/EdgeMachines_Delete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/edgeMachines/{edgeMachineName}/jobs": { + "get": { + "operationId": "EdgeMachineJobs_List", + "tags": [ + "EdgeMachineJobs" + ], + "description": "List EdgeMachineJob resources by EdgeMachines", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "edgeMachineName", + "in": "path", + "description": "Name of Device", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-_]{3,63}$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/EdgeMachineJobListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EdgeMachineJobs_List_MaximumSet": { + "$ref": "./examples/EdgeMachineJobs_List_MaximumSet_Gen.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/edgeMachines/{edgeMachineName}/jobs/{jobsName}": { + "get": { + "operationId": "EdgeMachineJobs_Get", + "tags": [ + "EdgeMachineJobs" + ], + "description": "Get a EdgeMachineJob", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "edgeMachineName", + "in": "path", + "description": "Name of Device", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-_]{3,63}$" + }, + { + "name": "jobsName", + "in": "path", + "description": "Name of EdgeMachineJob", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-_]{3,63}$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/EdgeMachineJob" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EdgeMachineJobs_Get_CollectLog": { + "$ref": "./examples/EdgeMachineJobs_Get_CollectLog.json" + }, + "EdgeMachineJobs_Get_ProvisionOs": { + "$ref": "./examples/EdgeMachineJobs_Get_ProvisionOs.json" + }, + "EdgeMachineJobs_Get_RemoteSupport": { + "$ref": "./examples/EdgeMachineJobs_Get_RemoteSupport.json" + } + } + }, + "put": { + "operationId": "EdgeMachineJobs_CreateOrUpdate", + "tags": [ + "EdgeMachineJobs" + ], + "description": "Create a EdgeMachineJob", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "edgeMachineName", + "in": "path", + "description": "Name of Device", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-_]{3,63}$" + }, + { + "name": "jobsName", + "in": "path", + "description": "Name of EdgeMachineJob", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-_]{3,63}$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/EdgeMachineJob" + } + } + ], + "responses": { + "200": { + "description": "Resource 'EdgeMachineJob' update operation succeeded", + "schema": { + "$ref": "#/definitions/EdgeMachineJob" + } + }, + "201": { + "description": "Resource 'EdgeMachineJob' create operation succeeded", + "schema": { + "$ref": "#/definitions/EdgeMachineJob" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EdgeMachineJobs_CreateOrUpdate_CollectLog": { + "$ref": "./examples/EdgeMachineJobs_CreateOrUpdate_CollectLog.json" + }, + "EdgeMachineJobs_CreateOrUpdate_DownloadOs": { + "$ref": "./examples/EdgeMachineJobs_CreateOrUpdate_DownloadOs.json" + }, + "EdgeMachineJobs_CreateOrUpdate_ProvisionOs": { + "$ref": "./examples/EdgeMachineJobs_CreateOrUpdate_ProvisionOs.json" + }, + "EdgeMachineJobs_CreateOrUpdate_RemoteSupport": { + "$ref": "./examples/EdgeMachineJobs_CreateOrUpdate_RemoteSupport.json" + }, + "EdgeMachineJobs_CreateOrUpdate_UpdateOs": { + "$ref": "./examples/EdgeMachineJobs_CreateOrUpdate_UpdateOs.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "EdgeMachineJobs_Delete", + "tags": [ + "EdgeMachineJobs" + ], + "description": "Delete a EdgeMachineJob", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "edgeMachineName", + "in": "path", + "description": "Name of Device", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-_]{3,63}$" + }, + { + "name": "jobsName", + "in": "path", + "description": "Name of EdgeMachineJob", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-_]{3,63}$" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EdgeMachineJobs_Delete_MaximumSet": { + "$ref": "./examples/EdgeMachineJobs_Delete_MaximumSet_Gen.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/locations/{location}/validateOwnershipVouchers": { + "post": { + "operationId": "OwnershipVouchers_Validate", + "description": "Validates ownership vouchers.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" + }, + { + "name": "validationRequest", + "in": "body", + "description": "Ownership vouchers to be validated.", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateOwnershipVouchersRequest" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ValidateOwnershipVouchersResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Validate ownership vouchers in a given resource group": { + "$ref": "./examples/ValidateOwnershipVouchers_ByResourceGroup.json" + } + } + } + } + }, + "definitions": { + "AccessLevel": { + "type": "string", + "description": "Remote Support Access Level", + "enum": [ + "Diagnostics", + "DiagnosticsAndRepair" + ], + "x-ms-enum": { + "name": "AccessLevel", + "modelAsString": true, + "values": [ + { + "name": "Diagnostics", + "value": "Diagnostics", + "description": "Allows remote diagnostics operations only." + }, + { + "name": "DiagnosticsAndRepair", + "value": "DiagnosticsAndRepair", + "description": "Allows both remote diagnostics and repair operations." + } + ] + } + }, + "ArcConnectivityProperties": { + "type": "object", + "description": "Connectivity related configuration required by arc server.", + "properties": { + "enabled": { + "type": "boolean", + "description": "True indicates ARC connectivity is enabled" + }, + "serviceConfigurations": { + "type": "array", + "description": "Service configurations associated with the connectivity resource. They are only processed by the server if 'enabled' property is set to 'true'.", + "items": { + "$ref": "#/definitions/ServiceConfiguration" + }, + "x-ms-identifiers": [ + "serviceName" + ] + } + } + }, + "ArcExtensionState": { + "type": "string", + "description": "Arc extension installation state.", + "enum": [ + "NotSpecified", + "Succeeded", + "Failed", + "Canceled", + "Accepted", + "Creating", + "Updating", + "Moving", + "Deleting", + "Deleted" + ], + "x-ms-enum": { + "name": "ArcExtensionState", + "modelAsString": true, + "values": [ + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "Arc extension state is not specified." + }, + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Arc extension state is Succeeded." + }, + { + "name": "Failed", + "value": "Failed", + "description": "Arc extension state is Failed." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "Arc extension state is Canceled." + }, + { + "name": "Accepted", + "value": "Accepted", + "description": "Arc extension state is Accepted when extension installation triggered." + }, + { + "name": "Creating", + "value": "Creating", + "description": "Arc extension is in Creating State." + }, + { + "name": "Updating", + "value": "Updating", + "description": "Arc extension is in Updating State." + }, + { + "name": "Moving", + "value": "Moving", + "description": "Arc extension is in Moving State." + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "Arc extension is in Deleting State." + }, + { + "name": "Deleted", + "value": "Deleted", + "description": "Arc extension is in Deleted State." + } + ] + }, + "readOnly": true + }, + "ArcIdentityResponse": { + "type": "object", + "description": "ArcIdentity details.", + "properties": { + "properties": { + "$ref": "#/definitions/ArcIdentityResponseProperties", + "description": "ArcIdentity properties.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "ArcIdentityResponseProperties": { + "type": "object", + "properties": { + "arcApplicationClientId": { + "type": "string" + }, + "arcApplicationTenantId": { + "type": "string" + }, + "arcServicePrincipalObjectId": { + "type": "string" + }, + "arcApplicationObjectId": { + "type": "string" + } + } + }, + "ArcSetting": { + "type": "object", + "description": "ArcSetting details.", + "properties": { + "properties": { + "$ref": "#/definitions/ArcSettingProperties", + "description": "ArcSetting properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] + }, + "ArcSettingAggregateState": { + "type": "string", + "description": "Aggregate state of Arc agent across the nodes in this HCI cluster.", + "enum": [ + "NotSpecified", + "Error", + "Succeeded", + "Canceled", + "Failed", + "Connected", + "Disconnected", + "Deleted", + "Creating", + "Updating", + "Deleting", + "Moving", + "PartiallySucceeded", + "PartiallyConnected", + "InProgress", + "Accepted", + "Provisioning", + "DisableInProgress" + ], + "x-ms-enum": { + "name": "ArcSettingAggregateState", + "modelAsString": true, + "values": [ + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "The aggregate state is not specified." + }, + { + "name": "Error", + "value": "Error", + "description": "An error occurred in the aggregate state." + }, + { + "name": "Succeeded", + "value": "Succeeded", + "description": "The operation successfully completed across all nodes." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "The operation was canceled across the nodes." + }, + { + "name": "Failed", + "value": "Failed", + "description": "The operation failed on all or most nodes." + }, + { + "name": "Connected", + "value": "Connected", + "description": "All nodes are connected." + }, + { + "name": "Disconnected", + "value": "Disconnected", + "description": "All nodes are disconnected." + }, + { + "name": "Deleted", + "value": "Deleted", + "description": "The Arc agent has been deleted from all nodes." + }, + { + "name": "Creating", + "value": "Creating", + "description": "The Arc agent is being created across the nodes." + }, + { + "name": "Updating", + "value": "Updating", + "description": "The Arc agent is being updated across the nodes." + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "The Arc agent is being deleted across the nodes." + }, + { + "name": "Moving", + "value": "Moving", + "description": "The Arc agent is being moved across the nodes." + }, + { + "name": "PartiallySucceeded", + "value": "PartiallySucceeded", + "description": "The operation succeeded on some nodes." + }, + { + "name": "PartiallyConnected", + "value": "PartiallyConnected", + "description": "Some nodes are connected, others are not." + }, + { + "name": "InProgress", + "value": "InProgress", + "description": "The operation is currently in progress across the nodes." + }, + { + "name": "Accepted", + "value": "Accepted", + "description": "The operation has been accepted and is pending execution." + }, + { + "name": "Provisioning", + "value": "Provisioning", + "description": "The Arc agent is being provisioned across the nodes." + }, + { + "name": "DisableInProgress", + "value": "DisableInProgress", + "description": "The Arc agent is being disabled across the nodes." + } + ] + }, + "readOnly": true + }, + "ArcSettingList": { + "type": "object", + "description": "List of ArcSetting proxy resources for the HCI cluster.", + "properties": { + "value": { + "type": "array", + "description": "The ArcSetting items on this page", + "items": { + "$ref": "#/definitions/ArcSetting" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "ArcSettingProperties": { + "type": "object", + "description": "ArcSetting properties.", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state of the ArcSetting proxy resource.", + "readOnly": true + }, + "arcInstanceResourceGroup": { + "type": "string", + "description": "The resource group that hosts the Arc agents, ie. Hybrid Compute Machine resources." + }, + "arcApplicationClientId": { + "type": "string", + "description": "App id of arc AAD identity." + }, + "arcApplicationTenantId": { + "type": "string", + "description": "Tenant id of arc AAD identity." + }, + "arcServicePrincipalObjectId": { + "type": "string", + "description": "Object id of arc AAD service principal." + }, + "arcApplicationObjectId": { + "type": "string", + "description": "Object id of arc AAD identity." + }, + "aggregateState": { + "$ref": "#/definitions/ArcSettingAggregateState", + "description": "Aggregate state of Arc agent across the nodes in this HCI cluster.", + "readOnly": true + }, + "perNodeDetails": { + "type": "array", + "description": "State of Arc agent in each of the nodes.", + "items": { + "$ref": "#/definitions/PerNodeState" + }, + "readOnly": true + }, + "connectivityProperties": { + "$ref": "#/definitions/ArcConnectivityProperties", + "description": "contains connectivity related configuration for ARC resources" + }, + "defaultExtensions": { + "type": "array", + "description": "Properties for each of the default extensions category", + "items": { + "$ref": "#/definitions/DefaultExtensionDetails" + }, + "readOnly": true, + "x-ms-identifiers": [ + "category" + ] + } + } + }, + "ArcSettingsPatch": { + "type": "object", + "description": "ArcSetting details to update.", + "properties": { + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/ArcSettingsPatchProperties", + "description": "ArcSettings properties.", + "x-ms-client-flatten": true + } + } + }, + "ArcSettingsPatchProperties": { + "type": "object", + "description": "ArcSettings properties.", + "properties": { + "connectivityProperties": { + "$ref": "#/definitions/ArcConnectivityProperties", + "description": "contains connectivity related configuration for ARC resources" + } + } + }, + "AssemblyInfo": { + "type": "object", + "description": "Assembly Package details for Validated Solution Recipe for AzureStackHCI Cluster", + "properties": { + "packageVersion": { + "type": "string", + "description": "Assembly Package version for Validated Solution Recipe for AzureStackHCI Cluster", + "readOnly": true + }, + "payload": { + "type": "array", + "description": "Payload properties for Validated Solution Recipe for AzureStackHCI Cluster", + "items": { + "$ref": "#/definitions/AssemblyInfoPayload" + }, + "readOnly": true, + "x-ms-identifiers": [] + } + } + }, + "AssemblyInfoPayload": { + "type": "object", + "description": "Payload properties for Validated Solution Recipe for AzureStackHCI Cluster", + "properties": { + "identifier": { + "type": "string", + "description": "assembly identifier for Validated Solution Recipe for AzureStackHCI Cluster", + "readOnly": true + }, + "hash": { + "type": "string", + "description": "Hash of assembly package for Validated Solution Recipe for AzureStackHCI Cluster", + "readOnly": true + }, + "fileName": { + "type": "string", + "description": "File name of assembly package for Validated Solution Recipe for AzureStackHCI Cluster", + "readOnly": true + }, + "url": { + "type": "string", + "description": "Url of assembly package for Validated Solution Recipe for AzureStackHCI Cluster", + "readOnly": true + } + } + }, + "AvailabilityType": { + "type": "string", + "description": "Indicates how the update content is made available for download. This determines whether the update is sourced locally, from an online repository, or requires user notification.", + "enum": [ + "Local", + "Online", + "Notify" + ], + "x-ms-enum": { + "name": "AvailabilityType", + "modelAsString": true, + "values": [ + { + "name": "Local", + "value": "Local", + "description": "The update content is available locally within the environment." + }, + { + "name": "Online", + "value": "Online", + "description": "The update content is available from an online source." + }, + { + "name": "Notify", + "value": "Notify", + "description": "The system will notify the user when update content becomes available." + } + ] + } + }, + "ChangeRingRequest": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ChangeRingRequestProperties" + } + } + }, + "ChangeRingRequestProperties": { + "type": "object", + "properties": { + "targetRing": { + "type": "string", + "description": "The target ring for the cluster." + } + } + }, + "Cluster": { + "type": "object", + "description": "Cluster details.", + "properties": { + "properties": { + "$ref": "#/definitions/ClusterProperties", + "description": "Cluster properties.", + "x-ms-client-flatten": true + }, + "identity": { + "$ref": "../../../../../../common-types/resource-management/v6/managedidentity.json#/definitions/ManagedServiceIdentity", + "description": "The managed service identities assigned to this resource.", + "x-ms-client-flatten": true + }, + "kind": { + "type": "string", + "description": "This property identifies the purpose of the Cluster deployment. For example, a valid value is AzureLocal", + "pattern": "^[-\\w\\._,\\(\\\\\\)]+$", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource" + } + ] + }, + "ClusterDesiredProperties": { + "type": "object", + "description": "Desired properties of the cluster.", + "properties": { + "windowsServerSubscription": { + "$ref": "#/definitions/WindowsServerSubscription", + "description": "Desired state of Windows Server Subscription." + }, + "diagnosticLevel": { + "$ref": "#/definitions/DiagnosticLevel", + "description": "Desired level of diagnostic data emitted by the cluster." + } + } + }, + "ClusterIdentityResponse": { + "type": "object", + "description": "Cluster Identity details.", + "properties": { + "properties": { + "$ref": "#/definitions/ClusterIdentityResponseProperties", + "description": "Cluster identity properties.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "ClusterIdentityResponseProperties": { + "type": "object", + "properties": { + "aadClientId": { + "type": "string" + }, + "aadTenantId": { + "type": "string" + }, + "aadServicePrincipalObjectId": { + "type": "string" + }, + "aadApplicationObjectId": { + "type": "string" + } + } + }, + "ClusterList": { + "type": "object", + "description": "List of clusters.", + "properties": { + "value": { + "type": "array", + "description": "The Cluster items on this page", + "items": { + "$ref": "#/definitions/Cluster" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "ClusterNode": { + "type": "object", + "description": "Cluster node details.", + "properties": { + "name": { + "type": "string", + "description": "Name of the cluster node.", + "readOnly": true + }, + "id": { + "type": "number", + "format": "float", + "description": "Id of the node in the cluster.", + "readOnly": true + }, + "windowsServerSubscription": { + "$ref": "#/definitions/WindowsServerSubscription", + "description": "State of Windows Server Subscription.", + "readOnly": true + }, + "nodeType": { + "$ref": "#/definitions/ClusterNodeType", + "description": "Type of the cluster node hardware.", + "readOnly": true + }, + "ehcResourceId": { + "type": "string", + "description": "Edge Hardware Center Resource Id", + "readOnly": true + }, + "manufacturer": { + "type": "string", + "description": "Manufacturer of the cluster node hardware.", + "readOnly": true + }, + "model": { + "type": "string", + "description": "Model name of the cluster node hardware.", + "readOnly": true + }, + "osName": { + "type": "string", + "description": "Operating system running on the cluster node.", + "readOnly": true + }, + "osVersion": { + "type": "string", + "description": "Version of the operating system running on the cluster node.", + "readOnly": true + }, + "osDisplayVersion": { + "type": "string", + "description": "Display version of the operating system running on the cluster node.", + "readOnly": true + }, + "serialNumber": { + "type": "string", + "description": "Immutable id of the cluster node.", + "readOnly": true + }, + "coreCount": { + "type": "number", + "format": "float", + "description": "Number of physical cores on the cluster node.", + "readOnly": true + }, + "memoryInGiB": { + "type": "number", + "format": "float", + "description": "Total available memory on the cluster node (in GiB).", + "readOnly": true + }, + "lastLicensingTimestamp": { + "type": "string", + "format": "date-time", + "description": "Most recent licensing timestamp.", + "readOnly": true + }, + "oemActivation": { + "$ref": "#/definitions/OemActivation", + "description": "OEM activation status of the node.", + "readOnly": true + } + } + }, + "ClusterNodeType": { + "type": "string", + "description": "Specifies the type of hardware vendor for all nodes in the cluster. Indicates whether the nodes are provided by Microsoft or a third-party vendor.", + "enum": [ + "FirstParty", + "ThirdParty" + ], + "x-ms-enum": { + "name": "ClusterNodeType", + "modelAsString": true, + "values": [ + { + "name": "FirstParty", + "value": "FirstParty", + "description": "All nodes in the cluster are provided and managed by Microsoft." + }, + { + "name": "ThirdParty", + "value": "ThirdParty", + "description": "All nodes in the cluster are provided and managed by a third-party vendor." + } + ] + } + }, + "ClusterPatch": { + "type": "object", + "description": "Cluster details to update.", + "properties": { + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "identity": { + "$ref": "../../../../../../common-types/resource-management/v6/managedidentity.json#/definitions/ManagedServiceIdentity", + "description": "Identity of Cluster resource", + "x-ms-client-flatten": true + }, + "properties": { + "$ref": "#/definitions/ClusterPatchProperties", + "description": "Cluster properties.", + "x-ms-client-flatten": true + } + } + }, + "ClusterPatchProperties": { + "type": "object", + "description": "Cluster properties.", + "properties": { + "cloudManagementEndpoint": { + "type": "string", + "description": "Endpoint configured for management from the Azure portal" + }, + "aadClientId": { + "type": "string", + "description": "App id of cluster AAD identity." + }, + "aadTenantId": { + "type": "string", + "description": "Tenant id of cluster AAD identity." + }, + "desiredProperties": { + "$ref": "#/definitions/ClusterDesiredProperties", + "description": "Desired properties of the cluster." + } + } + }, + "ClusterPattern": { + "type": "string", + "description": "Supported Storage Pattern for HCI Cluster", + "enum": [ + "Standard", + "RackAware" + ], + "x-ms-enum": { + "name": "ClusterPattern", + "modelAsString": true, + "values": [ + { + "name": "Standard", + "value": "Standard", + "description": "Standard cluster." + }, + { + "name": "RackAware", + "value": "RackAware", + "description": "RackAware cluster." + } + ] + } + }, + "ClusterProperties": { + "type": "object", + "description": "Cluster properties.", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state. Indicates the current lifecycle status of the resource, including creation, update, deletion, connectivity, and error states.", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/Status", + "description": "Status of the cluster agent. Indicates the current connectivity, validation, and deployment state of the agent within the cluster.", + "readOnly": true + }, + "connectivityStatus": { + "$ref": "#/definitions/ConnectivityStatus", + "description": "Overall connectivity status for the cluster resource. Indicates whether the cluster is connected to Azure, partially connected, or has not recently communicated.", + "readOnly": true + }, + "supportStatus": { + "$ref": "#/definitions/SupportStatus", + "description": "Indicates whether the cluster is under support.", + "readOnly": true + }, + "cloudId": { + "type": "string", + "description": "Unique, immutable resource id.", + "readOnly": true + }, + "ring": { + "type": "string", + "description": "The ring to which this cluster belongs to.", + "readOnly": true + }, + "cloudManagementEndpoint": { + "type": "string", + "description": "Endpoint configured for management from the Azure portal." + }, + "aadClientId": { + "type": "string", + "description": "App id of cluster AAD identity." + }, + "aadTenantId": { + "type": "string", + "description": "Tenant id of cluster AAD identity." + }, + "aadApplicationObjectId": { + "type": "string", + "description": "Object id of cluster AAD identity." + }, + "aadServicePrincipalObjectId": { + "type": "string", + "description": "Id of cluster identity service principal." + }, + "softwareAssuranceProperties": { + "$ref": "#/definitions/SoftwareAssuranceProperties", + "description": "Software Assurance properties of the cluster." + }, + "isManagementCluster": { + "type": "boolean", + "description": "Is Management Cluster, when true indicates that the cluster is used for managing other clusters", + "readOnly": true + }, + "logCollectionProperties": { + "$ref": "#/definitions/LogCollectionProperties", + "description": "Log Collection properties of the cluster." + }, + "remoteSupportProperties": { + "$ref": "#/definitions/RemoteSupportProperties", + "description": "RemoteSupport properties of the cluster." + }, + "desiredProperties": { + "$ref": "#/definitions/ClusterDesiredProperties", + "description": "Desired properties of the cluster." + }, + "reportedProperties": { + "$ref": "#/definitions/ClusterReportedProperties", + "description": "Properties reported by cluster agent.", + "readOnly": true + }, + "isolatedVmAttestationConfiguration": { + "$ref": "#/definitions/IsolatedVmAttestationConfiguration", + "description": "Attestation configurations for isolated VM (e.g. TVM, CVM) of the cluster.", + "readOnly": true + }, + "trialDaysRemaining": { + "type": "number", + "format": "float", + "description": "Number of days remaining in the trial period.", + "readOnly": true + }, + "billingModel": { + "type": "string", + "description": "Type of billing applied to the resource.", + "readOnly": true + }, + "registrationTimestamp": { + "type": "string", + "format": "date-time", + "description": "First cluster sync timestamp.", + "readOnly": true + }, + "lastSyncTimestamp": { + "type": "string", + "format": "date-time", + "description": "Most recent cluster sync timestamp.", + "readOnly": true + }, + "lastBillingTimestamp": { + "type": "string", + "format": "date-time", + "description": "Most recent billing meter timestamp.", + "readOnly": true + }, + "serviceEndpoint": { + "type": "string", + "description": "Region specific DataPath Endpoint of the cluster.", + "readOnly": true + }, + "resourceProviderObjectId": { + "type": "string", + "description": "Object id of RP Service Principal", + "readOnly": true + }, + "secretsLocations": { + "type": "array", + "description": "List of secret locations.", + "items": { + "$ref": "#/definitions/SecretsLocationDetails" + }, + "x-ms-identifiers": [] + }, + "clusterPattern": { + "$ref": "#/definitions/ClusterPattern", + "description": "Supported Storage Type for HCI Cluster", + "readOnly": true + }, + "localAvailabilityZones": { + "type": "array", + "description": "Local Availability Zone information for HCI cluster", + "items": { + "$ref": "#/definitions/LocalAvailabilityZones" + }, + "x-ms-identifiers": [ + "localAvailabilityZoneName" + ] + }, + "identityProvider": { + "type": "string", + "description": "Identity Provider for the cluster", + "default": "ActiveDirectory", + "enum": [ + "ActiveDirectory", + "LocalIdentity" + ], + "x-ms-enum": { + "name": "IdentityProvider", + "modelAsString": true, + "values": [ + { + "name": "ActiveDirectory", + "value": "ActiveDirectory", + "description": "Uses Active Directory as the identity provider, enabling domain-based authentication and centralized identity management. This is the default option." + }, + { + "name": "LocalIdentity", + "value": "LocalIdentity", + "description": "Uses a local identity system integrated with Azure Key Vault for authentication. Suitable for AD-less environments where Active Directory is not available or required." + } + ] + }, + "readOnly": true + } + } + }, + "ClusterReportedProperties": { + "type": "object", + "description": "Properties reported by cluster agent.", + "properties": { + "clusterName": { + "type": "string", + "description": "Name of the on-prem cluster connected to this resource.", + "readOnly": true + }, + "clusterId": { + "type": "string", + "description": "Unique id generated by the on-prem cluster.", + "readOnly": true + }, + "clusterVersion": { + "type": "string", + "description": "Version of the cluster software.", + "readOnly": true + }, + "nodes": { + "type": "array", + "description": "List of nodes reported by the cluster.", + "items": { + "$ref": "#/definitions/ClusterNode" + }, + "readOnly": true + }, + "lastUpdated": { + "type": "string", + "format": "date-time", + "description": "Last time the cluster reported the data.", + "readOnly": true + }, + "msiExpirationTimeStamp": { + "type": "string", + "format": "date-time", + "description": "Specifies the expiration timestamp of the cluster's Managed Service Identity (MSI). The value is expressed in Coordinated Universal Time (UTC).", + "readOnly": true + }, + "imdsAttestation": { + "$ref": "#/definitions/ImdsAttestation", + "description": "IMDS attestation status of the cluster.", + "readOnly": true + }, + "diagnosticLevel": { + "$ref": "#/definitions/DiagnosticLevel", + "description": "Level of diagnostic data emitted by the cluster." + }, + "supportedCapabilities": { + "type": "array", + "description": "Capabilities supported by the cluster.", + "items": { + "type": "string" + }, + "readOnly": true + }, + "clusterType": { + "$ref": "#/definitions/ClusterNodeType", + "description": "Specifies the type of hardware vendor for all nodes in the cluster. Indicates whether the nodes are provided by Microsoft or a third-party vendor.", + "readOnly": true + }, + "manufacturer": { + "type": "string", + "description": "The manufacturer of all the nodes of the cluster.", + "readOnly": true + }, + "oemActivation": { + "$ref": "#/definitions/OemActivation", + "description": "OEM activation status of the cluster.", + "readOnly": true + }, + "hardwareClass": { + "type": "string", + "description": "Hardware class of the cluster.", + "default": "Medium", + "enum": [ + "Small", + "Medium", + "Large" + ], + "x-ms-enum": { + "name": "HardwareClass", + "modelAsString": true, + "values": [ + { + "name": "Small", + "value": "Small", + "description": "The hardware class is small." + }, + { + "name": "Medium", + "value": "Medium", + "description": "The hardware class is medium. This corresponds to the default" + }, + { + "name": "Large", + "value": "Large", + "description": "The hardware class is large." + } + ] + }, + "readOnly": true + } + } + }, + "ClusterSdnProperties": { + "type": "object", + "description": "Represents the Software Defined Networking (SDN) configuration state of the Azure Stack HCI cluster.", + "properties": { + "sdnIntegrationIntent": { + "$ref": "#/definitions/SdnIntegrationIntent", + "description": "Indicates whether Software Defined Networking (SDN) integration should be enabled or disabled for this deployment.", + "readOnly": true + } + }, + "allOf": [ + { "$ref": "#/definitions/SdnProperties" } ] }, - "CollectLogJobProperties": { + "CollectLogJobProperties": { + "type": "object", + "description": "Represents the properties of a log collection job.", + "properties": { + "fromDate": { + "type": "string", + "format": "date-time", + "description": "From date for log collection." + }, + "toDate": { + "type": "string", + "format": "date-time", + "description": "To date for log collection." + }, + "lastLogGenerated": { + "type": "string", + "format": "date-time", + "description": "To date for log collection.", + "readOnly": true + }, + "reportedProperties": { + "$ref": "#/definitions/LogCollectionReportedProperties", + "description": "log collection job reported properties.", + "readOnly": true + } + }, + "required": [ + "fromDate", + "toDate" + ] + }, + "ComplianceAssignmentType": { + "type": "string", + "description": "Represents the compliance assignment type of a resource.", + "enum": [ + "Audit", + "ApplyAndAutoCorrect" + ], + "x-ms-enum": { + "name": "ComplianceAssignmentType", + "modelAsString": true, + "values": [ + { + "name": "Audit", + "value": "Audit", + "description": "Report on the state of the machine, but don't make changes." + }, + { + "name": "ApplyAndAutoCorrect", + "value": "ApplyAndAutoCorrect", + "description": "Applied to the machine. If it drifts, the local service inside the machine makes a correction at the next evaluation." + } + ] + } + }, + "ComplianceStatus": { + "type": "string", + "description": "Represents the compliance status of a resource.", + "enum": [ + "Compliant", + "NonCompliant", + "Pending" + ], + "x-ms-enum": { + "name": "ComplianceStatus", + "modelAsString": true, + "values": [ + { + "name": "Compliant", + "value": "Compliant", + "description": "The resource is compliant" + }, + { + "name": "NonCompliant", + "value": "NonCompliant", + "description": "The resource is non-compliant" + }, + { + "name": "Pending", + "value": "Pending", + "description": "The resource compliance status is pending" + } + ] + } + }, + "ConfidentialVmIntent": { + "type": "string", + "description": "Captures the customer's intent to enable or disable Confidential Virtual Machine (CVM) support on the cluster, either during initial deployment (Day-0) or at a later stage (Day-N).", + "enum": [ + "Enable", + "Disable" + ], + "x-ms-enum": { + "name": "ConfidentialVmIntent", + "modelAsString": true, + "values": [ + { + "name": "Enable", + "value": "Enable", + "description": "Indicates that the customer intends to enable CVM support on the cluster." + }, + { + "name": "Disable", + "value": "Disable", + "description": "Indicates that the customer intends to disable CVM support on the cluster." + } + ] + } + }, + "ConfidentialVmProfile": { + "type": "object", + "description": "Represents the Confidential Virtual Machine (CVM) configuration status for an edge device. It includes the current IGVM support state and detailed component-level status information.", + "properties": { + "igvmStatus": { + "$ref": "#/definitions/IgvmStatus", + "description": "Indicates whether Independent Guest Virtual Machine (IGVM) support is available on the device. This will be 'Enabled' if the device supports CVMs, 'Disabled' if not, and 'Unknown' if the status cannot be determined.", + "readOnly": true + }, + "statusDetails": { + "type": "array", + "description": "Provides detailed status entries for IGVM-related components, including deployment status, compatibility checks, and error diagnostics.", + "items": { + "$ref": "#/definitions/IgvmStatusDetail" + }, + "x-ms-identifiers": [ + "code" + ] + } + } + }, + "ConfidentialVmProperties": { + "type": "object", + "description": "Represents the Confidential Virtual Machine (CVM) support intent and current status for the cluster resource.", + "properties": { + "confidentialVmIntent": { + "type": "string", + "description": "Captures the customer's intent to enable or disable CVM support on the cluster, either during initial deployment (Day-0) or at a later stage (Day-N).", + "default": "Disable", + "enum": [ + "Enable", + "Disable" + ], + "x-ms-enum": { + "name": "ConfidentialVmIntent", + "modelAsString": true, + "values": [ + { + "name": "Enable", + "value": "Enable", + "description": "Indicates that the customer intends to enable CVM support on the cluster." + }, + { + "name": "Disable", + "value": "Disable", + "description": "Indicates that the customer intends to disable CVM support on the cluster." + } + ] + }, + "readOnly": true + }, + "confidentialVmStatus": { + "type": "string", + "description": "Captures the current status of CVM support on the cluster.", + "default": "Disabled", + "enum": [ + "Enabled", + "PartiallyEnabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ConfidentialVmStatus", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "CVM support is fully enabled on the cluster. All nodes are CVM capable." + }, + { + "name": "PartiallyEnabled", + "value": "PartiallyEnabled", + "description": "CVM support is partially enabled. At least one node in the cluster is CVM capable." + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "CVM support is disabled. None of the nodes in the cluster are CVM capable." + } + ] + }, + "readOnly": true + }, + "confidentialVmStatusSummary": { + "type": "string", + "description": "Additional context about CVM support on the cluster, such as reasons for partial enablement or hardware constraints.", + "readOnly": true + } + } + }, + "ConfidentialVmStatus": { + "type": "string", + "description": "Captures the current status of Confidential Virtual Machine (CVM) support on the cluster.", + "enum": [ + "Enabled", + "PartiallyEnabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ConfidentialVmStatus", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "CVM support is fully enabled on the cluster. All nodes are CVM capable." + }, + { + "name": "PartiallyEnabled", + "value": "PartiallyEnabled", + "description": "CVM support is partially enabled. At least one node in the cluster is CVM capable." + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "CVM support is disabled. None of the nodes in the cluster are CVM capable." + } + ] + } + }, + "ConnectivityStatus": { + "type": "string", + "description": "Overall connectivity status for the cluster resource. Indicates whether the cluster is connected to Azure, partially connected, or has not recently communicated.", + "enum": [ + "NotYetRegistered", + "Connected", + "NotConnectedRecently", + "PartiallyConnected", + "Disconnected", + "NotSpecified" + ], + "x-ms-enum": { + "name": "ConnectivityStatus", + "modelAsString": true, + "values": [ + { + "name": "NotYetRegistered", + "value": "NotYetRegistered", + "description": "The cluster has not yet registered with Azure." + }, + { + "name": "Connected", + "value": "Connected", + "description": "The cluster is fully connected to Azure." + }, + { + "name": "NotConnectedRecently", + "value": "NotConnectedRecently", + "description": "The cluster has not connected to Azure recently." + }, + { + "name": "PartiallyConnected", + "value": "PartiallyConnected", + "description": "Some components of the cluster are connected, while others are not." + }, + { + "name": "Disconnected", + "value": "Disconnected", + "description": "The cluster is not connected to Azure." + }, + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "The connectivity status is not specified." + } + ] + } + }, + "ContentPayload": { + "type": "object", + "description": "Represents details of a specific update content payload.", + "properties": { + "url": { + "type": "string", + "description": "Represents url of a update payload." + }, + "hash": { + "type": "string", + "description": "Represents hash of a update payload." + }, + "hashAlgorithm": { + "type": "string", + "description": "Represents hash algorithm of a update payload." + }, + "identifier": { + "type": "string", + "description": "Represents identifier of a update payload." + }, + "packageSizeInBytes": { + "type": "string", + "description": "Represents size in bytes of a update payload." + }, + "group": { + "type": "string", + "description": "Represents the group of a update payload." + }, + "fileName": { + "type": "string", + "description": "Represents the file name of a update payload." + } + } + }, + "CreatedByType": { + "type": "string", + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "CreatedByType", + "modelAsString": true, + "values": [ + { + "name": "User", + "value": "User", + "description": "User" + }, + { + "name": "Application", + "value": "Application", + "description": "Application" + }, + { + "name": "ManagedIdentity", + "value": "ManagedIdentity", + "description": "ManagedIdentity" + }, + { + "name": "Key", + "value": "Key", + "description": "Key" + } + ] + } + }, + "DefaultExtensionDetails": { + "type": "object", + "description": "Properties for a particular default extension category.", + "properties": { + "category": { + "type": "string", + "description": "Default extension category", + "readOnly": true + }, + "consentTime": { + "type": "string", + "format": "date-time", + "description": "Consent time for extension category", + "readOnly": true + } + } + }, + "DeploymentCluster": { + "type": "object", + "description": "AzureStackHCI Cluster deployment properties.", + "properties": { + "name": { + "type": "string", + "description": "The cluster name provided when preparing Active Directory." + }, + "witnessType": { + "type": "string", + "description": "Use a cloud witness if you have internet access and if you use an Azure Storage account to provide a vote on cluster quorum. A cloud witness uses Azure Blob Storage to read or write a blob file and then uses it to arbitrate in split-brain resolution. Only allowed values are 'Cloud', 'FileShare'." + }, + "witnessPath": { + "type": "string", + "description": "Specify the fileshare path for the local witness for your Azure Stack HCI cluster." + }, + "cloudAccountName": { + "type": "string", + "description": "Specify the Azure Storage account name for cloud witness for your Azure Stack HCI cluster." + }, + "azureServiceEndpoint": { + "type": "string", + "description": "For Azure blob service endpoint type, select either Default or Custom domain. If you selected **Custom domain, enter the domain for the blob service in this format core.windows.net." + }, + "hardwareClass": { + "type": "string", + "description": "Hardware class of the cluster.", + "default": "Medium", + "enum": [ + "Small", + "Medium", + "Large" + ], + "x-ms-enum": { + "name": "HardwareClass", + "modelAsString": true, + "values": [ + { + "name": "Small", + "value": "Small", + "description": "The hardware class is small." + }, + { + "name": "Medium", + "value": "Medium", + "description": "The hardware class is medium. This corresponds to the default" + }, + { + "name": "Large", + "value": "Large", + "description": "The hardware class is large." + } + ] + }, + "readOnly": true + }, + "clusterPattern": { + "$ref": "#/definitions/ClusterPattern", + "description": "Cluster Pattern supported." + } + } + }, + "DeploymentConfiguration": { + "type": "object", + "description": "Deployment Configuration", + "properties": { + "version": { + "type": "string", + "description": "deployment template version" + }, + "scaleUnits": { + "type": "array", + "description": "Scale units will contains list of deployment data", + "items": { + "$ref": "#/definitions/ScaleUnits" + }, + "x-ms-identifiers": [] + } + }, + "required": [ + "scaleUnits" + ] + }, + "DeploymentData": { + "type": "object", + "description": "The Deployment data of AzureStackHCI Cluster.", + "properties": { + "securitySettings": { + "$ref": "#/definitions/DeploymentSecuritySettings", + "description": "SecuritySettings to deploy AzureStackHCI Cluster." + }, + "observability": { + "$ref": "#/definitions/Observability", + "description": "Observability config to deploy AzureStackHCI Cluster." + }, + "cluster": { + "$ref": "#/definitions/DeploymentCluster", + "description": "Observability config to deploy AzureStackHCI Cluster." + }, + "identityProvider": { + "$ref": "#/definitions/IdentityProvider", + "description": "Identity Provider for the cluster" + }, + "storage": { + "$ref": "#/definitions/Storage", + "description": "Storage config to deploy AzureStackHCI Cluster." + }, + "namingPrefix": { + "type": "string", + "description": "naming prefix to deploy cluster.", + "pattern": "^[a-zA-Z0-9-]{1,8}$" + }, + "domainFqdn": { + "type": "string", + "description": "FQDN to deploy cluster" + }, + "infrastructureNetwork": { + "type": "array", + "description": "InfrastructureNetwork config to deploy AzureStackHCI Cluster.", + "items": { + "$ref": "#/definitions/InfrastructureNetwork" + }, + "x-ms-identifiers": [] + }, + "physicalNodes": { + "type": "array", + "description": "list of physical nodes config to deploy AzureStackHCI Cluster.", + "items": { + "$ref": "#/definitions/PhysicalNodes" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "hostNetwork": { + "$ref": "#/definitions/DeploymentSettingHostNetwork", + "description": "HostNetwork config to deploy AzureStackHCI Cluster." + }, + "sdnIntegration": { + "$ref": "#/definitions/SdnIntegration", + "description": "SDN Integration config to deploy AzureStackHCI Cluster." + }, + "isManagementCluster": { + "type": "boolean", + "description": "Is Management Cluster, when true indicates that the cluster is used for managing other clusters" + }, + "adouPath": { + "type": "string", + "description": "The path to the Active Directory Organizational Unit container object prepared for the deployment." + }, + "secretsLocation": { + "type": "string", + "description": "Azure key vault endpoint. This property is deprecated from 2023-12-01-preview. Please use secrets property instead." + }, + "secrets": { + "type": "array", + "description": "secrets used for cloud deployment.", + "items": { + "$ref": "#/definitions/EceDeploymentSecrets" + }, + "x-ms-identifiers": [ + "secretName" + ] + }, + "optionalServices": { + "$ref": "#/definitions/OptionalServices", + "description": "OptionalServices config to deploy AzureStackHCI Cluster." + }, + "localAvailabilityZones": { + "type": "array", + "description": "Local Availability Zone information for HCI cluster", + "items": { + "$ref": "#/definitions/LocalAvailabilityZones" + }, + "x-ms-identifiers": [ + "localAvailabilityZoneName" + ] + }, + "assemblyInfo": { + "$ref": "#/definitions/AssemblyInfo", + "description": "Assembly Package details for Validated Solution Recipe for AzureStackHCI Cluster" + } + } + }, + "DeploymentMode": { + "type": "string", + "description": "Deployment mode to trigger job.", + "enum": [ + "Validate", + "Deploy" + ], + "x-ms-enum": { + "name": "DeploymentMode", + "modelAsString": true, + "values": [ + { + "name": "Validate", + "value": "Validate", + "description": "Validate ECE action deployment for a cluster." + }, + { + "name": "Deploy", + "value": "Deploy", + "description": "Deploy ECE action deployment for a cluster." + } + ] + } + }, + "DeploymentSecuritySettings": { + "type": "object", + "description": "The SecuritySettings of AzureStackHCI Cluster.", + "properties": { + "hvciProtection": { + "type": "boolean", + "description": "By default, Hypervisor-protected Code Integrity is enabled on your Azure HCI cluster.", + "default": true + }, + "drtmProtection": { + "type": "boolean", + "description": "By default, Secure Boot is enabled on your Azure HCI cluster. This setting is hardware dependent.", + "default": true + }, + "driftControlEnforced": { + "type": "boolean", + "description": "When set to true, the security baseline is re-applied regularly.", + "default": true + }, + "credentialGuardEnforced": { + "type": "boolean", + "description": "When set to true, Credential Guard is enabled.", + "default": false + }, + "smbSigningEnforced": { + "type": "boolean", + "description": "When set to true, the SMB default instance requires sign in for the client and server services.", + "default": true + }, + "smbClusterEncryption": { + "type": "boolean", + "description": "When set to true, cluster east-west traffic is encrypted.", + "default": false + }, + "sideChannelMitigationEnforced": { + "type": "boolean", + "description": "When set to true, all the side channel mitigations are enabled", + "default": true + }, + "bitlockerBootVolume": { + "type": "boolean", + "description": "When set to true, BitLocker XTS_AES 256-bit encryption is enabled for all data-at-rest on the OS volume of your Azure Stack HCI cluster. This setting is TPM-hardware dependent.", + "default": true + }, + "bitlockerDataVolumes": { + "type": "boolean", + "description": "When set to true, BitLocker XTS-AES 256-bit encryption is enabled for all data-at-rest on your Azure Stack HCI cluster shared volumes.", + "default": true + }, + "wdacEnforced": { + "type": "boolean", + "description": "WDAC is enabled by default and limits the applications and the code that you can run on your Azure Stack HCI cluster.", + "default": true + } + } + }, + "DeploymentSetting": { + "type": "object", + "description": "Edge device resource", + "properties": { + "properties": { + "$ref": "#/definitions/DeploymentSettingsProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] + }, + "DeploymentSettingAdapterPropertyOverrides": { + "type": "object", + "description": "The AdapterPropertyOverrides of a cluster.", + "properties": { + "jumboPacket": { + "type": "string", + "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation." + }, + "networkDirect": { + "type": "string", + "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation." + }, + "networkDirectTechnology": { + "type": "string", + "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. Expected values are 'iWARP', 'RoCEv2', 'RoCE'" + } + } + }, + "DeploymentSettingHostNetwork": { + "type": "object", + "description": "The HostNetwork of a cluster.", + "properties": { + "intents": { + "type": "array", + "description": "The network intents assigned to the network reference pattern used for the deployment. Each intent will define its own name, traffic type, adapter names, and overrides as recommended by your OEM.", + "items": { + "$ref": "#/definitions/DeploymentSettingIntents" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "storageNetworks": { + "type": "array", + "description": "List of StorageNetworks config to deploy AzureStackHCI Cluster.", + "items": { + "$ref": "#/definitions/DeploymentSettingStorageNetworks" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "storageConnectivitySwitchless": { + "type": "boolean", + "description": "Defines how the storage adapters between nodes are connected either switch or switch less..", + "default": false + }, + "enableStorageAutoIp": { + "type": "boolean", + "description": "Optional parameter required only for 3 Nodes Switchless deployments. This allows users to specify IPs and Mask for Storage NICs when Network ATC is not assigning the IPs for storage automatically.", + "default": false + } + } + }, + "DeploymentSettingIntents": { + "type": "object", + "description": "The Intents of a cluster.", + "properties": { + "name": { + "type": "string", + "description": "Name of the network intent you wish to create." + }, + "trafficType": { + "type": "array", + "description": "List of network traffic types. Only allowed values are 'Compute', 'Storage', 'Management'.", + "items": { + "type": "string" + } + }, + "adapter": { + "type": "array", + "description": "Array of network interfaces used for the network intent.", + "items": { + "type": "string" + } + }, + "overrideVirtualSwitchConfiguration": { + "type": "boolean", + "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.", + "default": false + }, + "virtualSwitchConfigurationOverrides": { + "$ref": "#/definitions/DeploymentSettingVirtualSwitchConfigurationOverrides", + "description": "Set virtualSwitch ConfigurationOverrides for cluster." + }, + "overrideQosPolicy": { + "type": "boolean", + "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.", + "default": false + }, + "qosPolicyOverrides": { + "$ref": "#/definitions/QosPolicyOverrides", + "description": "Set QoS PolicyOverrides for cluster." + }, + "overrideAdapterProperty": { + "type": "boolean", + "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.", + "default": false + }, + "adapterPropertyOverrides": { + "$ref": "#/definitions/DeploymentSettingAdapterPropertyOverrides", + "description": "Set Adapter PropertyOverrides for cluster." + } + } + }, + "DeploymentSettingListResult": { + "type": "object", + "description": "The response of a DeploymentSetting list operation.", + "properties": { + "value": { + "type": "array", + "description": "The DeploymentSetting items on this page", + "items": { + "$ref": "#/definitions/DeploymentSetting" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "DeploymentSettingStorageAdapterIPInfo": { + "type": "object", + "description": "The StorageAdapter physical nodes of a cluster.", + "properties": { + "physicalNode": { + "type": "string", + "description": "storage adapter physical node name." + }, + "ipv4Address": { + "type": "string", + "description": "The IPv4 address assigned to each storage adapter physical node on your Azure Stack HCI cluster." + }, + "subnetMask": { + "type": "string", + "description": "The SubnetMask address assigned to each storage adapter physical node on your Azure Stack HCI cluster." + } + } + }, + "DeploymentSettingStorageNetworks": { + "type": "object", + "description": "The StorageNetworks of a cluster.", + "properties": { + "name": { + "type": "string", + "description": "Name of the storage network." + }, + "networkAdapterName": { + "type": "string", + "description": "Name of the storage network adapter." + }, + "vlanId": { + "type": "string", + "description": "ID specified for the VLAN storage network. This setting is applied to the network interfaces that route the storage and VM migration traffic." + }, + "storageAdapterIPInfo": { + "type": "array", + "description": "List of Storage adapter physical nodes config to deploy AzureStackHCI Cluster.", + "items": { + "$ref": "#/definitions/DeploymentSettingStorageAdapterIPInfo" + }, + "x-ms-identifiers": [ + "physicalNode" + ] + } + } + }, + "DeploymentSettingVirtualSwitchConfigurationOverrides": { + "type": "object", + "description": "The VirtualSwitchConfigurationOverrides of a cluster.", + "properties": { + "enableIov": { + "type": "string", + "description": "Enable IoV for Virtual Switch" + }, + "loadBalancingAlgorithm": { + "type": "string", + "description": "Load Balancing Algorithm for Virtual Switch" + } + } + }, + "DeploymentSettingsProperties": { + "type": "object", + "description": "DeploymentSetting properties", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "DeploymentSetting provisioning state", + "readOnly": true + }, + "arcNodeResourceIds": { + "type": "array", + "description": "Azure resource ids of Arc machines to be part of cluster.", + "items": { + "type": "string" + } + }, + "deploymentMode": { + "$ref": "#/definitions/DeploymentMode", + "description": "The deployment mode for cluster deployment." + }, + "operationType": { + "type": "string", + "description": "The intended operation for a cluster.", + "default": "ClusterProvisioning", + "enum": [ + "ClusterProvisioning", + "ClusterUpgrade" + ], + "x-ms-enum": { + "name": "OperationType", + "modelAsString": true, + "values": [ + { + "name": "ClusterProvisioning", + "value": "ClusterProvisioning", + "description": "Cluster provisioning operation." + }, + { + "name": "ClusterUpgrade", + "value": "ClusterUpgrade", + "description": "Cluster upgrade operation." + } + ] + } + }, + "deploymentConfiguration": { + "$ref": "#/definitions/DeploymentConfiguration", + "description": "Scale units will contains list of deployment data" + }, + "reportedProperties": { + "$ref": "#/definitions/EceReportedProperties", + "description": "Deployment Status reported from cluster.", + "readOnly": true + } + }, + "required": [ + "arcNodeResourceIds", + "deploymentMode", + "deploymentConfiguration" + ] + }, + "DeploymentStep": { + "type": "object", + "description": "The Step of AzureStackHCI Cluster.", + "properties": { + "name": { + "type": "string", + "description": "Name of step.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of step.", + "readOnly": true + }, + "fullStepIndex": { + "type": "string", + "description": "FullStepIndex of step.", + "readOnly": true + }, + "startTimeUtc": { + "type": "string", + "description": "Start time of step.", + "readOnly": true + }, + "endTimeUtc": { + "type": "string", + "description": "End time of step.", + "readOnly": true + }, + "status": { + "type": "string", + "description": "Status of step. Allowed values are 'Error', 'Success', 'InProgress'", + "readOnly": true + }, + "steps": { + "type": "array", + "description": "List of nested steps of AzureStackHCI Cluster Deployment.", + "items": { + "$ref": "#/definitions/DeploymentStep" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "exception": { + "type": "array", + "description": "List of exceptions in AzureStackHCI Cluster Deployment.", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "DeviceConfiguration": { + "type": "object", + "description": "The device Configuration for edge device.", + "properties": { + "nicDetails": { + "type": "array", + "description": "NIC Details of device", + "items": { + "$ref": "#/definitions/NicDetail" + }, + "x-ms-identifiers": [ + "adapterName" + ] + }, + "deviceMetadata": { + "type": "string", + "description": "Device metadata details." + } + } + }, + "DeviceKind": { + "type": "string", + "description": "Edge device kind.", + "enum": [ + "HCI" + ], + "x-ms-enum": { + "name": "DeviceKind", + "modelAsString": true, + "values": [ + { + "name": "HCI", + "value": "HCI", + "description": "Arc-enabled edge device with HCI OS." + } + ] + } + }, + "DeviceLogCollectionStatus": { + "type": "string", + "description": "Represents the status of a log collection operation.", + "enum": [ + "NotStarted", + "Running", + "Failed", + "Succeeded", + "Canceled" + ], + "x-ms-enum": { + "name": "DeviceLogCollectionStatus", + "modelAsString": true, + "values": [ + { + "name": "NotStarted", + "value": "NotStarted", + "description": "Log collection operation has not been initiated." + }, + { + "name": "Running", + "value": "Running", + "description": "Indicates that the log collection operation is currently running." + }, + { + "name": "Failed", + "value": "Failed", + "description": "Indicates that the log collection operation has failed." + }, + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Indicates that the log collection operation has completed successfully." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "Indicates that the log collection operation has completed successfully." + } + ] + }, + "readOnly": true + }, + "DeviceState": { + "type": "string", + "description": "The edge device state.", + "enum": [ + "NotSpecified", + "Connected", + "Disconnected", + "Repairing", + "Draining", + "InMaintenance", + "Resuming", + "Processing" + ], + "x-ms-enum": { + "name": "DeviceState", + "modelAsString": true, + "values": [ + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "The edge device state is not specified." + }, + { + "name": "Connected", + "value": "Connected", + "description": "The edge device state is in connected state." + }, + { + "name": "Disconnected", + "value": "Disconnected", + "description": "The edge device state is in disconnected state." + }, + { + "name": "Repairing", + "value": "Repairing", + "description": "The edge device state is in repairing state." + }, + { + "name": "Draining", + "value": "Draining", + "description": "The edge device state is in draining state." + }, + { + "name": "InMaintenance", + "value": "InMaintenance", + "description": "The edge device state is in maintenance state." + }, + { + "name": "Resuming", + "value": "Resuming", + "description": "The edge device state is in resuming state." + }, + { + "name": "Processing", + "value": "Processing", + "description": "The edge device state is in processing state." + } + ] + } + }, + "DiagnosticLevel": { + "type": "string", + "description": "Desired level of diagnostic data emitted by the cluster.", + "enum": [ + "Off", + "Basic", + "Enhanced" + ], + "x-ms-enum": { + "name": "DiagnosticLevel", + "modelAsString": true, + "values": [ + { + "name": "Off", + "value": "Off", + "description": "No diagnostic data will be emitted." + }, + { + "name": "Basic", + "value": "Basic", + "description": "Basic diagnostic data will be emitted, including essential health metrics." + }, + { + "name": "Enhanced", + "value": "Enhanced", + "description": "Enhanced diagnostic data will be emitted, including detailed performance and usage metrics." + } + ] + } + }, + "DnsServerConfig": { + "type": "string", + "description": "Specifies how DNS servers are configured for the infrastructure network. Allowed values are 'UseDnsServer' to use the provided DNS servers, and 'UseForwarder' to use DNS forwarders.", + "enum": [ + "UseDnsServer", + "UseForwarder" + ], + "x-ms-enum": { + "name": "DnsServerConfig", + "modelAsString": true, + "values": [ + { + "name": "UseDnsServer", + "value": "UseDnsServer", + "description": "Use the provided DNS servers for the infrastructure network." + }, + { + "name": "UseForwarder", + "value": "UseForwarder", + "description": "Use DNS forwarders for the infrastructure network." + } + ] + } + }, + "DnsZones": { + "type": "object", + "description": "Details of the DNS Zones to be configured.", + "properties": { + "dnsZoneName": { + "type": "string", + "description": "Name of the DNS Zone to be configured." + }, + "dnsForwarder": { + "type": "array", + "description": "Forwarder details of the DNS Zone to be configured.", + "items": { + "type": "string" + } + } + } + }, + "DownloadOsJobProperties": { + "type": "object", + "description": "Represents the properties of Download Os job.", + "properties": { + "downloadRequest": { + "$ref": "#/definitions/DownloadRequest", + "description": "Download OS request." + }, + "reportedProperties": { + "$ref": "#/definitions/ProvisionOsReportedProperties", + "description": "Reported Properties for Download Os job" + } + }, + "required": [ + "downloadRequest" + ], + "allOf": [ + { + "$ref": "#/definitions/EdgeMachineJobProperties" + } + ], + "x-ms-discriminator-value": "DownloadOs" + }, + "DownloadOsProfile": { + "type": "object", + "description": "Operating system profile.", + "properties": { + "osName": { + "type": "string", + "description": "Name of the operating system." + }, + "osType": { + "type": "string", + "description": "Type of the operating system." + }, + "osVersion": { + "type": "string", + "description": "Version of the operating system." + }, + "osImageLocation": { + "type": "string", + "description": "Location of the operating system image." + }, + "vsrVersion": { + "type": "string", + "description": "Validated Solution Recipe version to be used for the job" + }, + "imageHash": { + "type": "string", + "description": "Hash of the OS package downloaded" + }, + "gpgPubKey": { + "type": "string", + "description": "GPG Public Key used for package verification" + } + } + }, + "DownloadRequest": { + "type": "object", + "description": "Download Request properties", + "properties": { + "target": { + "$ref": "#/definitions/ProvisioningOsType", + "description": "Target operating system to support polymorphic resource.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "osProfile": { + "$ref": "#/definitions/DownloadOsProfile", + "description": "Operating system profile." + } + }, + "required": [ + "target", + "osProfile" + ] + }, + "EceActionStatus": { + "type": "object", + "description": "The ECE action plan deployment status for AzureStackHCI Cluster.", + "properties": { + "status": { + "type": "string", + "description": "Status of ECE action AzureStackHCI Cluster Deployment.", + "readOnly": true + }, + "steps": { + "type": "array", + "description": "List of steps of AzureStackHCI Cluster Deployment.", + "items": { + "$ref": "#/definitions/DeploymentStep" + }, + "readOnly": true, + "x-ms-identifiers": [] + } + } + }, + "EceDeploymentSecrets": { + "type": "object", + "description": "Protected parameters list stored in keyvault.", + "properties": { + "secretName": { + "type": "string", + "description": "Secret name stored in keyvault." + }, + "eceSecretName": { + "$ref": "#/definitions/EceSecrets", + "description": "Secret name expected for Enterprise Cloud Engine (ECE) deployment." + }, + "secretLocation": { + "type": "string", + "format": "uri", + "description": "Secret URI stored in keyvault." + } + } + }, + "EceReportedProperties": { + "type": "object", + "description": "The DeploymentStatus of AzureStackHCI Cluster.", + "properties": { + "validationStatus": { + "$ref": "#/definitions/EceActionStatus", + "description": "validation status of AzureStackHCI Cluster Deployment.", + "readOnly": true + }, + "deploymentStatus": { + "$ref": "#/definitions/EceActionStatus", + "description": "Deployment status of AzureStackHCI Cluster Deployment.", + "readOnly": true + } + } + }, + "EceSecrets": { + "type": "string", + "description": "Secret names allowed for Enterprise Cloud Engine (ECE) deployment.", + "enum": [ + "AzureStackLCMUserCredential", + "DefaultARBApplication", + "LocalAdminCredential", + "WitnessStorageKey" + ], + "x-ms-enum": { + "name": "EceSecrets", + "modelAsString": true, + "values": [ + { + "name": "AzureStackLCMUserCredential", + "value": "AzureStackLCMUserCredential", + "description": "AzureStackLCMUserCredential used for LCM operations for AzureStackHCI cluster." + }, + { + "name": "DefaultARBApplication", + "value": "DefaultARBApplication", + "description": "DefaultARBApplication used to manage Azure Arc resource bridge (ARB) for AzureStackHCI cluster." + }, + { + "name": "LocalAdminCredential", + "value": "LocalAdminCredential", + "description": "LocalAdminCredential used for admin operations for AzureStackHCI cluster." + }, + { + "name": "WitnessStorageKey", + "value": "WitnessStorageKey", + "description": "WitnessStorageKey used for setting up a cloud witness for AzureStackHCI cluster." + } + ] + } + }, + "EdgeDevice": { + "type": "object", + "description": "Edge device resource.", + "properties": { + "kind": { + "$ref": "#/definitions/DeviceKind", + "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value.", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "discriminator": "kind", + "required": [ + "kind" + ], + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] + }, + "EdgeDeviceJob": { + "type": "object", + "description": "EdgeDevice Jobs resource", + "properties": { + "kind": { + "$ref": "#/definitions/EdgeDeviceKind", + "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value.", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "discriminator": "kind", + "required": [ + "kind" + ], + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] + }, + "EdgeDeviceJobListResult": { + "type": "object", + "description": "The response of a EdgeDeviceJob list operation.", + "properties": { + "value": { + "type": "array", + "description": "The EdgeDeviceJob items on this page", + "items": { + "$ref": "#/definitions/EdgeDeviceJob" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "EdgeDeviceJobProperties": { + "type": "object", + "description": "Edge device job properties", + "properties": { + "deploymentMode": { + "$ref": "#/definitions/DeploymentMode", + "description": "Deployment mode to trigger job." + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Job provisioning state", + "readOnly": true + }, + "jobId": { + "type": "string", + "description": "Unique, immutable job id.", + "readOnly": true + }, + "startTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time at which the job started.", + "readOnly": true + }, + "endTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time at which the job completed.", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/JobStatus", + "description": "Status of Edge device job.", + "readOnly": true + } + } + }, + "EdgeDeviceJobType": { + "type": "string", + "description": "Common Job Types supported.", + "enum": [ + "CollectLog", + "RemoteSupport" + ], + "x-ms-enum": { + "name": "EdgeDeviceJobType", + "modelAsString": true, + "values": [ + { + "name": "CollectLog", + "value": "CollectLog", + "description": "Job to collect logs from the device." + }, + { + "name": "RemoteSupport", + "value": "RemoteSupport", + "description": "Job to provide remote support to the device." + } + ] + } + }, + "EdgeDeviceKind": { + "type": "string", + "description": "Edge device kind.", + "enum": [ + "HCI" + ], + "x-ms-enum": { + "name": "EdgeDeviceKind", + "modelAsString": true, + "values": [ + { + "name": "HCI", + "value": "HCI", + "description": "Arc-enabled edge device with HCI OS." + } + ] + } + }, + "EdgeDeviceListResult": { + "type": "object", + "description": "The response of a EdgeDevice list operation.", + "properties": { + "value": { + "type": "array", + "description": "The EdgeDevice items on this page", + "items": { + "$ref": "#/definitions/EdgeDevice" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "EdgeDeviceProperties": { + "type": "object", + "description": "Edge Device properties", + "properties": { + "deviceConfiguration": { + "$ref": "#/definitions/DeviceConfiguration", + "description": "Device Configuration" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state of edgeDevice resource", + "readOnly": true + } + } + }, + "EdgeMachine": { + "type": "object", + "description": "EdgeMachine details.", + "properties": { + "properties": { + "$ref": "#/definitions/EdgeMachineProperties", + "description": "The resource-specific properties for this resource." + }, + "identity": { + "$ref": "../../../../../../common-types/resource-management/v6/managedidentity.json#/definitions/ManagedServiceIdentity", + "description": "The managed service identities assigned to this resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource" + } + ] + }, + "EdgeMachineCollectLogJobProperties": { + "type": "object", + "description": "Properties for pausing a server in the cluster.", + "properties": { + "fromDate": { + "type": "string", + "format": "date-time", + "description": "From date for log collection." + }, + "toDate": { + "type": "string", + "format": "date-time", + "description": "To date for log collection." + }, + "lastLogGenerated": { + "type": "string", + "format": "date-time", + "description": "To date for log collection.", + "readOnly": true + }, + "reportedProperties": { + "$ref": "#/definitions/EdgeMachineCollectLogJobReportedProperties", + "description": "log collection job reported properties.", + "readOnly": true + } + }, + "required": [ + "fromDate", + "toDate" + ], + "allOf": [ + { + "$ref": "#/definitions/EdgeMachineJobProperties" + } + ], + "x-ms-discriminator-value": "CollectLog" + }, + "EdgeMachineCollectLogJobReportedProperties": { + "type": "object", + "description": "Represents the reported properties of a log collection job.", + "properties": { + "percentComplete": { + "type": "integer", + "format": "int32", + "description": "The percentage of the job that is complete.", + "readOnly": true + }, + "validationStatus": { + "$ref": "#/definitions/EceActionStatus", + "description": "Validation status of job.", + "readOnly": true + }, + "deploymentStatus": { + "$ref": "#/definitions/EceActionStatus", + "description": "Deployment status of job.", + "readOnly": true + }, + "logCollectionSessionDetails": { + "type": "array", + "description": "Details of the log collection session.", + "items": { + "$ref": "#/definitions/LogCollectionJobSession" + }, + "readOnly": true, + "x-ms-identifiers": [ + "correlationId" + ] + } + } + }, + "EdgeMachineConnectivityStatus": { + "type": "string", + "description": "Overall connectivity status for the machine resource.", + "enum": [ + "NotSpecified", + "Disconnected", + "Connected" + ], + "x-ms-enum": { + "name": "EdgeMachineConnectivityStatus", + "modelAsString": true, + "values": [ + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "The connectivity status of the machine resource is not specified." + }, + { + "name": "Disconnected", + "value": "Disconnected", + "description": "The machine resource is disconnected." + }, + { + "name": "Connected", + "value": "Connected", + "description": "The machine resource is connected." + } + ] + } + }, + "EdgeMachineJob": { + "type": "object", + "description": "Cluster Jobs resource", + "properties": { + "properties": { + "$ref": "#/definitions/EdgeMachineJobProperties", + "description": "The resource-specific properties for this resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] + }, + "EdgeMachineJobListResult": { + "type": "object", + "description": "The response of a EdgeMachineJob list operation.", + "properties": { + "value": { + "type": "array", + "description": "The EdgeMachineJob items on this page", + "items": { + "$ref": "#/definitions/EdgeMachineJob" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "EdgeMachineJobProperties": { + "type": "object", + "description": "EdgeMachine Job properties", + "properties": { + "jobType": { + "$ref": "#/definitions/EdgeMachineJobType", + "description": "Job Type to support polymorphic resource.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "deploymentMode": { + "$ref": "#/definitions/DeploymentMode", + "description": "Deployment mode to trigger job." + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Job provisioning state", + "readOnly": true + }, + "jobId": { + "type": "string", + "description": "Unique, immutable job id.", + "readOnly": true + }, + "startTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time at which the job started.", + "readOnly": true + }, + "endTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time at which the job completed.", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/JobStatus", + "description": "Status of Edge device job.", + "readOnly": true + }, + "error": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorDetail", + "description": "error details.", + "readOnly": true + } + }, + "discriminator": "jobType", + "required": [ + "jobType" + ] + }, + "EdgeMachineJobReportedProperties": { + "type": "object", + "description": "Reported Properties for job triggered from cloud.", + "properties": { + "percentComplete": { + "type": "integer", + "format": "int32", + "description": "The percentage of the job that is complete.", + "readOnly": true + }, + "validationStatus": { + "$ref": "#/definitions/EceActionStatus", + "description": "Validation status of job.", + "readOnly": true + }, + "deploymentStatus": { + "$ref": "#/definitions/EceActionStatus", + "description": "Deployment status of job.", + "readOnly": true + } + } + }, + "EdgeMachineJobType": { + "type": "string", + "description": "Job Type supported.", + "enum": [ + "CollectLog", + "RemoteSupport", + "ProvisionOs", + "DownloadOs" + ], + "x-ms-enum": { + "name": "EdgeMachineJobType", + "modelAsString": true, + "values": [ + { + "name": "CollectLog", + "value": "CollectLog", + "description": "Job to collect logs from the device." + }, + { + "name": "RemoteSupport", + "value": "RemoteSupport", + "description": "Job to provide remote support to the device." + }, + { + "name": "ProvisionOs", + "value": "ProvisionOs", + "description": "Job to provision operating system in the device." + }, + { + "name": "DownloadOs", + "value": "DownloadOs", + "description": "Job to download OS packages on to the device" + } + ] + } + }, + "EdgeMachineKind": { + "type": "string", + "description": "Edge Machine Kind.", + "enum": [ + "Standard", + "Dedicated" + ], + "x-ms-enum": { + "name": "EdgeMachineKind", + "modelAsString": true, + "values": [ + { + "name": "Standard", + "value": "Standard", + "description": "EdgeMachine resource created using Zero-touch provisioning." + }, + { + "name": "Dedicated", + "value": "Dedicated", + "description": "EdgeMachine resource created for brownfield HCI customers without zero touch provisioning." + } + ] + } + }, + "EdgeMachineListResult": { + "type": "object", + "description": "The response of a EdgeMachine list operation.", + "properties": { + "value": { + "type": "array", + "description": "The EdgeMachine items on this page", + "items": { + "$ref": "#/definitions/EdgeMachine" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "EdgeMachineNetworkProfile": { + "type": "object", + "description": "NetworkProfile of edge machine.", + "properties": { + "nicDetails": { + "type": "array", + "description": "List of Network Interface Card (NIC) Details of edge machine.", + "items": { + "$ref": "#/definitions/EdgeMachineNicDetail" + }, + "readOnly": true, + "x-ms-identifiers": [ + "adapterName" + ] + }, + "switchDetails": { + "type": "array", + "description": "List of switch Details of edge machine.", + "items": { + "$ref": "#/definitions/SwitchDetail" + }, + "readOnly": true, + "x-ms-identifiers": [ + "switchName" + ] + } + } + }, + "EdgeMachineNicDetail": { + "type": "object", + "description": "Network Interface Card (NIC) Details of edge machine.", + "properties": { + "adapterName": { + "type": "string", + "description": "Adapter Name of NIC", + "readOnly": true + }, + "interfaceDescription": { + "type": "string", + "description": "Interface Description of NIC", + "readOnly": true + }, + "componentId": { + "type": "string", + "description": "Component Id of NIC", + "readOnly": true + }, + "driverVersion": { + "type": "string", + "description": "Driver Version of NIC", + "readOnly": true + }, + "ip4Address": { + "type": "string", + "description": "Subnet Mask of NIC", + "readOnly": true + }, + "subnetMask": { + "type": "string", + "description": "Subnet Mask of NIC", + "readOnly": true + }, + "defaultGateway": { + "type": "string", + "description": "Default Gateway of NIC", + "readOnly": true + }, + "dnsServers": { + "type": "array", + "description": "DNS Servers for NIC", + "items": { + "type": "string" + }, + "readOnly": true + }, + "defaultIsolationId": { + "type": "string", + "description": "Default Isolation of Management NIC", + "readOnly": true + }, + "macAddress": { + "type": "string", + "description": "MAC address information of NIC.", + "readOnly": true + }, + "slot": { + "type": "string", + "description": "The slot attached to the NIC.", + "readOnly": true + }, + "switchName": { + "type": "string", + "description": "The switch attached to the NIC, if any.", + "readOnly": true + }, + "nicType": { + "type": "string", + "description": "The type of NIC, physical, virtual, management.", + "readOnly": true + }, + "vlanId": { + "type": "string", + "description": "The VLAN ID of the physical NIC.", + "readOnly": true + }, + "nicStatus": { + "type": "string", + "description": "The status of NIC, up, disconnected.", + "readOnly": true + }, + "rdmaCapability": { + "type": "string", + "description": "Describes the RDMA capability of the network adapter.", + "default": "Disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "RdmaCapability", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "Network Adapter on the device is RDMA Capable" + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Network Adapter on the device is RDMA Capable" + } + ] + }, + "readOnly": true + } + } + }, + "EdgeMachinePatch": { + "type": "object", + "description": "Model for patching edge machine.", + "properties": { + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "identity": { + "$ref": "../../../../../../common-types/resource-management/v6/managedidentity.json#/definitions/ManagedServiceIdentity", + "description": "The managed service identities assigned to this resource." + } + } + }, + "EdgeMachineProperties": { + "type": "object", + "description": "Properties for edge machine.", + "properties": { + "edgeMachineKind": { + "$ref": "#/definitions/EdgeMachineKind", + "description": "Edge Machine type.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The provisioning state of a resource.", + "readOnly": true + }, + "cloudId": { + "type": "string", + "description": "Unique, immutable resource id.", + "readOnly": true + }, + "arcMachineResourceGroupId": { + "type": "string", + "format": "arm-id", + "description": "Optional property to create arc machine in custom resource group.", + "x-ms-mutability": [ + "read", + "create" + ], + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Resources/resourceGroups" + } + ] + } + }, + "arcMachineResourceId": { + "type": "string", + "format": "arm-id", + "description": "Arc machine instance resource id.", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.HybridCompute/machines" + } + ] + } + }, + "arcGatewayResourceId": { + "type": "string", + "format": "arm-id", + "description": "Link to Arc Gateway ARM resource Id", + "x-ms-mutability": [ + "read", + "create" + ], + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.HybridCompute/gateways" + } + ] + } + }, + "siteDetails": { + "$ref": "#/definitions/SiteDetails", + "description": "Service fetches common configuration from site.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "ownershipVoucherDetails": { + "$ref": "#/definitions/OwnershipVoucherDetails", + "description": "Ownership voucher details for provisioned machine.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "provisioningDetails": { + "$ref": "#/definitions/ProvisioningDetails", + "description": "Details for device provisioning.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "devicePoolResourceId": { + "type": "string", + "description": "A machine can only be assigned to single device pool", + "readOnly": true + }, + "machineState": { + "$ref": "#/definitions/EdgeMachineState", + "description": "OS configuration status details ", + "readOnly": true + }, + "connectivityStatus": { + "$ref": "#/definitions/EdgeMachineConnectivityStatus", + "description": "machine connectivity status", + "readOnly": true + }, + "claimedBy": { + "type": "string", + "description": "Tracks the ID of the consuming resource, setting the machine as in-use.", + "readOnly": true + }, + "reportedProperties": { + "$ref": "#/definitions/EdgeMachineReportedProperties", + "description": "Reported properties for edge machine.", + "readOnly": true + }, + "operationDetails": { + "type": "array", + "description": "operation status details for edge machine.", + "items": { + "$ref": "#/definitions/OperationDetail" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "lastSyncTimestamp": { + "type": "string", + "format": "date-time", + "description": "Last time data updated to service.", + "readOnly": true + } + } + }, + "EdgeMachineRemoteSupportJobProperties": { + "type": "object", + "description": "Properties for adding a server in the cluster.", + "properties": { + "accessLevel": { + "$ref": "#/definitions/RemoteSupportAccessLevel", + "description": "Remote support access level." + }, + "expirationTimestamp": { + "type": "string", + "format": "date-time", + "description": "Remote support expiration timestamp." + }, + "type": { + "$ref": "#/definitions/RemoteSupportType", + "description": "Remote support type." + }, + "reportedProperties": { + "$ref": "#/definitions/EdgeMachineRemoteSupportJobReportedProperties", + "description": "log collection job reported properties.", + "readOnly": true + } + }, + "required": [ + "accessLevel", + "expirationTimestamp", + "type" + ], + "allOf": [ + { + "$ref": "#/definitions/EdgeMachineJobProperties" + } + ], + "x-ms-discriminator-value": "RemoteSupport" + }, + "EdgeMachineRemoteSupportJobReportedProperties": { + "type": "object", + "description": "Represents the reported properties of a remote support job.", + "properties": { + "percentComplete": { + "type": "integer", + "format": "int32", + "description": "The percentage of the job that is complete.", + "readOnly": true + }, + "validationStatus": { + "$ref": "#/definitions/EceActionStatus", + "description": "Validation status of job.", + "readOnly": true + }, + "deploymentStatus": { + "$ref": "#/definitions/EceActionStatus", + "description": "Deployment status of job.", + "readOnly": true + }, + "nodeSettings": { + "$ref": "#/definitions/EdgeMachineRemoteSupportNodeSettings", + "description": "Optional settings for configuring the node for remote support.", + "readOnly": true + }, + "sessionDetails": { + "type": "array", + "description": "Details of the remote support session.", + "items": { + "$ref": "#/definitions/RemoteSupportSession" + }, + "readOnly": true, + "x-ms-identifiers": [ + "sessionId" + ] + } + } + }, + "EdgeMachineRemoteSupportNodeSettings": { + "type": "object", + "description": "Represents the settings of a remote support node.", + "properties": { + "state": { + "type": "string", + "description": "The state of the remote support node.", + "readOnly": true + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp when the node settings were created, in UTC.", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp when the node settings were last updated, in UTC.", + "readOnly": true + }, + "connectionStatus": { + "type": "string", + "description": "The current connection status of the remote support session.", + "readOnly": true + }, + "connectionErrorMessage": { + "type": "string", + "description": "The error message, if any, from the last connection attempt.", + "readOnly": true + } + } + }, + "EdgeMachineReportedProperties": { + "type": "object", + "description": "Reported properties for edge machine.", + "properties": { + "lastUpdated": { + "type": "string", + "format": "date-time", + "description": "Last time data reported.", + "readOnly": true + }, + "networkProfile": { + "$ref": "#/definitions/EdgeMachineNetworkProfile", + "description": "Network details for edge machine.", + "readOnly": true + }, + "osProfile": { + "$ref": "#/definitions/OsProfile", + "description": "OS Properties for edge machine.", + "readOnly": true + }, + "hardwareProfile": { + "$ref": "#/definitions/HardwareProfile", + "description": "Hardware related information for edge machine.", + "readOnly": true + }, + "storageProfile": { + "$ref": "#/definitions/StorageProfile", + "description": "Storage related information for edge machine.", + "readOnly": true + }, + "sbeDeploymentPackageInfo": { + "$ref": "#/definitions/SbeDeploymentPackageInfo", + "description": "Solution builder extension (SBE) deployment package information.", + "readOnly": true + }, + "extensionProfile": { + "$ref": "#/definitions/ExtensionProfile", + "description": "Extension details for edge machine.", + "readOnly": true + } + } + }, + "EdgeMachineState": { + "type": "string", + "description": "OS State", + "enum": [ + "Created", + "Registering", + "Unpurposed", + "Transitioning", + "Purposed", + "Updating", + "Resetting", + "Failed", + "Preparing" + ], + "x-ms-enum": { + "name": "EdgeMachineState", + "modelAsString": true, + "values": [ + { + "name": "Created", + "value": "Created", + "description": "Created when EdgeMachine resource created" + }, + { + "name": "Registering", + "value": "Registering", + "description": "EdgeMachine state during device discovery and registration" + }, + { + "name": "Unpurposed", + "value": "Unpurposed", + "description": "EdgeMachine state when machine configured with restricted OS and not provisioned to deploy workloads" + }, + { + "name": "Transitioning", + "value": "Transitioning", + "description": "EdgeMachine state when transitioning from initial OS to target OS" + }, + { + "name": "Purposed", + "value": "Purposed", + "description": "EdgeMachine state when machine configured with target OS to deploy workloads" + }, + { + "name": "Updating", + "value": "Updating", + "description": "EdgeMachine state when OS updates are in-progress" + }, + { + "name": "Resetting", + "value": "Resetting", + "description": "EdgeMachine state when transitioning from target OS to restricted OS" + }, + { + "name": "Failed", + "value": "Failed", + "description": "EdgeMachine failed state and only option to recover is to re-provisioning machine" + }, + { + "name": "Preparing", + "value": "Preparing", + "description": "Preparing EdgeMachine" + } + ] + } + }, + "EdgeSolutionType": { + "type": "string", + "description": "Edge solution type.", + "enum": [ + "WindowsServer" + ], + "x-ms-enum": { + "name": "EdgeSolutionType", + "modelAsString": true, + "values": [ + { + "name": "WindowsServer", + "value": "WindowsServer", + "description": "Edge solution for Windows based edge devices." + } + ] + } + }, + "ErrorDetailModel": { + "type": "object", + "description": "details of validation failure", + "properties": { + "exception": { + "type": "string", + "description": "Exception details while installing extension.", + "readOnly": true + } + } + }, + "Extension": { + "type": "object", + "description": "Details of a particular extension in HCI Cluster.", + "properties": { + "properties": { + "$ref": "#/definitions/ExtensionProperties", + "description": "Describes Machine Extension Properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] + }, + "ExtensionAggregateState": { + "type": "string", + "description": "Aggregate state of Arc Extensions across the nodes in this HCI cluster. This reflects the overall status of the extension deployment and operation across all nodes.", + "enum": [ + "NotSpecified", + "Error", + "Succeeded", + "Canceled", + "Failed", + "Connected", + "Disconnected", + "Deleted", + "Creating", + "Updating", + "Deleting", + "Moving", + "PartiallySucceeded", + "PartiallyConnected", + "InProgress", + "Accepted", + "Provisioning", + "UpgradeFailedRollbackSucceeded" + ], + "x-ms-enum": { + "name": "ExtensionAggregateState", + "modelAsString": true, + "values": [ + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "The aggregate state is not specified." + }, + { + "name": "Error", + "value": "Error", + "description": "An error occurred in the aggregate state." + }, + { + "name": "Succeeded", + "value": "Succeeded", + "description": "The operation succeeded across all nodes." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "The operation was canceled across the nodes." + }, + { + "name": "Failed", + "value": "Failed", + "description": "The operation failed on all or most nodes." + }, + { + "name": "Connected", + "value": "Connected", + "description": "All nodes are connected." + }, + { + "name": "Disconnected", + "value": "Disconnected", + "description": "All nodes are disconnected." + }, + { + "name": "Deleted", + "value": "Deleted", + "description": "The extension has been deleted from all nodes." + }, + { + "name": "Creating", + "value": "Creating", + "description": "The extension is being created across the nodes." + }, + { + "name": "Updating", + "value": "Updating", + "description": "The extension is being updated across the nodes." + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "The extension is being deleted across the nodes." + }, + { + "name": "Moving", + "value": "Moving", + "description": "The extension is being moved across the nodes." + }, + { + "name": "PartiallySucceeded", + "value": "PartiallySucceeded", + "description": "The operation succeeded on some nodes." + }, + { + "name": "PartiallyConnected", + "value": "PartiallyConnected", + "description": "Some nodes are connected, others are not." + }, + { + "name": "InProgress", + "value": "InProgress", + "description": "The operation is currently in progress across the nodes." + }, + { + "name": "Accepted", + "value": "Accepted", + "description": "The operation has been accepted and is pending execution." + }, + { + "name": "Provisioning", + "value": "Provisioning", + "description": "The extension is currently being provisioned across the nodes." + }, + { + "name": "UpgradeFailedRollbackSucceeded", + "value": "UpgradeFailedRollbackSucceeded", + "description": "Extension upgrade failed, but rollback succeeded across the nodes." + } + ] + }, + "readOnly": true + }, + "ExtensionInstanceView": { + "type": "object", + "description": "Describes the Extension Instance View.", + "properties": { + "name": { + "type": "string", + "description": "The extension name." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"MicrosoftMonitoringAgent\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + }, + "status": { + "$ref": "#/definitions/ExtensionInstanceViewStatus", + "description": "Instance view status." + } + } + }, + "ExtensionInstanceViewStatus": { + "type": "object", + "description": "Instance view status.", + "properties": { + "code": { + "type": "string", + "description": "The status code." + }, + "level": { + "$ref": "#/definitions/StatusLevelTypes", + "description": "The level code. Indicates the severity or importance of the status message." + }, + "displayStatus": { + "type": "string", + "description": "The short localizable label for the status." + }, + "message": { + "type": "string", + "description": "The detailed status message, including for alerts and error messages." + }, + "time": { + "type": "string", + "format": "date-time", + "description": "The time of the status." + } + } + }, + "ExtensionList": { + "type": "object", + "description": "List of Extensions in HCI cluster.", + "properties": { + "value": { + "type": "array", + "description": "The Extension items on this page", + "items": { + "$ref": "#/definitions/Extension" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "ExtensionManagedBy": { + "type": "string", + "description": "Indicates whether the extension is managed by the user or by Azure.", + "enum": [ + "User", + "Azure" + ], + "x-ms-enum": { + "name": "ExtensionManagedBy", + "modelAsString": true, + "values": [ + { + "name": "User", + "value": "User", + "description": "The extension is managed by the user." + }, + { + "name": "Azure", + "value": "Azure", + "description": "The extension is managed by Azure." + } + ] + } + }, + "ExtensionParameters": { + "type": "object", + "description": "Describes the properties of a Machine Extension. This object mirrors the definition in HybridCompute.", + "properties": { + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler. Latest version would be used if not specified." + }, + "autoUpgradeMinorVersion": { + "type": "boolean", + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "settings": { + "description": "Json formatted public settings for the extension." + }, + "protectedSettings": { + "format": "password", + "description": "Protected settings (may contain secrets).", + "x-ms-secret": true + }, + "enableAutomaticUpgrade": { + "type": "boolean", + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available." + } + } + }, + "ExtensionPatch": { + "type": "object", + "description": "Extension Details to update", + "properties": { + "properties": { + "$ref": "#/definitions/ExtensionPatchProperties", + "description": "Describes Machine Extension Properties that can be updated.", + "x-ms-client-flatten": true + } + } + }, + "ExtensionPatchParameters": { + "type": "object", + "description": "Describes the properties of a Machine Extension that can be updated.", + "properties": { + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler. Latest version would be used if not specified." + }, + "enableAutomaticUpgrade": { + "type": "boolean", + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available." + }, + "settings": { + "description": "Json formatted public settings for the extension." + }, + "protectedSettings": { + "format": "password", + "description": "Protected settings (may contain secrets).", + "x-ms-secret": true + } + } + }, + "ExtensionPatchProperties": { + "type": "object", + "description": "Describes Machine Extension Properties that can be updated.", + "properties": { + "extensionParameters": { + "$ref": "#/definitions/ExtensionPatchParameters", + "description": "Describes the properties of a Machine Extension that can be updated." + } + } + }, + "ExtensionProfile": { + "type": "object", + "description": "Extensions details for edge device.", + "properties": { + "extensions": { + "type": "array", + "description": "List of Arc extensions installed on edge device.", + "items": { + "$ref": "#/definitions/HciEdgeDeviceArcExtension" + }, + "readOnly": true, + "x-ms-identifiers": [ + "extensionName" + ] + } + } + }, + "ExtensionProperties": { + "type": "object", + "description": "Status of Arc Extension for a particular node in HCI Cluster.", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state of the Extension proxy resource. Indicates the current lifecycle status of the resource, such as whether it's being created, updated, deleted, or has encountered an error.", + "readOnly": true + }, + "extensionParameters": { + "$ref": "#/definitions/ExtensionParameters", + "description": "Parameters specific to this extension type.", + "x-ms-client-flatten": true + }, + "aggregateState": { + "$ref": "#/definitions/ExtensionAggregateState", + "description": "Aggregate state of Arc Extensions across the nodes in this HCI cluster. This reflects the overall status of the extension deployment and operation across all nodes.", + "readOnly": true + }, + "perNodeExtensionDetails": { + "type": "array", + "description": "State of Arc Extension in each of the nodes.", + "items": { + "$ref": "#/definitions/PerNodeExtensionState" + }, + "readOnly": true + }, + "managedBy": { + "$ref": "#/definitions/ExtensionManagedBy", + "description": "Indicates if the extension is managed by Azure or the user. This determines who controls the deployment and lifecycle of the extension.", + "readOnly": true + } + } + }, + "ExtensionUpgradeParameters": { + "type": "object", + "description": "Describes the parameters for Extension upgrade.", + "properties": { + "targetVersion": { + "type": "string", + "description": "Extension Upgrade Target Version." + } + } + }, + "HardwareClass": { + "type": "string", + "description": "Hardware class of the cluster.", + "enum": [ + "Small", + "Medium", + "Large" + ], + "x-ms-enum": { + "name": "HardwareClass", + "modelAsString": true, + "values": [ + { + "name": "Small", + "value": "Small", + "description": "The hardware class is small." + }, + { + "name": "Medium", + "value": "Medium", + "description": "The hardware class is medium. This corresponds to the default" + }, + { + "name": "Large", + "value": "Large", + "description": "The hardware class is large." + } + ] + } + }, + "HardwareProfile": { + "type": "object", + "description": "Hardware profile for the machine", + "properties": { + "cpuCores": { + "type": "integer", + "format": "int64", + "description": "Number of cpu cores in the machine", + "readOnly": true + }, + "cpuSockets": { + "type": "integer", + "format": "int64", + "description": "Number of cpu sockets in the machine", + "readOnly": true + }, + "memoryCapacityInGb": { + "type": "integer", + "format": "int64", + "description": "Memory capacity of the machine", + "readOnly": true + }, + "model": { + "type": "string", + "description": "Model info of the machine", + "readOnly": true + }, + "manufacturer": { + "type": "string", + "description": "manufacturer info of the machine", + "readOnly": true + }, + "serialNumber": { + "type": "string", + "description": "Serial number of the machine", + "readOnly": true + }, + "processorType": { + "type": "string", + "description": "Process type of the machine", + "readOnly": true + } + } + }, + "HciCollectLogJobProperties": { + "type": "object", + "description": "Represents the properties of an HCI Collect Log job.", + "properties": { + "fromDate": { + "type": "string", + "format": "date-time", + "description": "From date for log collection." + }, + "toDate": { + "type": "string", + "format": "date-time", + "description": "To date for log collection." + }, + "lastLogGenerated": { + "type": "string", + "format": "date-time", + "description": "To date for log collection.", + "readOnly": true + }, + "reportedProperties": { + "$ref": "#/definitions/LogCollectionReportedProperties", + "description": "log collection job reported properties.", + "readOnly": true + } + }, + "required": [ + "fromDate", + "toDate" + ], + "allOf": [ + { + "$ref": "#/definitions/HciEdgeDeviceJobProperties" + } + ], + "x-ms-discriminator-value": "CollectLog" + }, + "HciEdgeDevice": { + "type": "object", + "description": "Arc-enabled edge device with HCI OS.", + "properties": { + "properties": { + "$ref": "#/definitions/HciEdgeDeviceProperties", + "description": "properties for Arc-enabled edge device with HCI OS." + } + }, + "allOf": [ + { + "$ref": "#/definitions/EdgeDevice" + } + ], + "x-ms-discriminator-value": "HCI" + }, + "HciEdgeDeviceAdapterPropertyOverrides": { + "type": "object", + "description": "The AdapterPropertyOverrides of a cluster.", + "properties": { + "jumboPacket": { + "type": "string", + "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.", + "readOnly": true + }, + "networkDirect": { + "type": "string", + "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.", + "readOnly": true + }, + "networkDirectTechnology": { + "type": "string", + "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. Expected values are 'iWARP', 'RoCEv2', 'RoCE'", + "readOnly": true + } + } + }, + "HciEdgeDeviceArcExtension": { + "type": "object", + "description": "Arc extension installed on edge device.", + "properties": { + "extensionName": { + "type": "string", + "description": "Arc extension name installed on edge device.", + "readOnly": true + }, + "state": { + "$ref": "#/definitions/ArcExtensionState", + "description": "Arc extension state from arc machine extension.", + "readOnly": true + }, + "errorDetails": { + "type": "array", + "description": "Error details while installing Arc extension.", + "items": { + "$ref": "#/definitions/HciValidationFailureDetail" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "extensionResourceId": { + "type": "string", + "format": "arm-id", + "description": "Arc Extension Azure resource id.", + "readOnly": true + }, + "typeHandlerVersion": { + "type": "string", + "description": "Extension version installed.", + "readOnly": true + }, + "managedBy": { + "$ref": "#/definitions/ExtensionManagedBy", + "description": "Indicates whether the extension is managed by the user or by Azure.", + "readOnly": true + } + } + }, + "HciEdgeDeviceHostNetwork": { + "type": "object", + "description": "The HostNetwork of a cluster.", + "properties": { + "intents": { + "type": "array", + "description": "The network intents assigned to the network reference pattern used for the deployment. Each intent will define its own name, traffic type, adapter names, and overrides as recommended by your OEM.", + "items": { + "$ref": "#/definitions/HciEdgeDeviceIntents" + }, + "readOnly": true, + "x-ms-identifiers": [ + "intentName" + ] + }, + "storageNetworks": { + "type": "array", + "description": "List of StorageNetworks config to deploy AzureStackHCI Cluster.", + "items": { + "$ref": "#/definitions/HciEdgeDeviceStorageNetworks" + }, + "readOnly": true, + "x-ms-identifiers": [ + "networkAdapterName" + ] + }, + "storageConnectivitySwitchless": { + "type": "boolean", + "description": "Defines how the storage adapters between nodes are connected either switch or switch less.", + "readOnly": true + }, + "enableStorageAutoIp": { + "type": "boolean", + "description": "Optional parameter required only for 3 Nodes Switchless deployments. This allows users to specify IPs and Mask for Storage NICs when Network ATC is not assigning the IPs for storage automatically.", + "default": false, + "readOnly": true + } + } + }, + "HciEdgeDeviceIntents": { + "type": "object", + "description": "The Intents of a cluster.", + "properties": { + "scope": { + "type": "integer", + "format": "int64", + "description": "Scope for host network intent.", + "readOnly": true + }, + "intentType": { + "type": "integer", + "format": "int64", + "description": "IntentType for host network intent.", + "readOnly": true + }, + "isComputeIntentSet": { + "type": "boolean", + "description": "IsComputeIntentSet for host network intent.", + "readOnly": true + }, + "isStorageIntentSet": { + "type": "boolean", + "description": "IsStorageIntentSet for host network intent.", + "readOnly": true + }, + "isOnlyStorage": { + "type": "boolean", + "description": "IntentType for host network intent.", + "readOnly": true + }, + "isManagementIntentSet": { + "type": "boolean", + "description": "IsManagementIntentSet for host network intent.", + "readOnly": true + }, + "isStretchIntentSet": { + "type": "boolean", + "description": "IsStretchIntentSet for host network intent.", + "readOnly": true + }, + "isOnlyStretch": { + "type": "boolean", + "description": "IsOnlyStretch for host network intent.", + "readOnly": true + }, + "isNetworkIntentType": { + "type": "boolean", + "description": "IsNetworkIntentType for host network intent.", + "readOnly": true + }, + "intentName": { + "type": "string", + "description": "Name of the network intent you wish to create.", + "readOnly": true + }, + "intentAdapters": { + "type": "array", + "description": "Array of adapters used for the network intent.", + "items": { + "type": "string" + }, + "readOnly": true + }, + "overrideVirtualSwitchConfiguration": { + "type": "boolean", + "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.", + "readOnly": true + }, + "virtualSwitchConfigurationOverrides": { + "$ref": "#/definitions/HciEdgeDeviceVirtualSwitchConfigurationOverrides", + "description": "Set virtualSwitch ConfigurationOverrides for cluster.", + "readOnly": true + }, + "overrideQosPolicy": { + "type": "boolean", + "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.", + "readOnly": true + }, + "qosPolicyOverrides": { + "$ref": "#/definitions/QosPolicyOverrides", + "description": "Set QoS PolicyOverrides for cluster.", + "readOnly": true + }, + "overrideAdapterProperty": { + "type": "boolean", + "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.", + "readOnly": true + }, + "adapterPropertyOverrides": { + "$ref": "#/definitions/HciEdgeDeviceAdapterPropertyOverrides", + "description": "Set Adapter PropertyOverrides for cluster.", + "readOnly": true + } + } + }, + "HciEdgeDeviceJob": { + "type": "object", + "description": "Edge device job for Azure Stack HCI solution.", + "properties": { + "properties": { + "$ref": "#/definitions/HciEdgeDeviceJobProperties", + "description": "HCI Edge device job properties" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/EdgeDeviceJob" + } + ], + "x-ms-discriminator-value": "HCI" + }, + "HciEdgeDeviceJobProperties": { + "type": "object", + "description": "HCI Edge device job properties", + "properties": { + "deploymentMode": { + "$ref": "#/definitions/DeploymentMode", + "description": "Deployment mode to trigger job." + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Job provisioning state", + "readOnly": true + }, + "jobId": { + "type": "string", + "description": "Unique, immutable job id.", + "readOnly": true + }, + "startTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time at which the job started.", + "readOnly": true + }, + "endTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time at which the job completed.", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/JobStatus", + "description": "Status of Edge device job.", + "readOnly": true + }, + "jobType": { + "$ref": "#/definitions/HciEdgeDeviceJobType", + "description": "Job Type to support polymorphic resource.", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "discriminator": "jobType", + "required": [ + "jobType" + ] + }, + "HciEdgeDeviceJobType": { + "type": "string", + "description": "Job Type supported.", + "enum": [ + "CollectLog", + "RemoteSupport" + ], + "x-ms-enum": { + "name": "HciEdgeDeviceJobType", + "modelAsString": true, + "values": [ + { + "name": "CollectLog", + "value": "CollectLog", + "description": "Job to collect logs from the device." + }, + { + "name": "RemoteSupport", + "value": "RemoteSupport", + "description": "Job to provide remote support to the device." + } + ] + } + }, + "HciEdgeDeviceProperties": { + "type": "object", + "description": "properties for Arc-enabled edge device with HCI OS.", + "properties": { + "reportedProperties": { + "$ref": "#/definitions/HciReportedProperties", + "description": "The instance view of all current configurations on HCI device.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/EdgeDeviceProperties" + } + ] + }, + "HciEdgeDeviceStorageAdapterIPInfo": { + "type": "object", + "description": "The StorageAdapter physical nodes of a cluster.", + "properties": { + "physicalNode": { + "type": "string", + "description": "storage adapter physical node name.", + "readOnly": true + }, + "ipv4Address": { + "type": "string", + "description": "The IPv4 address assigned to each storage adapter physical node on your Azure Stack HCI cluster.", + "readOnly": true + }, + "subnetMask": { + "type": "string", + "description": "The SubnetMask address assigned to each storage adapter physical node on your Azure Stack HCI cluster.", + "readOnly": true + } + } + }, + "HciEdgeDeviceStorageNetworks": { + "type": "object", + "description": "The StorageNetworks of a cluster.", + "properties": { + "name": { + "type": "string", + "description": "Name of the storage network.", + "readOnly": true + }, + "networkAdapterName": { + "type": "string", + "description": "Name of the storage network adapter.", + "readOnly": true + }, + "storageVlanId": { + "type": "string", + "description": "ID specified for the VLAN storage network. This setting is applied to the network interfaces that route the storage and VM migration traffic.", + "readOnly": true + }, + "storageAdapterIPInfo": { + "type": "array", + "description": "List of Storage adapter physical nodes config to deploy AzureStackHCI Cluster.", + "items": { + "$ref": "#/definitions/HciEdgeDeviceStorageAdapterIPInfo" + }, + "readOnly": true, + "x-ms-identifiers": [ + "physicalNode" + ] + } + } + }, + "HciEdgeDeviceVirtualSwitchConfigurationOverrides": { + "type": "object", + "description": "The VirtualSwitchConfigurationOverrides of a cluster.", + "properties": { + "enableIov": { + "type": "string", + "description": "Enable IoV for Virtual Switch", + "readOnly": true + }, + "loadBalancingAlgorithm": { + "type": "string", + "description": "Load Balancing Algorithm for Virtual Switch", + "readOnly": true + } + } + }, + "HciHardwareProfile": { + "type": "object", + "description": "Hardware configurations for HCI device.", + "properties": { + "processorType": { + "type": "string", + "description": "Process type of the device", + "readOnly": true + } + } + }, + "HciNetworkProfile": { + "type": "object", + "description": "The network profile of a device.", + "properties": { + "nicDetails": { + "type": "array", + "description": "List of NIC Details of device.", + "items": { + "$ref": "#/definitions/HciNicDetail" + }, + "readOnly": true, + "x-ms-identifiers": [ + "adapterName" + ] + }, + "switchDetails": { + "type": "array", + "description": "List of switch details for edge device.", + "items": { + "$ref": "#/definitions/SwitchDetail" + }, + "readOnly": true, + "x-ms-identifiers": [ + "switchName" + ] + }, + "hostNetwork": { + "$ref": "#/definitions/HciEdgeDeviceHostNetwork", + "description": "HostNetwork config to deploy AzureStackHCI Cluster.", + "readOnly": true + } + } + }, + "HciNicDetail": { + "type": "object", + "description": "The NIC Detail of a device.", + "properties": { + "adapterName": { + "type": "string", + "description": "Adapter Name of NIC", + "readOnly": true + }, + "interfaceDescription": { + "type": "string", + "description": "Interface Description of NIC", + "readOnly": true + }, + "componentId": { + "type": "string", + "description": "Component Id of NIC", + "readOnly": true + }, + "driverVersion": { + "type": "string", + "description": "Driver Version of NIC", + "readOnly": true + }, + "ip4Address": { + "type": "string", + "description": "Subnet Mask of NIC", + "readOnly": true + }, + "subnetMask": { + "type": "string", + "description": "Subnet Mask of NIC", + "readOnly": true + }, + "defaultGateway": { + "type": "string", + "description": "Default Gateway of NIC", + "readOnly": true + }, + "dnsServers": { + "type": "array", + "description": "DNS Servers for NIC", + "items": { + "type": "string" + }, + "readOnly": true + }, + "defaultIsolationId": { + "type": "string", + "description": "Default Isolation of Management NIC", + "readOnly": true + }, + "macAddress": { + "type": "string", + "description": "MAC address information of NIC.", + "readOnly": true + }, + "slot": { + "type": "string", + "description": "The slot attached to the NIC.", + "readOnly": true + }, + "switchName": { + "type": "string", + "description": "The switch attached to the NIC, if any.", + "readOnly": true + }, + "nicType": { + "type": "string", + "description": "The type of NIC, physical, virtual, management.", + "readOnly": true + }, + "vlanId": { + "type": "string", + "description": "The VLAN ID of the physical NIC.", + "readOnly": true + }, + "nicStatus": { + "type": "string", + "description": "The status of NIC, up, disconnected.", + "readOnly": true + }, + "rdmaCapability": { + "type": "string", + "description": "Describes the RDMA capability of the network adapter.", + "default": "Disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "RdmaCapability", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "Network Adapter on the device is RDMA Capable" + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Network Adapter on the device is RDMA Capable" + } + ] + }, + "readOnly": true + } + } + }, + "HciOsProfile": { + "type": "object", + "description": "OS configurations for HCI device.", + "properties": { + "bootType": { + "type": "string", + "description": "The boot type of the device. e.g. UEFI, Legacy etc", + "readOnly": true + }, + "assemblyVersion": { + "type": "string", + "description": "Version of assembly present on device", + "readOnly": true + } + } + }, + "HciRemoteSupportJobProperties": { + "type": "object", + "description": "Represents the properties of a remote support job for HCI.", + "properties": { + "accessLevel": { + "$ref": "#/definitions/RemoteSupportAccessLevel", + "description": "Remote support access level." + }, + "expirationTimestamp": { + "type": "string", + "format": "date-time", + "description": "Remote support expiration timestamp." + }, + "type": { + "$ref": "#/definitions/RemoteSupportType", + "description": "Remote support type." + }, + "reportedProperties": { + "$ref": "#/definitions/RemoteSupportJobReportedProperties", + "description": "log collection job reported properties.", + "readOnly": true + } + }, + "required": [ + "accessLevel", + "expirationTimestamp", + "type" + ], + "allOf": [ + { + "$ref": "#/definitions/HciEdgeDeviceJobProperties" + } + ], + "x-ms-discriminator-value": "RemoteSupport" + }, + "HciReportedProperties": { + "type": "object", + "description": "The device Configuration for HCI device.", + "properties": { + "networkProfile": { + "$ref": "#/definitions/HciNetworkProfile", + "description": "HCI device network information.", + "readOnly": true + }, + "osProfile": { + "$ref": "#/definitions/HciOsProfile", + "description": "HCI device OS specific information.", + "readOnly": true + }, + "sbeDeploymentPackageInfo": { + "$ref": "#/definitions/SbeDeploymentPackageInfo", + "description": "Solution builder extension (SBE) deployment package information.", + "readOnly": true + }, + "storageProfile": { + "$ref": "#/definitions/HciStorageProfile", + "description": "Hci device storage specific information.", + "readOnly": true + }, + "hardwareProfile": { + "$ref": "#/definitions/HciHardwareProfile", + "description": "Hci device hardware specific information.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ReportedProperties" + } + ] + }, + "HciStorageProfile": { + "type": "object", + "description": "Storage configurations for HCI device.", + "properties": { + "poolableDisksCount": { + "type": "integer", + "format": "int64", + "description": "Number of storage disks in the device with $CanPool as true.", + "readOnly": true + } + } + }, + "HciValidationFailureDetail": { + "type": "object", + "description": "details of validation failure", + "properties": { + "exception": { + "type": "string", + "description": "Exception details while installing extension.", + "readOnly": true + } + } + }, + "HealthState": { + "type": "string", + "description": "Overall health state for update-specific health checks. Indicates whether the system is functioning correctly, has warnings or errors, or is undergoing a health evaluation.", + "enum": [ + "Unknown", + "Success", + "Failure", + "Warning", + "Error", + "InProgress" + ], + "x-ms-enum": { + "name": "HealthState", + "modelAsString": true, + "values": [ + { + "name": "Unknown", + "value": "Unknown", + "description": "The health state is not known or cannot be determined." + }, + { + "name": "Success", + "value": "Success", + "description": "The health check completed successfully and the system is healthy." + }, + { + "name": "Failure", + "value": "Failure", + "description": "The health check failed, indicating a critical issue." + }, + { + "name": "Warning", + "value": "Warning", + "description": "The health check detected a non-critical issue that may require attention." + }, + { + "name": "Error", + "value": "Error", + "description": "An error occurred during the health check process." + }, + { + "name": "InProgress", + "value": "InProgress", + "description": "The health check is currently in progress." + } + ] + } + }, + "IdentityProvider": { + "type": "string", + "description": "Identity Provider for the cluster", + "enum": [ + "ActiveDirectory", + "LocalIdentity" + ], + "x-ms-enum": { + "name": "IdentityProvider", + "modelAsString": true, + "values": [ + { + "name": "ActiveDirectory", + "value": "ActiveDirectory", + "description": "Uses Active Directory as the identity provider, enabling domain-based authentication and centralized identity management. This is the default option." + }, + { + "name": "LocalIdentity", + "value": "LocalIdentity", + "description": "Uses a local identity system integrated with Azure Key Vault for authentication. Suitable for AD-less environments where Active Directory is not available or required." + } + ] + } + }, + "IgvmStatus": { + "type": "string", + "description": "Represents the IGVM support status for the device.", + "enum": [ + "Unknown", + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "IgvmStatus", + "modelAsString": true, + "values": [ + { + "name": "Unknown", + "value": "Unknown", + "description": "The IGVM status could not be determined due to a query failure or inconsistent system state." + }, + { + "name": "Enabled", + "value": "Enabled", + "description": "IGVM support is enabled, indicating that confidential VM features are available on this device." + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "IGVM status is disabled, indicating that confidential VM features are not supported on this device." + } + ] + } + }, + "IgvmStatusDetail": { + "type": "object", + "description": "Provides component-level status information related to IGVM enablement on the device.", + "properties": { + "code": { + "type": "string", + "description": "A machine-readable status code indicating the result or condition of a specific IGVM-related check or operation.", + "readOnly": true + }, + "message": { + "type": "string", + "description": "A human-readable message providing context or explanation for the associated status code.", + "readOnly": true + } + } + }, + "ImdsAttestation": { + "type": "string", + "description": "IMDS attestation status of the cluster.", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "ImdsAttestation", + "modelAsString": true, + "values": [ + { + "name": "Disabled", + "value": "Disabled", + "description": "IMDS attestation is disabled for the cluster." + }, + { + "name": "Enabled", + "value": "Enabled", + "description": "IMDS attestation is enabled for the cluster." + } + ] + } + }, + "InfrastructureNetwork": { + "type": "object", + "description": "The InfrastructureNetwork of a AzureStackHCI Cluster.", + "properties": { + "subnetMask": { + "type": "string", + "description": "Subnet mask that matches the provided IP address space." + }, + "gateway": { + "type": "string", + "description": "Default gateway that should be used for the provided IP address space." + }, + "ipPools": { + "type": "array", + "description": "Range of IP addresses from which addresses are allocated for nodes within a subnet.", + "items": { + "$ref": "#/definitions/IpPools" + }, + "x-ms-identifiers": [] + }, + "dnsServerConfig": { + "type": "string", + "description": "Specifies how DNS servers are configured for the infrastructure network. Allowed values are 'UseDnsServer' to use the provided DNS servers, and 'UseForwarder' to use DNS forwarders.", + "default": "UseDnsServer", + "enum": [ + "UseDnsServer", + "UseForwarder" + ], + "x-ms-enum": { + "name": "DnsServerConfig", + "modelAsString": true, + "values": [ + { + "name": "UseDnsServer", + "value": "UseDnsServer", + "description": "Use the provided DNS servers for the infrastructure network." + }, + { + "name": "UseForwarder", + "value": "UseForwarder", + "description": "Use DNS forwarders for the infrastructure network." + } + ] + } + }, + "dnsZones": { + "type": "array", + "description": "Details of the DNS Zones to be configured.", + "items": { + "$ref": "#/definitions/DnsZones" + }, + "x-ms-identifiers": [ + "dnsZoneName" + ] + }, + "dnsServers": { + "type": "array", + "description": "IPv4 address of the DNS servers in your environment.", + "items": { + "type": "string" + } + }, + "useDhcp": { + "type": "boolean", + "description": "Allows customers to use DHCP for Hosts and Cluster IPs. If not declared, the deployment will default to static IPs. When true, GW and DNS servers are not required" + } + } + }, + "IpAddressRange": { + "type": "object", + "description": "IP address range configuration.", + "properties": { + "startIp": { + "type": "string", + "description": "Start IP address." + }, + "endIp": { + "type": "string", + "description": "End IP address." + } + }, + "required": [ + "startIp", + "endIp" + ] + }, + "IpAssignmentType": { + "type": "string", + "description": "IP assignment types", + "enum": [ + "Automatic", + "Manual" + ], + "x-ms-enum": { + "name": "IpAssignmentType", + "modelAsString": true, + "values": [ + { + "name": "Automatic", + "value": "Automatic", + "description": "Automatic IP assignment" + }, + { + "name": "Manual", + "value": "Manual", + "description": "Manual IP assignment" + } + ] + } + }, + "IpPools": { + "type": "object", + "description": "The dnsServers of a device.", + "properties": { + "startingAddress": { + "type": "string", + "description": "Starting IP address for the management network. A minimum of six free, contiguous IPv4 addresses (excluding your host IPs) are needed for infrastructure services such as clustering." + }, + "endingAddress": { + "type": "string", + "description": "Ending IP address for the management network. A minimum of six free, contiguous IPv4 addresses (excluding your host IPs) are needed for infrastructure services such as clustering." + } + } + }, + "IsolatedVmAttestationConfiguration": { + "type": "object", + "description": "Attestation configurations for isolated VM (e.g. TVM, CVM) of the cluster.", + "properties": { + "attestationResourceId": { + "type": "string", + "format": "arm-id", + "description": "Fully qualified Azure resource id of the Microsoft Azure attestation resource associated with this cluster.", + "readOnly": true, + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Attestation/attestationProviders", + "scopes": [ + "Tenant" + ] + } + ] + } + }, + "relyingPartyServiceEndpoint": { + "type": "string", + "description": "Region specific endpoint for relying party service.", + "readOnly": true + }, + "attestationServiceEndpoint": { + "type": "string", + "description": "Region specific endpoint for Microsoft Azure Attestation service for the cluster", + "readOnly": true + } + } + }, + "JobReportedProperties": { + "type": "object", + "description": "Reported Properties for job triggered from cloud.", + "properties": { + "percentComplete": { + "type": "integer", + "format": "int32", + "description": "The percentage of the job that is complete.", + "readOnly": true + }, + "validationStatus": { + "$ref": "#/definitions/EceActionStatus", + "description": "Validation status of job.", + "readOnly": true + }, + "deploymentStatus": { + "$ref": "#/definitions/EceActionStatus", + "description": "Deployment status of job.", + "readOnly": true + } + } + }, + "JobStatus": { + "type": "string", + "description": "Represents the various statuses a job can have throughout its lifecycle.", + "enum": [ + "NotSpecified", + "ValidationInProgress", + "ValidationSuccess", + "ValidationFailed", + "DeploymentInProgress", + "DeploymentFailed", + "DeploymentSuccess", + "Succeeded", + "Failed", + "Canceled", + "Paused", + "Scheduled" + ], + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true, + "values": [ + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "The job status has not been specified." + }, + { + "name": "ValidationInProgress", + "value": "ValidationInProgress", + "description": "The job is currently undergoing validation." + }, + { + "name": "ValidationSuccess", + "value": "ValidationSuccess", + "description": "The job has successfully passed validation." + }, + { + "name": "ValidationFailed", + "value": "ValidationFailed", + "description": "The job has failed validation." + }, + { + "name": "DeploymentInProgress", + "value": "DeploymentInProgress", + "description": "The job's deployment is currently in progress." + }, + { + "name": "DeploymentFailed", + "value": "DeploymentFailed", + "description": "The job's deployment has failed." + }, + { + "name": "DeploymentSuccess", + "value": "DeploymentSuccess", + "description": "The job has been successfully deployed." + }, + { + "name": "Succeeded", + "value": "Succeeded", + "description": "The job has succeeded." + }, + { + "name": "Failed", + "value": "Failed", + "description": "The job has failed." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "The job has been canceled." + }, + { + "name": "Paused", + "value": "Paused", + "description": "The job is paused." + }, + { + "name": "Scheduled", + "value": "Scheduled", + "description": "The job is scheduled to run." + } + ] + }, + "readOnly": true + }, + "KubernetesVersion": { + "type": "object", + "description": "Represents a kubernetes version resource.", + "properties": { + "properties": { + "$ref": "#/definitions/KubernetesVersionProperties", + "description": "The resource-specific properties for this resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] + }, + "KubernetesVersionListResult": { + "type": "object", + "description": "The response of a KubernetesVersion list operation.", + "properties": { + "value": { + "type": "array", + "description": "The KubernetesVersion items on this page", + "items": { + "$ref": "#/definitions/KubernetesVersion" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "KubernetesVersionProperties": { + "type": "object", + "description": "Represents properties of a kubernetes version.", + "properties": { + "version": { + "type": "string", + "description": "Represents kubernetes version." + } + }, + "required": [ + "version" + ] + }, + "LocalAvailabilityZones": { + "type": "object", + "description": "Local Availability Zone information for HCI cluster", + "properties": { + "localAvailabilityZoneName": { + "type": "string", + "description": "Local Availability Zone name for HCI cluster" + }, + "nodes": { + "type": "array", + "description": "Nodes belonging to a particular zone", + "items": { + "type": "string" + } + } + } + }, + "LogCollectionError": { + "type": "object", + "description": "Log Collection Error details of the cluster.", + "properties": { + "errorCode": { + "type": "string", + "description": "Error Code of the log collection", + "readOnly": true + }, + "errorMessage": { + "type": "string", + "description": "Error Message of the log collection", + "readOnly": true + } + } + }, + "LogCollectionJobSession": { + "type": "object", + "description": "Represents a session for collecting logs from an edge device.", + "properties": { + "startTime": { + "type": "string", + "description": "The timestamp when log collection started, in ISO 8601 format.", + "readOnly": true + }, + "endTime": { + "type": "string", + "description": "The timestamp when log collection ended, in ISO 8601 format.", + "readOnly": true + }, + "timeCollected": { + "type": "string", + "description": "The total time logs were collected for, in ISO 8601 duration format.", + "readOnly": true + }, + "logSize": { + "type": "integer", + "format": "int32", + "description": "The size of the collected logs in bytes.", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/DeviceLogCollectionStatus", + "description": "The status of the log collection session.", + "readOnly": true + }, + "correlationId": { + "type": "string", + "description": "A unique identifier for correlating this log collection session with other operations or sessions.", + "readOnly": true + } + } + }, + "LogCollectionJobType": { + "type": "string", + "description": "Specifies the type of log collection job. Determines whether the logs are collected immediately on demand or as part of a scheduled operation.", + "enum": [ + "OnDemand", + "Scheduled" + ], + "x-ms-enum": { + "name": "LogCollectionJobType", + "modelAsString": true, + "values": [ + { + "name": "OnDemand", + "value": "OnDemand", + "description": "Log collection is triggered manually and executed immediately." + }, + { + "name": "Scheduled", + "value": "Scheduled", + "description": "Log collection is scheduled to run at a predefined time or interval." + } + ] + } + }, + "LogCollectionProperties": { + "type": "object", + "description": "Log Collection properties of the cluster.", + "properties": { + "fromDate": { + "type": "string", + "format": "date-time", + "description": "From DateTimeStamp from when logs need to be connected", + "readOnly": true + }, + "toDate": { + "type": "string", + "format": "date-time", + "description": "To DateTimeStamp till when logs need to be connected", + "readOnly": true + }, + "lastLogGenerated": { + "type": "string", + "format": "date-time", + "description": "Recent DateTimeStamp where logs are successfully generated", + "readOnly": true + }, + "logCollectionSessionDetails": { + "type": "array", + "items": { + "$ref": "#/definitions/LogCollectionSession" + }, + "readOnly": true, + "x-ms-identifiers": [] + } + } + }, + "LogCollectionReportedProperties": { + "type": "object", + "description": "Represents the reported properties of a log collection job.", + "properties": { + "percentComplete": { + "type": "integer", + "format": "int32", + "description": "The percentage of the job that is complete.", + "readOnly": true + }, + "validationStatus": { + "$ref": "#/definitions/EceActionStatus", + "description": "Validation status of job.", + "readOnly": true + }, + "deploymentStatus": { + "$ref": "#/definitions/EceActionStatus", + "description": "Deployment status of job.", + "readOnly": true + }, + "logCollectionSessionDetails": { + "type": "array", + "description": "Details of the log collection session.", + "items": { + "$ref": "#/definitions/LogCollectionJobSession" + }, + "readOnly": true, + "x-ms-identifiers": [ + "correlationId" + ] + } + } + }, + "LogCollectionRequest": { + "type": "object", + "description": "Log Collection Request", + "properties": { + "properties": { + "$ref": "#/definitions/LogCollectionRequestProperties", + "description": "Properties for Log Collection Request" + } + } + }, + "LogCollectionRequestProperties": { + "type": "object", + "description": "Properties for Log Collection Request", + "properties": { + "fromDate": { + "type": "string", + "format": "date-time", + "description": "From DateTimeStamp from when logs need to be connected" + }, + "toDate": { + "type": "string", + "format": "date-time", + "description": "To DateTimeStamp till when logs need to be connected" + } + }, + "required": [ + "fromDate", + "toDate" + ] + }, + "LogCollectionSession": { + "type": "object", + "description": "Log Collection Session details of the cluster.", + "properties": { + "logStartTime": { + "type": "string", + "format": "date-time", + "description": "Start Time of the logs when it was collected", + "readOnly": true + }, + "logEndTime": { + "type": "string", + "format": "date-time", + "description": "End Time of the logs when it was collected", + "readOnly": true + }, + "timeCollected": { + "type": "string", + "format": "date-time", + "description": "Duration of logs collected", + "readOnly": true + }, + "logSize": { + "type": "integer", + "format": "int64", + "description": "Size of the logs collected", + "readOnly": true + }, + "logCollectionStatus": { + "$ref": "#/definitions/LogCollectionStatus", + "description": "LogCollection status", + "readOnly": true + }, + "correlationId": { + "type": "string", + "description": "CorrelationId of the log collection", + "readOnly": true + }, + "logCollectionJobType": { + "$ref": "#/definitions/LogCollectionJobType", + "description": "Specifies the type of log collection job. Determines whether the logs are collected immediately on demand or as part of a scheduled operation.", + "readOnly": true + }, + "endTimeCollected": { + "type": "string", + "format": "date-time", + "description": "End Time of the logs when it was collected", + "readOnly": true + }, + "logCollectionError": { + "$ref": "#/definitions/LogCollectionError", + "description": "Log Collection Error details of the cluster.", + "readOnly": true + } + } + }, + "LogCollectionStatus": { + "type": "string", + "description": "LogCollection status", + "enum": [ + "None", + "InProgress", + "Failed", + "Succeeded" + ], + "x-ms-enum": { + "name": "LogCollectionStatus", + "modelAsString": true, + "values": [ + { + "name": "None", + "value": "None", + "description": "No log collection has been initiated." + }, + { + "name": "InProgress", + "value": "InProgress", + "description": "Log collection is currently in progress." + }, + { + "name": "Failed", + "value": "Failed", + "description": "Log collection has failed." + }, + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Log collection completed successfully." + } + ] + }, + "readOnly": true + }, + "NetworkAdapter": { + "type": "object", + "description": "Network adapter configuration.", + "properties": { + "ipAssignmentType": { + "$ref": "#/definitions/IpAssignmentType", + "description": "Type of IP assignment." + }, + "ipAddress": { + "type": "string", + "description": "IP address." + }, + "adapterName": { + "type": "string", + "description": "Adapter Name." + }, + "macAddress": { + "type": "string", + "description": "MAC address." + }, + "ipAddressRange": { + "$ref": "#/definitions/IpAddressRange", + "description": "IP address range." + }, + "gateway": { + "type": "string", + "description": "Gateway id." + }, + "subnetMask": { + "type": "string", + "description": "Subnet mask." + }, + "dnsAddressArray": { + "type": "array", + "description": "Array of DNS addresses.", + "items": { + "type": "string" + } + }, + "vlanId": { + "type": "string", + "description": "VLAN ID for the network setup." + } + }, + "required": [ + "ipAssignmentType" + ] + }, + "NetworkConfiguration": { + "type": "object", + "description": "Network configuration.", + "properties": { + "networkAdapters": { + "type": "array", + "description": "List of network adapters.", + "items": { + "$ref": "#/definitions/NetworkAdapter" + }, + "x-ms-identifiers": [] + } + } + }, + "NetworkController": { + "type": "object", + "description": "network controller config for SDN Integration to deploy AzureStackHCI Cluster.", + "properties": { + "macAddressPoolStart": { + "type": "string", + "description": "macAddressPoolStart of network controller used for SDN Integration." + }, + "macAddressPoolStop": { + "type": "string", + "description": "macAddressPoolStop of network controller used for SDN Integration." + }, + "networkVirtualizationEnabled": { + "type": "boolean", + "description": "NetworkVirtualizationEnabled of network controller used for SDN Integration." + } + } + }, + "NicDetail": { + "type": "object", + "description": "The NIC Detail of a device.", + "properties": { + "adapterName": { + "type": "string", + "description": "Adapter Name of NIC" + }, + "interfaceDescription": { + "type": "string", + "description": "Interface Description of NIC" + }, + "componentId": { + "type": "string", + "description": "Component Id of NIC" + }, + "driverVersion": { + "type": "string", + "description": "Driver Version of NIC" + }, + "ip4Address": { + "type": "string", + "description": "Subnet Mask of NIC" + }, + "subnetMask": { + "type": "string", + "description": "Subnet Mask of NIC" + }, + "defaultGateway": { + "type": "string", + "description": "Default Gateway of NIC" + }, + "dnsServers": { + "type": "array", + "description": "DNS Servers for NIC", + "items": { + "type": "string" + } + }, + "defaultIsolationId": { + "type": "string", + "description": "Default Isolation of Management NIC" + } + } + }, + "NodeArcState": { + "type": "string", + "description": "State of the Arc agent in this node. Indicates the current lifecycle status of the agent, such as whether it's being provisioned, connected, updated, or has encountered an error.", + "enum": [ + "NotSpecified", + "Error", + "Succeeded", + "Canceled", + "Failed", + "Connected", + "Disconnected", + "Deleted", + "Creating", + "Updating", + "Deleting", + "Moving", + "PartiallySucceeded", + "PartiallyConnected", + "InProgress", + "Accepted", + "Provisioning", + "DisableInProgress" + ], + "x-ms-enum": { + "name": "NodeArcState", + "modelAsString": true, + "values": [ + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "The state is not specified." + }, + { + "name": "Error", + "value": "Error", + "description": "An error occurred during the agent's lifecycle." + }, + { + "name": "Succeeded", + "value": "Succeeded", + "description": "The operation completed successfully." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "The operation was canceled before completion." + }, + { + "name": "Failed", + "value": "Failed", + "description": "The operation failed." + }, + { + "name": "Connected", + "value": "Connected", + "description": "The Arc agent is connected on this node." + }, + { + "name": "Disconnected", + "value": "Disconnected", + "description": "The Arc agent is disconnected on this node." + }, + { + "name": "Deleted", + "value": "Deleted", + "description": "The Arc agent has been deleted from this node." + }, + { + "name": "Creating", + "value": "Creating", + "description": "The Arc agent is being created on this node." + }, + { + "name": "Updating", + "value": "Updating", + "description": "The Arc agent is being updated on this node." + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "The Arc agent is being deleted from this node." + }, + { + "name": "Moving", + "value": "Moving", + "description": "The Arc agent is being moved on this node." + }, + { + "name": "PartiallySucceeded", + "value": "PartiallySucceeded", + "description": "The operation partially succeeded." + }, + { + "name": "PartiallyConnected", + "value": "PartiallyConnected", + "description": "The Arc agent is partially connected on this node." + }, + { + "name": "InProgress", + "value": "InProgress", + "description": "The operation is currently in progress." + }, + { + "name": "Accepted", + "value": "Accepted", + "description": "The operation has been accepted and is pending execution." + }, + { + "name": "Provisioning", + "value": "Provisioning", + "description": "The Arc agent is currently being provisioned on this node." + }, + { + "name": "DisableInProgress", + "value": "DisableInProgress", + "description": "The Arc agent is in the process of being disabled on this node." + } + ] + }, + "readOnly": true + }, + "NodeExtensionState": { + "type": "string", + "description": "State of Arc Extension in this node. Reflects the current lifecycle status of the extension on the individual node, such as whether it's being created, updated, deleted, or has encountered an error.", + "enum": [ + "NotSpecified", + "Error", + "Succeeded", + "Canceled", + "Failed", + "Connected", + "Disconnected", + "Deleted", + "Creating", + "Updating", + "Deleting", + "Moving", + "PartiallySucceeded", + "PartiallyConnected", + "InProgress", + "Accepted", + "Provisioning" + ], + "x-ms-enum": { + "name": "NodeExtensionState", + "modelAsString": true, + "values": [ + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "The state is not specified." + }, + { + "name": "Error", + "value": "Error", + "description": "An error occurred during the extension lifecycle." + }, + { + "name": "Succeeded", + "value": "Succeeded", + "description": "The extension operation completed successfully." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "The extension operation was canceled." + }, + { + "name": "Failed", + "value": "Failed", + "description": "The extension operation failed." + }, + { + "name": "Connected", + "value": "Connected", + "description": "The extension is connected on the node." + }, + { + "name": "Disconnected", + "value": "Disconnected", + "description": "The extension is disconnected on the node." + }, + { + "name": "Deleted", + "value": "Deleted", + "description": "The extension has been deleted from the node." + }, + { + "name": "Creating", + "value": "Creating", + "description": "The extension is being created on the node." + }, + { + "name": "Updating", + "value": "Updating", + "description": "The extension is being updated on the node." + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "The extension is being deleted from the node." + }, + { + "name": "Moving", + "value": "Moving", + "description": "The extension is being moved on the node." + }, + { + "name": "PartiallySucceeded", + "value": "PartiallySucceeded", + "description": "The extension operation partially succeeded." + }, + { + "name": "PartiallyConnected", + "value": "PartiallyConnected", + "description": "The extension is partially connected on the node." + }, + { + "name": "InProgress", + "value": "InProgress", + "description": "The extension operation is currently in progress." + }, + { + "name": "Accepted", + "value": "Accepted", + "description": "The extension operation has been accepted and is pending execution." + }, + { + "name": "Provisioning", + "value": "Provisioning", + "description": "The extension is currently being provisioned on the node." + } + ] + }, + "readOnly": true + }, + "OSOperationType": { + "type": "string", + "description": "OS Provision Operation type", + "enum": [ + "Provision", + "Update", + "ReImage" + ], + "x-ms-enum": { + "name": "OSOperationType", + "modelAsString": true, + "values": [ + { + "name": "Provision", + "value": "Provision", + "description": "OS Provisioning operation" + }, + { + "name": "Update", + "value": "Update", + "description": "OS Update operation" + }, + { + "name": "ReImage", + "value": "ReImage", + "description": "OS ReImage operation" + } + ] + } + }, + "Observability": { + "type": "object", + "description": "The Observability of AzureStackHCI Cluster.", + "properties": { + "streamingDataClient": { + "type": "boolean", + "description": "Enables telemetry data to be sent to Microsoft", + "default": true + }, + "euLocation": { + "type": "boolean", + "description": "Location of your cluster. The log and diagnostic data is sent to the appropriate diagnostics servers depending upon where your cluster resides. Setting this to false results in all data sent to Microsoft to be stored outside of the EU.", + "default": false + }, + "episodicDataUpload": { + "type": "boolean", + "description": "When set to true, collects log data to facilitate quicker issue resolution.", + "default": true + } + } + }, + "OemActivation": { + "type": "string", + "description": "OEM activation status of the cluster.", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "OemActivation", + "modelAsString": true, + "values": [ + { + "name": "Disabled", + "value": "Disabled", + "description": "OEM activation is disabled for the cluster." + }, + { + "name": "Enabled", + "value": "Enabled", + "description": "OEM activation is enabled for the cluster." + } + ] + } + }, + "Offer": { + "type": "object", + "description": "Offer details.", + "properties": { + "properties": { + "$ref": "#/definitions/OfferProperties", + "description": "Offer properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] + }, + "OfferList": { + "type": "object", + "description": "List of Offer proxy resources for the HCI cluster.", + "properties": { + "value": { + "type": "array", + "description": "The Offer items on this page", + "items": { + "$ref": "#/definitions/Offer" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "OfferProperties": { "type": "object", - "description": "Properties for pausing a server in the cluster.", + "description": "Publisher properties.", "properties": { - "fromDate": { + "provisioningState": { + "type": "string", + "description": "Provisioning State", + "readOnly": true + }, + "publisherId": { + "type": "string", + "description": "Identifier of the Publisher for the offer" + }, + "content": { + "type": "string", + "description": "JSON serialized catalog content of the offer" + }, + "contentVersion": { + "type": "string", + "description": "The API version of the catalog service used to serve the catalog content" + }, + "skuMappings": { + "type": "array", + "description": "Array of SKU mappings", + "items": { + "$ref": "#/definitions/SkuMappings" + }, + "x-ms-identifiers": [] + } + } + }, + "OnboardingConfiguration": { + "type": "object", + "description": "Onboarding configuration.", + "properties": { + "type": { + "$ref": "#/definitions/OnboardingResourceType", + "description": "Type of the onboarding resource to support polymorphic resource.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "resourceId": { + "type": "string", + "format": "arm-id", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Location of the resource.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tenantId": { + "type": "string", + "description": "Tenant ID of the resource." + }, + "arcVirtualMachineId": { + "type": "string", + "description": "Azure Arc virtual machine ID." + } + } + }, + "OnboardingResourceType": { + "type": "string", + "description": "Onboarding resource type.", + "enum": [ + "HybridComputeMachine" + ], + "x-ms-enum": { + "name": "OnboardingResourceType", + "modelAsString": true, + "values": [ + { + "name": "HybridComputeMachine", + "value": "HybridComputeMachine", + "description": "Hybrid Compute Machine." + } + ] + } + }, + "OperationDetail": { + "type": "object", + "description": "operation detail.", + "properties": { + "name": { + "type": "string", + "description": "operation name.", + "readOnly": true + }, + "id": { + "type": "string", + "description": "operation id.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "operation type.", + "readOnly": true + }, + "resourceId": { + "type": "string", + "format": "arm-id", + "description": "operation resource id.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "operation description.", + "readOnly": true + }, + "status": { + "type": "string", + "description": "operation status.", + "readOnly": true + }, + "error": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorDetail", + "description": "error details.", + "readOnly": true + } + } + }, + "OperationType": { + "type": "string", + "description": "The intended operation for a cluster.", + "enum": [ + "ClusterProvisioning", + "ClusterUpgrade" + ], + "x-ms-enum": { + "name": "OperationType", + "modelAsString": true, + "values": [ + { + "name": "ClusterProvisioning", + "value": "ClusterProvisioning", + "description": "Cluster provisioning operation." + }, + { + "name": "ClusterUpgrade", + "value": "ClusterUpgrade", + "description": "Cluster upgrade operation." + } + ] + } + }, + "OptionalServices": { + "type": "object", + "description": "The OptionalServices of AzureStackHCI Cluster.", + "properties": { + "customLocation": { + "type": "string", + "description": "The name of custom location." + } + } + }, + "OsImage": { + "type": "object", + "description": "Represents a os image resource.", + "properties": { + "properties": { + "$ref": "#/definitions/OsImageProperties", + "description": "The resource-specific properties for this resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] + }, + "OsImageListResult": { + "type": "object", + "description": "The response of a OsImage list operation.", + "properties": { + "value": { + "type": "array", + "description": "The OsImage items on this page", + "items": { + "$ref": "#/definitions/OsImage" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "OsImageProperties": { + "type": "object", + "description": "Represents properties of a os image resource.", + "properties": { + "validatedSolutionRecipeVersion": { + "type": "string", + "description": "Represents validated solution recipe version of a os image." + }, + "composedImageVersion": { + "type": "string", + "description": "Represents composed image version of a os image." + }, + "composedImageIsoUrl": { + "type": "string", + "description": "Represents composed image iso download url of a os image." + }, + "composedImageIsoHash": { + "type": "string", + "description": "Represents composed image iso hash of a os image." + } + } + }, + "OsProfile": { + "type": "object", + "description": "OS configurations for HCI device.", + "properties": { + "bootType": { + "type": "string", + "description": "The boot type of the device. e.g. UEFI, Legacy etc", + "readOnly": true + }, + "assemblyVersion": { + "type": "string", + "description": "Version of assembly present on device", + "readOnly": true + }, + "osType": { + "type": "string", + "description": "OS type (“windows\", “linux”)", + "readOnly": true + }, + "osSku": { + "type": "string", + "description": "OS SKU (e.g., “ Microsoft Azure Linux ROE“, “Azure Stack HCI\", \"Microsoft Azure Linux 3.0\")", + "readOnly": true + }, + "osVersion": { + "type": "string", + "description": "OS Version", + "readOnly": true + }, + "buildNumber": { + "type": "string", + "description": "OS Build Number", + "readOnly": true + }, + "baseImageVersion": { + "type": "string", + "description": "OS Base Image Version", + "readOnly": true + }, + "imageVersion": { + "type": "string", + "description": "OS Image Version", + "readOnly": true + } + } + }, + "OsProvisionProfile": { + "type": "object", + "description": "Operating system profile.", + "properties": { + "osName": { + "type": "string", + "description": "Name of the operating system." + }, + "osType": { "type": "string", - "format": "date-time", - "description": "From date for log collection." + "description": "Type of the operating system." }, - "toDate": { + "osVersion": { "type": "string", - "format": "date-time", - "description": "To date for log collection." + "description": "Version of the operating system." }, - "lastLogGenerated": { + "osImageLocation": { "type": "string", - "format": "date-time", - "description": "To date for log collection.", - "readOnly": true + "description": "Location of the operating system image." }, - "reportedProperties": { - "$ref": "#/definitions/LogCollectionReportedProperties", - "description": "log collection job reported properties.", - "readOnly": true - } - }, - "required": [ - "fromDate", - "toDate" - ], - "allOf": [ - { - "$ref": "#/definitions/EdgeMachineJobProperties" + "vsrVersion": { + "type": "string", + "description": "Validated Solution Recipe version to be used for the job" + }, + "imageHash": { + "type": "string", + "description": "Hash of the OS package downloaded" + }, + "gpgPubKey": { + "type": "string", + "description": "GPG Public Key used for package verification" + }, + "operationType": { + "type": "string", + "description": "Operation sub type of OS Provisioning", + "default": "Provision", + "enum": [ + "Provision", + "Update", + "ReImage" + ], + "x-ms-enum": { + "name": "OSOperationType", + "modelAsString": true, + "values": [ + { + "name": "Provision", + "value": "Provision", + "description": "OS Provisioning operation" + }, + { + "name": "Update", + "value": "Update", + "description": "OS Update operation" + }, + { + "name": "ReImage", + "value": "ReImage", + "description": "OS ReImage operation" + } + ] + } } - ], - "x-ms-discriminator-value": "CollectLog" + } }, - "ConfidentialVmIntent": { + "OwnerKeyType": { "type": "string", - "description": "Captures the customer's intent to enable or disable Confidential Virtual Machine (CVM) support on the cluster, either during initial deployment (Day-0) or at a later stage (Day-N).", + "description": "Type of owner key in the voucher", "enum": [ - "Enable", - "Disable" + "MicrosoftManaged" ], "x-ms-enum": { - "name": "ConfidentialVmIntent", + "name": "OwnerKeyType", "modelAsString": true, "values": [ { - "name": "Enable", - "value": "Enable", - "description": "Indicates that the customer intends to enable CVM support on the cluster." - }, - { - "name": "Disable", - "value": "Disable", - "description": "Indicates that the customer intends to disable CVM support on the cluster." + "name": "MicrosoftManaged", + "value": "MicrosoftManaged", + "description": "Owner is Microsoft managed key" } ] } }, - "ConfidentialVmProfile": { + "OwnershipVoucherDetails": { "type": "object", - "description": "Represents the Confidential Virtual Machine (CVM) configuration status for an edge device. It includes the current IGVM support state and detailed component-level status information.", + "description": "Details for ownership voucher.", "properties": { - "igvmStatus": { - "$ref": "#/definitions/IgvmStatus", - "description": "Indicates whether Independent Guest Virtual Machine (IGVM) support is available on the device. This will be 'Enabled' if the device supports CVMs, 'Disabled' if not, and 'Unknown' if the status cannot be determined.", - "readOnly": true + "ownershipVoucher": { + "type": "string", + "format": "password", + "description": "Ownership voucher in base64 encoded format", + "x-ms-secret": true }, - "statusDetails": { - "type": "array", - "description": "Provides detailed status entries for IGVM-related components, including deployment status, compatibility checks, and error diagnostics.", - "items": { - "$ref": "#/definitions/IgvmStatusDetail" - }, - "x-ms-identifiers": [ - "code" - ] + "ownerKeyType": { + "$ref": "#/definitions/OwnerKeyType", + "description": "Owner key type" } - } + }, + "required": [ + "ownershipVoucher", + "ownerKeyType" + ] }, - "ConfidentialVmProperties": { + "OwnershipVoucherValidationDetails": { "type": "object", - "description": "Represents the Confidential Virtual Machine (CVM) support intent and current status for the cluster resource.", + "description": "Ownership Voucher Validation Details", "properties": { - "confidentialVmIntent": { + "validationStatus": { + "$ref": "#/definitions/OwnershipVoucherValidationStatus", + "description": "The ownership voucher validation status." + }, + "serialNumber": { "type": "string", - "description": "Captures the customer's intent to enable or disable CVM support on the cluster, either during initial deployment (Day-0) or at a later stage (Day-N).", - "default": "Disable", - "enum": [ - "Enable", - "Disable" - ], - "x-ms-enum": { - "name": "ConfidentialVmIntent", - "modelAsString": true, - "values": [ - { - "name": "Enable", - "value": "Enable", - "description": "Indicates that the customer intends to enable CVM support on the cluster." - }, - { - "name": "Disable", - "value": "Disable", - "description": "Indicates that the customer intends to disable CVM support on the cluster." - } - ] - }, - "readOnly": true + "description": "Serial number of the device." }, - "confidentialVmStatus": { + "id": { "type": "string", - "description": "Captures the current status of CVM support on the cluster.", - "default": "Disabled", - "enum": [ - "Enabled", - "PartiallyEnabled", - "Disabled" - ], - "x-ms-enum": { - "name": "ConfidentialVmStatus", - "modelAsString": true, - "values": [ - { - "name": "Enabled", - "value": "Enabled", - "description": "CVM support is fully enabled on the cluster. All nodes are CVM capable." - }, - { - "name": "PartiallyEnabled", - "value": "PartiallyEnabled", - "description": "CVM support is partially enabled. At least one node in the cluster is CVM capable." - }, - { - "name": "Disabled", - "value": "Disabled", - "description": "CVM support is disabled. None of the nodes in the cluster are CVM capable." - } - ] - }, - "readOnly": true + "description": "FDO guid of the Ownership Voucher." }, - "confidentialVmStatusSummary": { + "manufacturer": { "type": "string", - "description": "Additional context about CVM support on the cluster, such as reasons for partial enablement or hardware constraints.", - "readOnly": true + "description": "Name of the manufacturer." + }, + "modelName": { + "type": "string", + "description": "Name of the model." + }, + "version": { + "type": "string", + "description": "Version of the Ownership Voucher format" + }, + "azureMachineId": { + "type": "string", + "description": "Azure Machine Id of the Ownership voucher" + }, + "error": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorDetail", + "description": "Error details if the validation failed." } } }, - "ConfidentialVmStatus": { + "OwnershipVoucherValidationStatus": { "type": "string", - "description": "Captures the current status of Confidential Virtual Machine (CVM) support on the cluster.", + "description": "Ownership Voucher validation Status.", "enum": [ - "Enabled", - "PartiallyEnabled", - "Disabled" + "Valid", + "Invalid" ], "x-ms-enum": { - "name": "ConfidentialVmStatus", + "name": "OwnershipVoucherValidationStatus", "modelAsString": true, "values": [ { - "name": "Enabled", - "value": "Enabled", - "description": "CVM support is fully enabled on the cluster. All nodes are CVM capable." - }, - { - "name": "PartiallyEnabled", - "value": "PartiallyEnabled", - "description": "CVM support is partially enabled. At least one node in the cluster is CVM capable." + "name": "Valid", + "value": "Valid", + "description": "Voucher evaluated as valid." }, { - "name": "Disabled", - "value": "Disabled", - "description": "CVM support is disabled. None of the nodes in the cluster are CVM capable." + "name": "Invalid", + "value": "Invalid", + "description": "Voucher evaluated as invalid." } ] } }, - "ContentPayload": { + "PackageVersionInfo": { + "type": "object", + "description": "Current version of each updatable component.", + "properties": { + "packageType": { + "type": "string", + "description": "Package type" + }, + "version": { + "type": "string", + "description": "Package version" + }, + "lastUpdated": { + "type": "string", + "format": "date-time", + "description": "Last time this component was updated." + } + } + }, + "PasswordCredential": { + "type": "object", + "properties": { + "secretText": { + "type": "string" + }, + "keyId": { + "type": "string" + }, + "startDateTime": { + "type": "string", + "format": "date-time" + }, + "endDateTime": { + "type": "string", + "format": "date-time" + } + } + }, + "PerNodeExtensionState": { "type": "object", - "description": "Represents details of a specific update content payload.", + "description": "Status of Arc Extension for a particular node in HCI Cluster.", "properties": { - "url": { + "name": { "type": "string", - "description": "Represents url of a update payload." + "description": "Name of the node in HCI Cluster.", + "readOnly": true }, - "hash": { + "extension": { "type": "string", - "description": "Represents hash of a update payload." + "description": "Fully qualified resource ID for the particular Arc Extension on this node.", + "readOnly": true }, - "hashAlgorithm": { + "typeHandlerVersion": { "type": "string", - "description": "Represents hash algorithm of a update payload." + "description": "Specifies the version of the script handler.", + "readOnly": true }, - "identifier": { - "type": "string", - "description": "Represents identifier of a update payload." + "state": { + "$ref": "#/definitions/NodeExtensionState", + "description": "State of Arc Extension in this node. Reflects the current lifecycle status of the extension on the individual node, such as whether it's being created, updated, deleted, or has encountered an error.", + "readOnly": true }, - "packageSizeInBytes": { + "instanceView": { + "$ref": "#/definitions/ExtensionInstanceView", + "description": "The extension instance view.", + "readOnly": true + } + } + }, + "PerNodeRemoteSupportSession": { + "type": "object", + "description": "Remote Support Node Session Details on the Node.", + "properties": { + "sessionStartTime": { "type": "string", - "description": "Represents size in bytes of a update payload." + "format": "date-time", + "description": "Remote Support Session StartTime on the Node", + "readOnly": true }, - "group": { + "sessionEndTime": { "type": "string", - "description": "Represents the group of a update payload." + "format": "date-time", + "description": "Remote Support Session EndTime on the Node", + "readOnly": true }, - "fileName": { + "nodeName": { "type": "string", - "description": "Represents the file name of a update payload." + "description": "Name of the node", + "readOnly": true + }, + "duration": { + "type": "integer", + "format": "int64", + "description": "Duration of Remote Support Enablement", + "readOnly": true + }, + "accessLevel": { + "$ref": "#/definitions/AccessLevel", + "description": "Remote Support Access Level", + "readOnly": true } } }, - "DeploymentMode": { - "type": "string", - "description": "Deployment mode to trigger job.", - "enum": [ - "Validate", - "Deploy" - ], - "x-ms-enum": { - "name": "DeploymentMode", - "modelAsString": true, - "values": [ - { - "name": "Validate", - "value": "Validate", - "description": "Validate ECE action deployment for a cluster." - }, - { - "name": "Deploy", - "value": "Deploy", - "description": "Deploy ECE action deployment for a cluster." - } - ] + "PerNodeState": { + "type": "object", + "description": "Status of Arc agent for a particular node in HCI Cluster.", + "properties": { + "name": { + "type": "string", + "description": "Name of the Node in HCI Cluster", + "readOnly": true + }, + "arcInstance": { + "type": "string", + "description": "Fully qualified resource ID for the Arc agent of this node.", + "readOnly": true + }, + "arcNodeServicePrincipalObjectId": { + "type": "string", + "description": "The service principal id of the arc for server node", + "readOnly": true + }, + "state": { + "$ref": "#/definitions/NodeArcState", + "description": "State of the Arc agent in this node. Indicates the current lifecycle status of the agent, such as whether it's being provisioned, connected, updated, or has encountered an error.", + "readOnly": true + } } }, - "DeviceConfiguration": { + "PhysicalNodes": { "type": "object", - "description": "Device configuration.", + "description": "The PhysicalNodes of a cluster.", "properties": { - "network": { - "$ref": "#/definitions/NetworkConfiguration", - "description": "Network configuration." + "name": { + "type": "string", + "description": "NETBIOS name of each physical server on your Azure Stack HCI cluster." }, - "hostName": { + "ipv4Address": { "type": "string", - "description": "Hostname of the device." + "description": "The IPv4 address assigned to each physical server on your Azure Stack HCI cluster." + } + } + }, + "PlatformPayload": { + "type": "object", + "description": "Represents details of a specific platform update payload.", + "properties": { + "payloadUrl": { + "type": "string", + "description": "Represents url of a platform update payload." }, - "webProxy": { - "$ref": "#/definitions/WebProxyConfiguration", - "description": "Web proxy configuration." + "payloadHash": { + "type": "string", + "description": "Represents hash of a platform update payload." }, - "time": { - "$ref": "#/definitions/TimeConfiguration", - "description": "Time configuration." + "payloadPackageSizeInBytes": { + "type": "string", + "description": "Represents size in bytes of a platform update payload." }, - "storage": { - "$ref": "#/definitions/StorageConfiguration", - "description": "Storage configuration." + "payloadIdentifier": { + "type": "string", + "description": "Represents identifier of a platform update payload." } } }, - "DeviceLogCollectionStatus": { - "type": "string", - "description": "Represents the status of a log collection operation.", - "enum": [ - "NotStarted", - "Running", - "Failed", - "Succeeded", - "Canceled" - ], - "x-ms-enum": { - "name": "DeviceLogCollectionStatus", - "modelAsString": true, - "values": [ - { - "name": "NotStarted", - "value": "NotStarted", - "description": "Log collection operation has not been initiated." - }, - { - "name": "Running", - "value": "Running", - "description": "Indicates that the log collection operation is currently running." - }, - { - "name": "Failed", - "value": "Failed", - "description": "Indicates that the log collection operation has failed." - }, - { - "name": "Succeeded", - "value": "Succeeded", - "description": "Indicates that the log collection operation has completed successfully." + "PlatformUpdate": { + "type": "object", + "description": "Represents a platform update resource.", + "properties": { + "properties": { + "$ref": "#/definitions/PlatformUpdateProperties", + "description": "The resource-specific properties for this resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] + }, + "PlatformUpdateDetails": { + "type": "object", + "description": "Represents details of a specific platform update.", + "properties": { + "validatedSolutionRecipeVersion": { + "type": "string", + "description": "Represents validated solution recipe version of a platform update." + }, + "platformVersion": { + "type": "string", + "description": "Represents version of a platform update." + }, + "platformPayloads": { + "type": "array", + "description": "Represents the platform payloads of a platform update.", + "items": { + "$ref": "#/definitions/PlatformPayload" }, - { - "name": "Canceled", - "value": "Canceled", - "description": "Indicates that the log collection operation has completed successfully." - } - ] + "x-ms-identifiers": [] + } }, - "readOnly": true + "required": [ + "platformPayloads" + ] }, - "DownloadOsJobProperties": { + "PlatformUpdateListResult": { "type": "object", - "description": "Represents the properties of Download Os job.", + "description": "The response of a PlatformUpdate list operation.", "properties": { - "downloadRequest": { - "$ref": "#/definitions/DownloadRequest", - "description": "Download OS request." + "value": { + "type": "array", + "description": "The PlatformUpdate items on this page", + "items": { + "$ref": "#/definitions/PlatformUpdate" + } }, - "reportedProperties": { - "$ref": "#/definitions/ProvisionOsReportedProperties", - "description": "Reported Properties for Download Os job" + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } }, "required": [ - "downloadRequest" - ], - "allOf": [ - { - "$ref": "#/definitions/EdgeMachineJobProperties" + "value" + ] + }, + "PlatformUpdateProperties": { + "type": "object", + "description": "Represents properties of a platform update resource.", + "properties": { + "platformUpdateDetails": { + "type": "array", + "description": "Represents applicable platform updates.", + "items": { + "$ref": "#/definitions/PlatformUpdateDetails" + }, + "x-ms-identifiers": [] } - ], - "x-ms-discriminator-value": "DownloadOs" + }, + "required": [ + "platformUpdateDetails" + ] }, - "DownloadOsProfile": { + "PrecheckResult": { "type": "object", - "description": "Operating system profile.", "properties": { - "osName": { + "name": { + "type": "string", + "description": "Name of the individual test/rule/alert that was executed. Unique, not exposed to the customer." + }, + "displayName": { + "type": "string", + "description": "The health check DisplayName localized of the individual test executed." + }, + "tags": { + "$ref": "#/definitions/PrecheckResultTags", + "description": "Key-value pairs that allow grouping/filtering individual tests." + }, + "healthCheckTags": { + "description": "Key-value pairs that allow grouping/filtering individual tests." + }, + "title": { "type": "string", - "description": "Name of the operating system." + "description": "User-facing name; one or more sentences indicating the direct issue." }, - "osType": { + "status": { + "$ref": "#/definitions/Status", + "description": "Represents the current status of the check being performed. Indicates whether the check has completed successfully, failed, or is still in progress." + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Indicates the importance or impact level of the result. Determines whether the result is informational, a warning, or a critical issue that may block updates." + }, + "description": { "type": "string", - "description": "Type of the operating system." + "description": "Detailed overview of the issue and what impact the issue has on the stamp." }, - "osVersion": { + "remediation": { "type": "string", - "description": "Version of the operating system." + "description": "Set of steps that can be taken to resolve the issue found." }, - "osImageLocation": { + "targetResourceID": { "type": "string", - "description": "Location of the operating system image." + "description": "The unique identifier for the affected resource (such as a node or drive)." }, - "vsrVersion": { + "targetResourceName": { "type": "string", - "description": "Validated Solution Recipe version to be used for the job" + "description": "The name of the affected resource." }, - "imageHash": { + "targetResourceType": { "type": "string", - "description": "Hash of the OS package downloaded" + "description": "The type of resource being referred to (well-known set of nouns in infrastructure, aligning with Monitoring)." }, - "gpgPubKey": { + "timestamp": { "type": "string", - "description": "GPG Public Key used for package verification" + "format": "date-time", + "description": "The time in which the HealthCheck was called." + }, + "additionalData": { + "type": "string", + "description": "Property bag of key value pairs for additional information." + }, + "healthCheckSource": { + "type": "string", + "description": "The name of the services called for the HealthCheck (I.E. Test-AzureStack, Test-Cluster)." } } }, - "DownloadRequest": { + "PrecheckResultTags": { "type": "object", - "description": "Download Request properties", + "description": "Key-value pairs that allow grouping/filtering individual tests.", "properties": { - "target": { - "$ref": "#/definitions/ProvisioningOsType", - "description": "Target operating system to support polymorphic resource.", - "x-ms-mutability": [ - "read", - "create" - ] + "key": { + "type": "string", + "description": "Key that allow grouping/filtering individual tests." }, - "osProfile": { - "$ref": "#/definitions/DownloadOsProfile", - "description": "Operating system profile." + "value": { + "type": "string", + "description": "Value of the key that allow grouping/filtering individual tests." + } + } + }, + "ProvisionOsJobProperties": { + "type": "object", + "description": "Represents the properties of an Azure Linux restricted operating environment Provision Os job.", + "properties": { + "provisioningRequest": { + "$ref": "#/definitions/ProvisioningRequest", + "description": "Os Provisioning request." + }, + "reportedProperties": { + "$ref": "#/definitions/ProvisionOsReportedProperties", + "description": "Reported Properties for Provision Os job" } }, "required": [ - "target", - "osProfile" - ] + "provisioningRequest" + ], + "allOf": [ + { + "$ref": "#/definitions/EdgeMachineJobProperties" + } + ], + "x-ms-discriminator-value": "ProvisionOs" }, - "EceActionStatus": { + "ProvisionOsReportedProperties": { "type": "object", - "description": "Validation / deployment status details for Job.", + "description": "Reported Properties for Provision Os job", "properties": { - "status": { - "type": "string", - "description": "Job status.", + "percentComplete": { + "type": "integer", + "format": "int32", + "description": "The percentage of the job that is complete.", "readOnly": true }, - "steps": { - "type": "array", - "description": "List of steps of Edge device job.", - "items": { - "$ref": "#/definitions/Step" - }, - "readOnly": true, - "x-ms-identifiers": [ - "name" - ] + "validationStatus": { + "$ref": "#/definitions/EceActionStatus", + "description": "Validation status of job.", + "readOnly": true + }, + "deploymentStatus": { + "$ref": "#/definitions/EceActionStatus", + "description": "Deployment status of job.", + "readOnly": true } } }, - "EdgeMachine": { + "ProvisioningDetails": { "type": "object", - "description": "EdgeMachine details.", + "description": "Details for device provisioning.", "properties": { - "properties": { - "$ref": "#/definitions/EdgeMachineProperties", - "description": "The resource-specific properties for this resource." + "osProfile": { + "$ref": "#/definitions/OsProvisionProfile", + "description": "Operating system profile." }, - "identity": { - "$ref": "../../../../../../common-types/resource-management/v6/managedidentity.json#/definitions/ManagedServiceIdentity", - "description": "The managed service identities assigned to this resource." + "userDetails": { + "type": "array", + "description": "User configuration.", + "minItems": 1, + "items": { + "$ref": "#/definitions/UserDetails" + }, + "x-ms-identifiers": [ + "userName" + ] } }, - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource" - } + "required": [ + "osProfile" ] }, - "EdgeMachineConnectivityStatus": { + "ProvisioningOsType": { "type": "string", - "description": "Overall connectivity status for the machine resource.", + "description": "Represents the provisioning operating system type.", "enum": [ - "NotSpecified", - "Disconnected", - "Connected" + "AzureLinux", + "HCI" ], "x-ms-enum": { - "name": "EdgeMachineConnectivityStatus", + "name": "ProvisioningOsType", "modelAsString": true, "values": [ { - "name": "NotSpecified", - "value": "NotSpecified", - "description": "The connectivity status of the machine resource is not specified." - }, - { - "name": "Disconnected", - "value": "Disconnected", - "description": "The machine resource is disconnected." + "name": "AzureLinux", + "value": "AzureLinux", + "description": "AzureLinux OS." }, { - "name": "Connected", - "value": "Connected", - "description": "The machine resource is connected." + "name": "HCI", + "value": "HCI", + "description": "HCI OS." } ] } }, - "EdgeMachineJob": { - "type": "object", - "description": "Cluster Jobs resource", - "properties": { - "properties": { - "$ref": "#/definitions/EdgeMachineJobProperties", - "description": "The resource-specific properties for this resource." - } - }, - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" - } - ] - }, - "EdgeMachineJobListResult": { - "type": "object", - "description": "The response of a EdgeMachineJob list operation.", - "properties": { - "value": { - "type": "array", - "description": "The EdgeMachineJob items on this page", - "items": { - "$ref": "#/definitions/EdgeMachineJob" - } - }, - "nextLink": { - "type": "string", - "format": "uri", - "description": "The link to the next page of items" - } - }, - "required": [ - "value" - ] - }, - "EdgeMachineJobProperties": { + "ProvisioningRequest": { "type": "object", - "description": "EdgeMachine Job properties", + "description": "Represents a provisioning request.", "properties": { - "jobType": { - "$ref": "#/definitions/EdgeMachineJobType", - "description": "Job Type to support polymorphic resource.", + "target": { + "$ref": "#/definitions/ProvisioningOsType", + "description": "Target operating system to support polymorphic resource.", "x-ms-mutability": [ "read", "create" ] }, - "deploymentMode": { - "$ref": "#/definitions/DeploymentMode", - "description": "Deployment mode to trigger job." + "osProfile": { + "$ref": "#/definitions/OsProvisionProfile", + "description": "Operating system profile." }, - "provisioningState": { - "$ref": "#/definitions/ProvisioningState", - "description": "Job provisioning state", - "readOnly": true + "userDetails": { + "type": "array", + "description": "User configuration.", + "items": { + "$ref": "#/definitions/UserDetails" + }, + "x-ms-identifiers": [ + "userName" + ] }, - "jobId": { - "type": "string", - "description": "Unique, immutable job id.", - "readOnly": true + "onboardingConfiguration": { + "$ref": "#/definitions/OnboardingConfiguration", + "description": "Onboarding configuration." }, - "startTimeUtc": { - "type": "string", - "format": "date-time", - "description": "The UTC date and time at which the job started.", - "readOnly": true + "deviceConfiguration": { + "$ref": "#/definitions/TargetDeviceConfiguration", + "description": "Device configuration." }, - "endTimeUtc": { + "customConfiguration": { "type": "string", - "format": "date-time", - "description": "The UTC date and time at which the job completed.", - "readOnly": true - }, - "status": { - "$ref": "#/definitions/JobStatus", - "description": "Status of Edge device job.", - "readOnly": true - }, - "error": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorDetail", - "description": "error details.", - "readOnly": true + "description": "Base64 encoded custom configuration for CAPI to use" } }, - "discriminator": "jobType", "required": [ - "jobType" + "target", + "osProfile" ] }, - "EdgeMachineJobType": { + "ProvisioningState": { "type": "string", - "description": "Job Type supported.", + "description": "Provisioning state of the ArcSetting proxy resource.", "enum": [ - "CollectLog", - "RemoteSupport", - "ProvisionOs", - "DownloadOs" + "NotSpecified", + "Error", + "Succeeded", + "Failed", + "Canceled", + "Connected", + "Disconnected", + "Deleted", + "Creating", + "Updating", + "Deleting", + "Moving", + "PartiallySucceeded", + "PartiallyConnected", + "InProgress", + "Accepted", + "Provisioning", + "DisableInProgress" ], "x-ms-enum": { - "name": "EdgeMachineJobType", + "name": "ProvisioningState", "modelAsString": true, "values": [ { - "name": "CollectLog", - "value": "CollectLog", - "description": "Job to collect logs from the device." + "name": "NotSpecified", + "value": "NotSpecified", + "description": "The provisioning state is not specified." }, { - "name": "RemoteSupport", - "value": "RemoteSupport", - "description": "Job to provide remote support to the device." + "name": "Error", + "value": "Error", + "description": "An error occurred during provisioning." }, { - "name": "ProvisionOs", - "value": "ProvisionOs", - "description": "Job to provision operating system in the device." + "name": "Succeeded", + "value": "Succeeded", + "description": "Provisioning completed successfully." }, { - "name": "DownloadOs", - "value": "DownloadOs", - "description": "Job to download OS packages on to the device" - } - ] - } - }, - "EdgeMachineKind": { - "type": "string", - "description": "Edge Machine Kind.", - "enum": [ - "Standard", - "Dedicated" - ], - "x-ms-enum": { - "name": "EdgeMachineKind", - "modelAsString": true, - "values": [ + "name": "Failed", + "value": "Failed", + "description": "Provisioning failed." + }, { - "name": "Standard", - "value": "Standard", - "description": "EdgeMachine resource created using Zero-touch provisioning." + "name": "Canceled", + "value": "Canceled", + "description": "Provisioning was canceled." }, { - "name": "Dedicated", - "value": "Dedicated", - "description": "EdgeMachine resource created for brownfield HCI customers without zero touch provisioning." + "name": "Connected", + "value": "Connected", + "description": "The resource is connected." + }, + { + "name": "Disconnected", + "value": "Disconnected", + "description": "The resource is disconnected." + }, + { + "name": "Deleted", + "value": "Deleted", + "description": "The resource has been deleted." + }, + { + "name": "Creating", + "value": "Creating", + "description": "The resource is being created." + }, + { + "name": "Updating", + "value": "Updating", + "description": "The resource is being updated." + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "The resource is being deleted." + }, + { + "name": "Moving", + "value": "Moving", + "description": "The resource is being moved." + }, + { + "name": "PartiallySucceeded", + "value": "PartiallySucceeded", + "description": "Provisioning partially succeeded." + }, + { + "name": "PartiallyConnected", + "value": "PartiallyConnected", + "description": "The resource is partially connected." + }, + { + "name": "InProgress", + "value": "InProgress", + "description": "Provisioning is in progress." + }, + { + "name": "Accepted", + "value": "Accepted", + "description": "Provisioning request has been accepted." + }, + { + "name": "Provisioning", + "value": "Provisioning", + "description": "The resource is currently provisioning." + }, + { + "name": "DisableInProgress", + "value": "DisableInProgress", + "description": "The resource is being disabled." } ] - } + }, + "readOnly": true }, - "EdgeMachineListResult": { + "Publisher": { "type": "object", - "description": "The response of a EdgeMachine list operation.", + "description": "Publisher details.", + "properties": { + "properties": { + "$ref": "#/definitions/PublisherProperties", + "description": "Publisher properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] + }, + "PublisherList": { + "type": "object", + "description": "List of Publisher proxy resources for the HCI cluster.", "properties": { "value": { "type": "array", - "description": "The EdgeMachine items on this page", + "description": "The Publisher items on this page", "items": { - "$ref": "#/definitions/EdgeMachine" + "$ref": "#/definitions/Publisher" } }, "nextLink": { @@ -1784,1009 +11834,995 @@ "value" ] }, - "EdgeMachinePatch": { + "PublisherProperties": { "type": "object", - "description": "Model for patching edge machine.", + "description": "Publisher properties.", "properties": { - "tags": { - "type": "object", - "description": "Resource tags.", - "additionalProperties": { - "type": "string" - } - }, - "identity": { - "$ref": "../../../../../../common-types/resource-management/v6/managedidentity.json#/definitions/ManagedServiceIdentity", - "description": "The managed service identities assigned to this resource." + "provisioningState": { + "type": "string", + "description": "Provisioning State", + "readOnly": true } } }, - "EdgeMachineProperties": { + "QosPolicyOverrides": { "type": "object", - "description": "Properties for edge machine.", + "description": "The QoSPolicyOverrides of a cluster.", "properties": { - "edgeMachineKind": { - "$ref": "#/definitions/EdgeMachineKind", - "description": "Edge Machine type.", - "x-ms-mutability": [ - "read", - "create" - ] - }, - "provisioningState": { - "$ref": "#/definitions/ProvisioningState", - "description": "The provisioning state of a resource.", - "readOnly": true - }, - "cloudId": { - "type": "string", - "description": "Unique, immutable resource id.", - "readOnly": true - }, - "arcMachineResourceGroupId": { - "type": "string", - "format": "arm-id", - "description": "Optional property to create arc machine in custom resource group.", - "x-ms-mutability": [ - "read", - "create" - ], - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.Resources/resourceGroups" - } - ] - } - }, - "arcMachineResourceId": { - "type": "string", - "format": "arm-id", - "description": "Arc machine instance resource id.", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.HybridCompute/machines" - } - ] - } - }, - "arcGatewayResourceId": { + "priorityValue8021Action_Cluster": { "type": "string", - "format": "arm-id", - "description": "Link to Arc Gateway ARM resource Id", - "x-ms-mutability": [ - "read", - "create" - ], - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.HybridCompute/gateways" - } - ] - } + "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation." }, - "siteDetails": { - "$ref": "#/definitions/SiteDetails", - "description": "Service fetches common configuration from site.", - "x-ms-mutability": [ - "read", - "create" - ] - }, - "ownershipVoucherDetails": { - "$ref": "#/definitions/OwnershipVoucherDetails", - "description": "Ownership voucher details for provisioned machine.", - "x-ms-mutability": [ - "read", - "create" - ] - }, - "provisioningDetails": { - "$ref": "#/definitions/ProvisioningDetails", - "description": "Details for device provisioning.", - "x-ms-mutability": [ - "read", - "create" - ] - }, - "devicePoolResourceId": { + "priorityValue8021Action_SMB": { "type": "string", - "description": "A machine can only be assigned to single device pool", - "readOnly": true - }, - "machineState": { - "$ref": "#/definitions/EdgeMachineState", - "description": "OS configuration status details ", - "readOnly": true + "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation." }, - "connectivityStatus": { - "$ref": "#/definitions/EdgeMachineConnectivityStatus", - "description": "machine connectivity status", - "readOnly": true - }, - "claimedBy": { + "bandwidthPercentage_SMB": { "type": "string", - "description": "Tracks the ID of the consuming resource, setting the machine as in-use.", - "readOnly": true - }, - "reportedProperties": { - "$ref": "#/definitions/ReportedProperties", - "description": "Reported properties for edge machine.", - "readOnly": true - }, - "operationDetails": { + "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation." + } + } + }, + "RawCertificateData": { + "type": "object", + "properties": { + "certificates": { "type": "array", - "description": "operation status details for edge machine.", "items": { - "$ref": "#/definitions/OperationDetail" - }, - "readOnly": true, - "x-ms-identifiers": [] - }, - "lastSyncTimestamp": { - "type": "string", - "format": "date-time", - "description": "Last time data updated to service.", - "readOnly": true + "type": "string" + } } } }, - "EdgeMachineState": { + "RdmaCapability": { "type": "string", - "description": "OS State", + "description": "Describes the RDMA capability of the network adapter.", "enum": [ - "Created", - "Registering", - "Unpurposed", - "Transitioning", - "Purposed", - "Updating", - "Resetting", - "Failed", - "Preparing" + "Enabled", + "Disabled" ], "x-ms-enum": { - "name": "EdgeMachineState", + "name": "RdmaCapability", "modelAsString": true, "values": [ { - "name": "Created", - "value": "Created", - "description": "Created when EdgeMachine resource created" - }, - { - "name": "Registering", - "value": "Registering", - "description": "EdgeMachine state during device discovery and registration" - }, - { - "name": "Unpurposed", - "value": "Unpurposed", - "description": "EdgeMachine state when machine configured with restricted OS and not provisioned to deploy workloads" - }, - { - "name": "Transitioning", - "value": "Transitioning", - "description": "EdgeMachine state when transitioning from initial OS to target OS" - }, - { - "name": "Purposed", - "value": "Purposed", - "description": "EdgeMachine state when machine configured with target OS to deploy workloads" + "name": "Enabled", + "value": "Enabled", + "description": "Network Adapter on the device is RDMA Capable" }, { - "name": "Updating", - "value": "Updating", - "description": "EdgeMachine state when OS updates are in-progress" - }, + "name": "Disabled", + "value": "Disabled", + "description": "Network Adapter on the device is RDMA Capable" + } + ] + } + }, + "RebootRequirement": { + "type": "string", + "description": "Indicates whether a reboot is required after the update or operation. Helps determine if a system restart is necessary to complete the process.", + "enum": [ + "Unknown", + "True", + "False" + ], + "x-ms-enum": { + "name": "RebootRequirement", + "modelAsString": true, + "values": [ { - "name": "Resetting", - "value": "Resetting", - "description": "EdgeMachine state when transitioning from target OS to restricted OS" + "name": "Unknown", + "value": "Unknown", + "description": "It is not known whether a reboot is required." }, { - "name": "Failed", - "value": "Failed", - "description": "EdgeMachine failed state and only option to recover is to re-provisioning machine" + "name": "True", + "value": "True", + "description": "A reboot is required to complete the operation." }, { - "name": "Preparing", - "value": "Preparing", - "description": "Preparing EdgeMachine" + "name": "False", + "value": "False", + "description": "No reboot is required after the operation." } ] } }, - "ErrorDetailModel": { + "ReconcileArcSettingsRequest": { "type": "object", - "description": "details of validation failure", + "description": "Request for reconciling Arc Settings.", "properties": { - "exception": { - "type": "string", - "description": "Exception details while installing extension.", - "readOnly": true + "properties": { + "$ref": "#/definitions/ReconcileArcSettingsRequestProperties", + "description": "List of Arc Nodes in the cluster" } } }, - "Extension": { + "ReconcileArcSettingsRequestProperties": { "type": "object", - "description": "Arc extension installed on edge device.", + "description": "List of Arc Nodes in the cluster", "properties": { - "extensionName": { - "type": "string", - "description": "Arc extension name installed on edge device.", - "readOnly": true - }, - "state": { - "$ref": "#/definitions/ArcExtensionState", - "description": "Arc extension state from arc machine extension.", - "readOnly": true - }, - "errorDetails": { + "clusterNodes": { "type": "array", - "description": "Error details while installing Arc extension.", "items": { - "$ref": "#/definitions/ErrorDetailModel" - }, - "readOnly": true, - "x-ms-identifiers": [] - }, - "exception": { - "type": "string", - "description": "Exception details while installing Arc extension.", - "readOnly": true - }, - "extensionResourceId": { - "type": "string", - "format": "arm-id", - "description": "Arc Extension Azure resource id.", - "readOnly": true - }, - "typeHandlerVersion": { - "type": "string", - "description": "Extension version installed.", - "readOnly": true - }, - "managedBy": { - "$ref": "#/definitions/ExtensionManagedBy", - "description": "Extension managed by user or Azure.", - "readOnly": true + "type": "string" + } } } }, - "ExtensionManagedBy": { + "RemoteSupportAccessLevel": { "type": "string", - "description": "Extension managed by user or Azure.", + "description": "Defines the level of remote support access granted.", "enum": [ - "User", - "Azure" + "None", + "Diagnostics", + "DiagnosticsAndRepair" ], "x-ms-enum": { - "name": "ExtensionManagedBy", + "name": "RemoteSupportAccessLevel", "modelAsString": true, "values": [ { - "name": "User", - "value": "User", - "description": "Extension managed by user." + "name": "None", + "value": "None", + "description": "No remote support access is granted." }, { - "name": "Azure", - "value": "Azure", - "description": "Extension managed by Azure." + "name": "Diagnostics", + "value": "Diagnostics", + "description": "Access is limited to diagnostics information only." + }, + { + "name": "DiagnosticsAndRepair", + "value": "DiagnosticsAndRepair", + "description": "Access includes diagnostics information and the ability to perform repairs." } ] } }, - "ExtensionProfile": { + "RemoteSupportJobNodeSettings": { "type": "object", - "description": "Extensions details for edge device.", + "description": "Represents the settings of a remote support node.", "properties": { - "extensions": { + "state": { + "type": "string", + "description": "The state of the remote support node.", + "readOnly": true + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp when the node settings were created, in UTC.", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp when the node settings were last updated, in UTC.", + "readOnly": true + }, + "connectionStatus": { + "type": "string", + "description": "The current connection status of the remote support session.", + "readOnly": true + }, + "connectionErrorMessage": { + "type": "string", + "description": "The error message, if any, from the last connection attempt.", + "readOnly": true + } + } + }, + "RemoteSupportJobProperties": { + "type": "object", + "description": "Represents the properties of a remote support job.", + "properties": { + "accessLevel": { + "$ref": "#/definitions/RemoteSupportAccessLevel", + "description": "Remote support access level." + }, + "expirationTimestamp": { + "type": "string", + "format": "date-time", + "description": "Remote support expiration timestamp." + }, + "type": { + "$ref": "#/definitions/RemoteSupportType", + "description": "Remote support type." + }, + "reportedProperties": { + "$ref": "#/definitions/RemoteSupportJobReportedProperties", + "description": "log collection job reported properties.", + "readOnly": true + } + }, + "required": [ + "accessLevel", + "expirationTimestamp", + "type" + ] + }, + "RemoteSupportJobReportedProperties": { + "type": "object", + "description": "Represents the reported properties of a remote support job.", + "properties": { + "percentComplete": { + "type": "integer", + "format": "int32", + "description": "The percentage of the job that is complete.", + "readOnly": true + }, + "validationStatus": { + "$ref": "#/definitions/EceActionStatus", + "description": "Validation status of job.", + "readOnly": true + }, + "deploymentStatus": { + "$ref": "#/definitions/EceActionStatus", + "description": "Deployment status of job.", + "readOnly": true + }, + "nodeSettings": { + "$ref": "#/definitions/RemoteSupportJobNodeSettings", + "description": "Optional settings for configuring the node for remote support.", + "readOnly": true + }, + "sessionDetails": { "type": "array", - "description": "List of Arc extensions installed on edge device.", + "description": "Details of the remote support session.", "items": { - "$ref": "#/definitions/Extension" + "$ref": "#/definitions/RemoteSupportSession" }, "readOnly": true, "x-ms-identifiers": [ - "extensionName" + "sessionId" ] } } }, - "HardwareProfile": { + "RemoteSupportNodeSettings": { "type": "object", - "description": "Hardware profile for the machine", + "description": "Remote Support Node Settings of the cluster.", "properties": { - "cpuCores": { - "type": "integer", - "format": "int64", - "description": "Number of cpu cores in the machine", + "arcResourceId": { + "type": "string", + "description": "Arc ResourceId of the Node", "readOnly": true }, - "cpuSockets": { - "type": "integer", - "format": "int64", - "description": "Number of cpu sockets in the machine", + "state": { + "type": "string", + "description": "Remote Support Access Connection State on the Node", "readOnly": true }, - "memoryCapacityInGb": { - "type": "integer", - "format": "int64", - "description": "Memory capacity of the machine", + "createdAt": { + "type": "string", + "format": "date-time", + "description": "Remote Support Enablement Request Created TimeStamp on the Node", "readOnly": true }, - "model": { + "updatedAt": { "type": "string", - "description": "Model info of the machine", + "format": "date-time", + "description": "Remote Support Enablement Request Updated TimeStamp on the Node", "readOnly": true }, - "manufacturer": { + "connectionStatus": { "type": "string", - "description": "manufacturer info of the machine", + "description": "Remote Support Access Connection Status on the Node", "readOnly": true }, - "serialNumber": { + "connectionErrorMessage": { "type": "string", - "description": "Serial number of the machine", + "description": "Remote Support Access Connection Error Message on the Node", "readOnly": true }, - "processorType": { + "transcriptLocation": { "type": "string", - "description": "Process type of the machine", + "description": "Remote Support Transcript location on the node", "readOnly": true } } }, - "IgvmStatus": { - "type": "string", - "description": "Represents the IGVM support status for the device.", - "enum": [ - "Unknown", - "Enabled", - "Disabled" - ], - "x-ms-enum": { - "name": "IgvmStatus", - "modelAsString": true, - "values": [ - { - "name": "Unknown", - "value": "Unknown", - "description": "The IGVM status could not be determined due to a query failure or inconsistent system state." - }, - { - "name": "Enabled", - "value": "Enabled", - "description": "IGVM support is enabled, indicating that confidential VM features are available on this device." - }, - { - "name": "Disabled", - "value": "Disabled", - "description": "IGVM status is disabled, indicating that confidential VM features are not supported on this device." - } - ] - } - }, - "IgvmStatusDetail": { + "RemoteSupportProperties": { "type": "object", - "description": "Provides component-level status information related to IGVM enablement on the device.", + "description": "Remote Support properties of the cluster.", "properties": { - "code": { - "type": "string", - "description": "A machine-readable status code indicating the result or condition of a specific IGVM-related check or operation.", + "accessLevel": { + "$ref": "#/definitions/AccessLevel", + "description": "Remote Support Access Level", "readOnly": true }, - "message": { + "expirationTimeStamp": { "type": "string", - "description": "A human-readable message providing context or explanation for the associated status code.", + "format": "date-time", + "description": "Expiration DateTimeStamp when Remote Support Access will be expired", + "readOnly": true + }, + "remoteSupportType": { + "$ref": "#/definitions/RemoteSupportType", + "description": "Remote Support Type for cluster", "readOnly": true + }, + "remoteSupportNodeSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/RemoteSupportNodeSettings" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "remoteSupportSessionDetails": { + "type": "array", + "items": { + "$ref": "#/definitions/PerNodeRemoteSupportSession" + }, + "readOnly": true, + "x-ms-identifiers": [] } } }, - "IpAddressRange": { + "RemoteSupportRequest": { "type": "object", - "description": "IP address range configuration.", + "description": "Remote Support Request", "properties": { - "startIp": { - "type": "string", - "description": "Start IP address." + "properties": { + "$ref": "#/definitions/RemoteSupportRequestProperties", + "description": "Properties for Remote Support Request" + } + } + }, + "RemoteSupportRequestProperties": { + "type": "object", + "description": "Properties for Remote Support Request", + "properties": { + "accessLevel": { + "$ref": "#/definitions/AccessLevel", + "description": "Remote Support Access Level", + "readOnly": true }, - "endIp": { + "expirationTimeStamp": { "type": "string", - "description": "End IP address." + "format": "date-time", + "description": "Expiration DateTimeStamp when Remote Support Access will be expired" + }, + "remoteSupportType": { + "$ref": "#/definitions/RemoteSupportType", + "description": "Remote Support Type for cluster" } - }, - "required": [ - "startIp", - "endIp" - ] - }, - "IpAssignmentType": { - "type": "string", - "description": "IP assignment types", - "enum": [ - "Automatic", - "Manual" - ], - "x-ms-enum": { - "name": "IpAssignmentType", - "modelAsString": true, - "values": [ - { - "name": "Automatic", - "value": "Automatic", - "description": "Automatic IP assignment" - }, - { - "name": "Manual", - "value": "Manual", - "description": "Manual IP assignment" - } - ] } }, - "JobReportedProperties": { + "RemoteSupportSession": { "type": "object", - "description": "Reported Properties for job triggered from cloud.", + "description": "Represents a remote support session.", "properties": { - "percentComplete": { - "type": "integer", - "format": "int32", - "description": "The percentage of the job that is complete.", + "sessionId": { + "type": "string", + "description": "Unique session Id.", "readOnly": true }, - "validationStatus": { - "$ref": "#/definitions/EceActionStatus", - "description": "Validation status of job.", + "sessionStartTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the remote support session, in UTC.", "readOnly": true }, - "deploymentStatus": { - "$ref": "#/definitions/EceActionStatus", - "description": "Deployment status of job.", + "sessionEndTime": { + "type": "string", + "format": "date-time", + "description": "The end time of the remote support session, in UTC.", + "readOnly": true + }, + "accessLevel": { + "$ref": "#/definitions/RemoteSupportAccessLevel", + "description": "The level of access granted during the remote support session.", + "readOnly": true + }, + "transcriptLocation": { + "type": "string", + "description": "The location where the session transcript is stored.", "readOnly": true } } }, - "JobStatus": { + "RemoteSupportType": { "type": "string", - "description": "Represents the various statuses a job can have throughout its lifecycle.", + "description": "Remote Support Type for cluster", "enum": [ - "NotSpecified", - "ValidationInProgress", - "ValidationSuccess", - "ValidationFailed", - "DeploymentInProgress", - "DeploymentFailed", - "DeploymentSuccess", - "Succeeded", - "Failed", - "Canceled", - "Paused", - "Scheduled" + "Enable", + "Revoke" ], "x-ms-enum": { - "name": "JobStatus", + "name": "RemoteSupportType", "modelAsString": true, "values": [ { - "name": "NotSpecified", - "value": "NotSpecified", - "description": "The job status has not been specified." - }, - { - "name": "ValidationInProgress", - "value": "ValidationInProgress", - "description": "The job is currently undergoing validation." - }, - { - "name": "ValidationSuccess", - "value": "ValidationSuccess", - "description": "The job has successfully passed validation." - }, - { - "name": "ValidationFailed", - "value": "ValidationFailed", - "description": "The job has failed validation." - }, - { - "name": "DeploymentInProgress", - "value": "DeploymentInProgress", - "description": "The job's deployment is currently in progress." - }, - { - "name": "DeploymentFailed", - "value": "DeploymentFailed", - "description": "The job's deployment has failed." - }, - { - "name": "DeploymentSuccess", - "value": "DeploymentSuccess", - "description": "The job has been successfully deployed." - }, - { - "name": "Succeeded", - "value": "Succeeded", - "description": "The job has succeeded." - }, - { - "name": "Failed", - "value": "Failed", - "description": "The job has failed." - }, - { - "name": "Canceled", - "value": "Canceled", - "description": "The job has been canceled." - }, - { - "name": "Paused", - "value": "Paused", - "description": "The job is paused." + "name": "Enable", + "value": "Enable", + "description": "Enable remote support for the cluster." }, { - "name": "Scheduled", - "value": "Scheduled", - "description": "The job is scheduled to run." + "name": "Revoke", + "value": "Revoke", + "description": "Revoke previously enabled remote support for the cluster." } ] - }, - "readOnly": true + } }, - "KubernetesVersion": { + "ReportedProperties": { "type": "object", - "description": "Represents a kubernetes version resource.", + "description": "Reported properties pushed from edge device.", "properties": { - "properties": { - "$ref": "#/definitions/KubernetesVersionProperties", - "description": "The resource-specific properties for this resource." - } - }, - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + "deviceState": { + "$ref": "#/definitions/DeviceState", + "description": "edge device state.", + "readOnly": true + }, + "extensionProfile": { + "$ref": "#/definitions/ExtensionProfile", + "description": "Extensions details for edge device.", + "readOnly": true } - ] + } }, - "KubernetesVersionListResult": { + "SbeCredentials": { "type": "object", - "description": "The response of a KubernetesVersion list operation.", + "description": "secrets used for solution builder extension (SBE) partner extensibility.", "properties": { - "value": { - "type": "array", - "description": "The KubernetesVersion items on this page", - "items": { - "$ref": "#/definitions/KubernetesVersion" - } + "secretName": { + "type": "string", + "description": "secret name stored in keyvault." + }, + "eceSecretName": { + "type": "string", + "description": "secret name expected for Enterprise Cloud Engine (ECE)." }, - "nextLink": { + "secretLocation": { "type": "string", "format": "uri", - "description": "The link to the next page of items" + "description": "secret URI stored in keyvault." } - }, - "required": [ - "value" - ] + } }, - "KubernetesVersionProperties": { + "SbeDeploymentInfo": { "type": "object", - "description": "Represents properties of a kubernetes version.", + "description": "Solution builder extension (SBE) package and manifest information for the solution builder extension staged for AzureStackHCI cluster deployment.", "properties": { "version": { "type": "string", - "description": "Represents kubernetes version." + "description": "SBE package version." + }, + "family": { + "type": "string", + "description": "SBE family name." + }, + "publisher": { + "type": "string", + "description": "SBE manifest publisher." + }, + "sbeManifestSource": { + "type": "string", + "description": "SBE Manifest Source." + }, + "sbeManifestCreationDate": { + "type": "string", + "format": "date-time", + "description": "SBE Manifest Creation Date." } - }, - "required": [ - "version" - ] + } }, - "LogCollectionReportedProperties": { + "SbeDeploymentPackageInfo": { "type": "object", - "description": "Represents the reported properties of a log collection job.", + "description": "Solution builder extension (SBE) deployment package information.", "properties": { - "percentComplete": { - "type": "integer", - "format": "int32", - "description": "The percentage of the job that is complete.", + "code": { + "type": "string", + "description": "SBE deployment validation code.", "readOnly": true }, - "validationStatus": { - "$ref": "#/definitions/EceActionStatus", - "description": "Validation status of job.", + "message": { + "type": "string", + "description": "A detailed message that explains the SBE package validation result.", "readOnly": true }, - "deploymentStatus": { - "$ref": "#/definitions/EceActionStatus", - "description": "Deployment status of job.", + "sbeManifest": { + "type": "string", + "description": "This represents discovered update results for matching updates and store it as SBE manifest.", "readOnly": true + } + } + }, + "SbePartnerInfo": { + "type": "object", + "description": "The solution builder extension (SBE) partner deployment info for cluster.", + "properties": { + "sbeDeploymentInfo": { + "$ref": "#/definitions/SbeDeploymentInfo", + "description": "SBE package and manifest information for the solution Builder Extension staged for AzureStackHCI cluster deployment." }, - "logCollectionSessionDetails": { + "partnerProperties": { "type": "array", - "description": "Details of the log collection session.", + "description": "List of SBE partner properties for AzureStackHCI cluster deployment.", "items": { - "$ref": "#/definitions/LogCollectionSession" + "$ref": "#/definitions/SbePartnerProperties" + }, + "x-ms-identifiers": [] + }, + "credentialList": { + "type": "array", + "description": "SBE credentials list for AzureStackHCI cluster deployment.", + "items": { + "$ref": "#/definitions/SbeCredentials" }, - "readOnly": true, "x-ms-identifiers": [ - "correlationId" + "secretName" ] } } }, - "LogCollectionSession": { + "SbePartnerProperties": { "type": "object", - "description": "Represents a session for collecting logs from an edge device.", + "description": "Solution builder extension (SBE) partner properties object.", "properties": { - "startTime": { - "type": "string", - "description": "The timestamp when log collection started, in ISO 8601 format.", - "readOnly": true - }, - "endTime": { - "type": "string", - "description": "The timestamp when log collection ended, in ISO 8601 format.", - "readOnly": true - }, - "timeCollected": { + "name": { "type": "string", - "description": "The total time logs were collected for, in ISO 8601 duration format.", - "readOnly": true - }, - "logSize": { - "type": "integer", - "format": "int32", - "description": "The size of the collected logs in bytes.", - "readOnly": true - }, - "status": { - "$ref": "#/definitions/DeviceLogCollectionStatus", - "description": "The status of the log collection session.", - "readOnly": true + "description": "SBE partner property name." }, - "correlationId": { + "value": { "type": "string", - "description": "A unique identifier for correlating this log collection session with other operations or sessions.", - "readOnly": true + "description": "SBE partner property value." } } }, - "NetworkAdapter": { + "ScaleUnits": { "type": "object", - "description": "Network adapter configuration.", + "description": "Scale units will contains list of deployment data", "properties": { - "ipAssignmentType": { - "$ref": "#/definitions/IpAssignmentType", - "description": "Type of IP assignment." - }, - "ipAddress": { - "type": "string", - "description": "IP address." - }, - "adapterName": { - "type": "string", - "description": "Adapter Name." - }, - "macAddress": { - "type": "string", - "description": "MAC address." - }, - "ipAddressRange": { - "$ref": "#/definitions/IpAddressRange", - "description": "IP address range." - }, - "gateway": { - "type": "string", - "description": "Gateway id." - }, - "subnetMask": { - "type": "string", - "description": "Subnet mask." - }, - "dnsAddressArray": { - "type": "array", - "description": "Array of DNS addresses.", - "items": { - "type": "string" - } + "deploymentData": { + "$ref": "#/definitions/DeploymentData", + "description": "Deployment Data to deploy AzureStackHCI Cluster." }, - "vlanId": { - "type": "string", - "description": "VLAN ID for the network setup." + "sbePartnerInfo": { + "$ref": "#/definitions/SbePartnerInfo", + "description": "Solution builder extension (SBE) partner properties" } }, "required": [ - "ipAssignmentType" - ] + "deploymentData" + ], + "externalDocs": { + "description": "Deploy Azure Stack HCI using an existing configuration file", + "url": "https://learn.microsoft.com/en-us/azure-stack/hci/deploy/deployment-tool-existing-file" + } }, - "NetworkConfiguration": { + "SdnIntegration": { "type": "object", - "description": "Network configuration.", + "description": "SDN Integration config to deploy AzureStackHCI Cluster.", "properties": { - "networkAdapters": { - "type": "array", - "description": "List of network adapters.", - "items": { - "$ref": "#/definitions/NetworkAdapter" - }, - "x-ms-identifiers": [] + "networkController": { + "$ref": "#/definitions/NetworkController", + "description": "network controller config for SDN Integration to deploy AzureStackHCI Cluster." } } }, - "NetworkProfile": { + "SdnIntegrationIntent": { + "type": "string", + "description": "Indicates whether Software Defined Networking (SDN) integration should be enabled or disabled for this deployment.", + "enum": [ + "Enable", + "Disable" + ], + "x-ms-enum": { + "name": "SdnIntegrationIntent", + "modelAsString": true, + "values": [ + { + "name": "Enable", + "value": "Enable", + "description": "Enable SDN integration for the deployment." + }, + { + "name": "Disable", + "value": "Disable", + "description": "Disable SDN integration for the deployment." + } + ] + } + }, + "SdnProperties": { "type": "object", - "description": "NetworkProfile of edge machine.", + "description": "Represents the Software Defined Networking (SDN) configuration state.", "properties": { - "nicDetails": { - "type": "array", - "description": "List of Network Interface Card (NIC) Details of edge machine.", - "items": { - "$ref": "#/definitions/NicDetail" - }, - "readOnly": true, - "x-ms-identifiers": [ - "adapterName" - ] + "sdnStatus": { + "$ref": "#/definitions/SdnStatus", + "description": "Indicates the current Software Defined Networking (SDN) status of the resource, which may be an individual device or a cluster.", + "readOnly": true }, - "switchDetails": { - "type": "array", - "description": "List of switch Details of edge machine.", - "items": { - "$ref": "#/definitions/SwitchDetail" - }, - "readOnly": true, - "x-ms-identifiers": [ - "switchName" - ] + "sdnDomainName": { + "type": "string", + "description": "The fully qualified domain name (FQDN) associated with the SDN deployment. This value is propagated from the Device Management Extension to the cluster resource. It is typically in the format `-nc.` when SDN is enabled. May be null or absent in unsupported or disabled states.", + "readOnly": true + }, + "sdnApiAddress": { + "type": "string", + "description": "Represents the API address for the SDN deployment.", + "readOnly": true } } }, - "NicDetail": { + "SdnStatus": { + "type": "string", + "description": "Indicates the current Software Defined Networking (SDN) status of the resource, which may be an individual device or a cluster.", + "enum": [ + "Unknown", + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "SdnStatus", + "modelAsString": true, + "values": [ + { + "name": "Unknown", + "value": "Unknown", + "description": "The SDN status could not be determined due to a failure in querying the SDN API service. This may occur if the query script fails or if the system is in an inconsistent state. The domain name will be null in this case." + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "SDN is not enabled on the resource. The domain name will be null. This is the default state when SDN has not been configured." + }, + { + "name": "Enabled", + "value": "Enabled", + "description": "SDN is successfully enabled on the resource. The domain name will be populated in the format `-nc.`. Customers may need to manage DNS settings to ensure proper resolution." + } + ] + } + }, + "SecretType": { + "type": "string", + "description": "Type of secret used for authentication.", + "enum": [ + "KeyVault", + "SshPubKey" + ], + "x-ms-enum": { + "name": "SecretType", + "modelAsString": true, + "values": [ + { + "name": "KeyVault", + "value": "KeyVault", + "description": "Key Vault based authentication" + }, + { + "name": "SshPubKey", + "value": "SshPubKey", + "description": "SSH Public Key based authentication" + } + ] + } + }, + "SecretsLocationDetails": { "type": "object", - "description": "Network Interface Card (NIC) Details of edge machine.", + "description": "Secrets location details", "properties": { - "adapterName": { - "type": "string", - "description": "Adapter Name of NIC", - "readOnly": true - }, - "interfaceDescription": { - "type": "string", - "description": "Interface Description of NIC", - "readOnly": true - }, - "componentId": { - "type": "string", - "description": "Component Id of NIC", - "readOnly": true - }, - "driverVersion": { - "type": "string", - "description": "Driver Version of NIC", - "readOnly": true - }, - "ip4Address": { - "type": "string", - "description": "Subnet Mask of NIC", - "readOnly": true - }, - "subnetMask": { - "type": "string", - "description": "Subnet Mask of NIC", - "readOnly": true + "secretsType": { + "$ref": "#/definitions/SecretsType", + "description": "Type of secrets to store" }, - "defaultGateway": { + "secretsLocation": { "type": "string", - "description": "Default Gateway of NIC", - "readOnly": true - }, - "dnsServers": { + "description": "secrets location" + } + }, + "required": [ + "secretsType", + "secretsLocation" + ] + }, + "SecretsLocationsChangeRequest": { + "type": "object", + "description": "Update secrets locations change Request.", + "properties": { + "properties": { "type": "array", - "description": "DNS Servers for NIC", + "description": "List of secret locations", "items": { - "type": "string" + "$ref": "#/definitions/SecretsLocationDetails" }, + "x-ms-identifiers": [] + } + } + }, + "SecretsType": { + "type": "string", + "description": "Type of secrets to store", + "enum": [ + "BackupSecrets" + ], + "x-ms-enum": { + "name": "SecretsType", + "modelAsString": true, + "values": [ + { + "name": "BackupSecrets", + "value": "BackupSecrets", + "description": "Backup secrets type" + } + ] + } + }, + "SecurityComplianceStatus": { + "type": "object", + "description": "Security compliance properties of the resource", + "properties": { + "securedCoreCompliance": { + "$ref": "#/definitions/ComplianceStatus", + "description": "Indicates whether HCI hosts meets secured-core server requirements.", "readOnly": true }, - "defaultIsolationId": { - "type": "string", - "description": "Default Isolation of Management NIC", - "readOnly": true - }, - "macAddress": { - "type": "string", - "description": "MAC address information of NIC.", + "wdacCompliance": { + "$ref": "#/definitions/ComplianceStatus", + "description": "Indicates whether HCI hosts have enforced consistent Windows Defender Application Control.", "readOnly": true }, - "slot": { - "type": "string", - "description": "The slot attached to the NIC.", + "dataAtRestEncrypted": { + "$ref": "#/definitions/ComplianceStatus", + "description": "Indicates whether data at-rest encryption is enabled on Azure Stack HCI clustered volumes.", "readOnly": true }, - "switchName": { - "type": "string", - "description": "The switch attached to the NIC, if any.", + "dataInTransitProtected": { + "$ref": "#/definitions/ComplianceStatus", + "description": "Indicates whether HCI cluster has data in-transit protection.", "readOnly": true }, - "nicType": { + "lastUpdated": { "type": "string", - "description": "The type of NIC, physical, virtual, management.", + "format": "date-time", + "description": "Time in UTC when compliance status was last updated.", "readOnly": true - }, - "vlanId": { + } + } + }, + "SecurityProperties": { + "type": "object", + "description": "Security properties of the resource", + "properties": { + "securedCoreComplianceAssignment": { "type": "string", - "description": "The VLAN ID of the physical NIC.", - "readOnly": true + "description": "Secured Core Compliance Assignment", + "default": "Audit", + "enum": [ + "Audit", + "ApplyAndAutoCorrect" + ], + "x-ms-enum": { + "name": "ComplianceAssignmentType", + "modelAsString": true, + "values": [ + { + "name": "Audit", + "value": "Audit", + "description": "Report on the state of the machine, but don't make changes." + }, + { + "name": "ApplyAndAutoCorrect", + "value": "ApplyAndAutoCorrect", + "description": "Applied to the machine. If it drifts, the local service inside the machine makes a correction at the next evaluation." + } + ] + } }, - "nicStatus": { + "wdacComplianceAssignment": { "type": "string", - "description": "The status of NIC, up, disconnected.", - "readOnly": true + "description": "WDAC Compliance Assignment", + "default": "Audit", + "enum": [ + "Audit", + "ApplyAndAutoCorrect" + ], + "x-ms-enum": { + "name": "ComplianceAssignmentType", + "modelAsString": true, + "values": [ + { + "name": "Audit", + "value": "Audit", + "description": "Report on the state of the machine, but don't make changes." + }, + { + "name": "ApplyAndAutoCorrect", + "value": "ApplyAndAutoCorrect", + "description": "Applied to the machine. If it drifts, the local service inside the machine makes a correction at the next evaluation." + } + ] + } }, - "rdmaCapability": { + "smbEncryptionForIntraClusterTrafficComplianceAssignment": { "type": "string", - "description": "Describes the RDMA capability of the network adapter.", - "default": "Disabled", + "description": "SMB encryption for intra-cluster traffic Compliance Assignment", + "default": "Audit", "enum": [ - "Enabled", - "Disabled" + "Audit", + "ApplyAndAutoCorrect" ], "x-ms-enum": { - "name": "RdmaCapability", + "name": "ComplianceAssignmentType", "modelAsString": true, "values": [ { - "name": "Enabled", - "value": "Enabled", - "description": "Network Adapter on the device is RDMA Capable" + "name": "Audit", + "value": "Audit", + "description": "Report on the state of the machine, but don't make changes." }, { - "name": "Disabled", - "value": "Disabled", - "description": "Network Adapter on the device isn't RDMA Capable" + "name": "ApplyAndAutoCorrect", + "value": "ApplyAndAutoCorrect", + "description": "Applied to the machine. If it drifts, the local service inside the machine makes a correction at the next evaluation." } ] - }, + } + }, + "securityComplianceStatus": { + "$ref": "#/definitions/SecurityComplianceStatus", + "description": "Security Compliance Status", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", "readOnly": true } } }, - "OSOperationType": { - "type": "string", - "description": "OS Provision Operation type", - "enum": [ - "Provision", - "Update", - "ReImage" - ], - "x-ms-enum": { - "name": "OSOperationType", - "modelAsString": true, - "values": [ - { - "name": "Provision", - "value": "Provision", - "description": "OS Provisioning operation" - }, - { - "name": "Update", - "value": "Update", - "description": "OS Update operation" - }, - { - "name": "ReImage", - "value": "ReImage", - "description": "OS ReImage operation" - } - ] - } - }, - "OnboardingConfiguration": { + "SecuritySetting": { "type": "object", - "description": "Onboarding configuration.", + "description": "Security settings proxy resource", "properties": { - "type": { - "$ref": "#/definitions/OnboardingResourceType", - "description": "Type of the onboarding resource to support polymorphic resource.", - "x-ms-mutability": [ - "read", - "create" - ] - }, - "resourceId": { - "type": "string", - "format": "arm-id", - "description": "Resource ID." - }, - "location": { - "type": "string", - "description": "Location of the resource.", + "properties": { + "$ref": "#/definitions/SecurityProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, "x-ms-mutability": [ "read", "create" ] + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] + }, + "SecuritySettingListResult": { + "type": "object", + "description": "The response of a SecuritySetting list operation.", + "properties": { + "value": { + "type": "array", + "description": "The SecuritySetting items on this page", + "items": { + "$ref": "#/definitions/SecuritySetting" + } }, - "tenantId": { + "nextLink": { "type": "string", - "description": "Tenant ID of the resource." + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "ServiceConfiguration": { + "type": "object", + "description": "Service configuration details", + "properties": { + "serviceName": { + "$ref": "#/definitions/ServiceName", + "description": "Specifies the name of the service associated with the update or operation. This helps identify which system component or tool is involved." }, - "arcVirtualMachineId": { - "type": "string", - "description": "Azure Arc virtual machine ID." + "port": { + "type": "integer", + "format": "int64", + "description": "The port on which service is enabled." } - } + }, + "required": [ + "serviceName", + "port" + ] }, - "OnboardingResourceType": { + "ServiceName": { "type": "string", - "description": "Onboarding resource type.", + "description": "Specifies the name of the service associated with the update or operation. This helps identify which system component or tool is involved.", "enum": [ - "HybridComputeMachine" + "WAC" ], "x-ms-enum": { - "name": "OnboardingResourceType", + "name": "ServiceName", "modelAsString": true, "values": [ { - "name": "HybridComputeMachine", - "value": "HybridComputeMachine", - "description": "Hybrid Compute Machine." + "name": "WAC", + "value": "WAC", + "description": "Windows Admin Center (WAC) is the service associated with this operation." } ] } }, - "OperationDetail": { - "type": "object", - "description": "operation detail.", - "properties": { - "name": { - "type": "string", - "description": "operation name.", - "readOnly": true - }, - "id": { - "type": "string", - "description": "operation id.", - "readOnly": true - }, - "type": { - "type": "string", - "description": "operation type.", - "readOnly": true - }, - "resourceId": { + "Severity": { + "type": "string", + "description": "Indicates the importance or impact level of the result. Determines whether the result is informational, a warning, or a critical issue that may block updates.", + "enum": [ + "Critical", + "Warning", + "Informational", + "Hidden" + ], + "x-ms-enum": { + "name": "Severity", + "modelAsString": true, + "values": [ + { + "name": "Critical", + "value": "Critical", + "description": "A critical issue that blocks updates and requires immediate attention." + }, + { + "name": "Warning", + "value": "Warning", + "description": "A warning that may indicate a potential issue but does not block updates." + }, + { + "name": "Informational", + "value": "Informational", + "description": "General information that does not indicate any issue." + }, + { + "name": "Hidden", + "value": "Hidden", + "description": "The result is hidden and not shown in the output." + } + ] + } + }, + "SiteDetails": { + "type": "object", + "description": "Site Details consists of common configurations.", + "properties": { + "siteResourceId": { "type": "string", "format": "arm-id", - "description": "operation resource id.", - "readOnly": true - }, - "description": { - "type": "string", - "description": "operation description.", - "readOnly": true - }, - "status": { - "type": "string", - "description": "operation status.", - "readOnly": true + "description": "Site resource Id to be set during Edge Machine resource creation.", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Edge/sites" + } + ] + } }, - "error": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorDetail", - "description": "error details.", - "readOnly": true + "deviceConfiguration": { + "$ref": "#/definitions/DeviceConfiguration", + "description": "Edge Device configuration received from site common configuration." } - } + }, + "required": [ + "siteResourceId" + ] }, - "OsImage": { + "Sku": { "type": "object", - "description": "Represents a os image resource.", + "description": "Sku details.", "properties": { "properties": { - "$ref": "#/definitions/OsImageProperties", - "description": "The resource-specific properties for this resource." + "$ref": "#/definitions/SkuProperties", + "description": "SKU properties.", + "x-ms-client-flatten": true } }, "allOf": [ @@ -2795,15 +12831,15 @@ } ] }, - "OsImageListResult": { + "SkuList": { "type": "object", - "description": "The response of a OsImage list operation.", + "description": "List of SKU proxy resources for the HCI cluster.", "properties": { "value": { "type": "array", - "description": "The OsImage items on this page", + "description": "The Sku items on this page", "items": { - "$ref": "#/definitions/OsImage" + "$ref": "#/definitions/Sku" } }, "nextLink": { @@ -2816,268 +12852,610 @@ "value" ] }, - "OsImageProperties": { + "SkuMappings": { "type": "object", - "description": "Represents properties of a os image resource.", + "description": "SKU Mapping details.", "properties": { - "validatedSolutionRecipeVersion": { + "catalogPlanId": { "type": "string", - "description": "Represents validated solution recipe version of a os image." + "description": "Identifier of the CatalogPlan for the sku" }, - "composedImageVersion": { + "marketplaceSkuId": { "type": "string", - "description": "Represents composed image version of a os image." + "description": "Identifier for the sku" }, - "composedImageIsoUrl": { + "marketplaceSkuVersions": { + "type": "array", + "description": "Array of SKU versions available", + "items": { + "type": "string" + } + } + } + }, + "SkuProperties": { + "type": "object", + "description": "SKU properties.", + "properties": { + "provisioningState": { "type": "string", - "description": "Represents composed image iso download url of a os image." + "description": "Provisioning State", + "readOnly": true }, - "composedImageIsoHash": { + "publisherId": { "type": "string", - "description": "Represents composed image iso hash of a os image." + "description": "Identifier of the Publisher for the offer" + }, + "offerId": { + "type": "string", + "description": "Identifier of the Offer for the sku" + }, + "content": { + "type": "string", + "description": "JSON serialized catalog content of the sku offer" + }, + "contentVersion": { + "type": "string", + "description": "The API version of the catalog service used to serve the catalog content" + }, + "skuMappings": { + "type": "array", + "description": "Array of SKU mappings", + "items": { + "$ref": "#/definitions/SkuMappings" + }, + "x-ms-identifiers": [] + } + } + }, + "SoftwareAssuranceChangeRequest": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/SoftwareAssuranceChangeRequestProperties" + } + } + }, + "SoftwareAssuranceChangeRequestProperties": { + "type": "object", + "properties": { + "softwareAssuranceIntent": { + "$ref": "#/definitions/SoftwareAssuranceIntent", + "description": "Customer Intent for Software Assurance Benefit. This indicates whether the customer wishes to opt in or out of the Software Assurance program, which provides licensing and support benefits." + } + } + }, + "SoftwareAssuranceIntent": { + "type": "string", + "description": "Customer Intent for Software Assurance Benefit.", + "enum": [ + "Enable", + "Disable" + ], + "x-ms-enum": { + "name": "SoftwareAssuranceIntent", + "modelAsString": true, + "values": [ + { + "name": "Enable", + "value": "Enable", + "description": "Customer intends to enable the Software Assurance benefit." + }, + { + "name": "Disable", + "value": "Disable", + "description": "Customer intends to disable the Software Assurance benefit." + } + ] + } + }, + "SoftwareAssuranceProperties": { + "type": "object", + "description": "Software Assurance properties of the cluster.", + "properties": { + "softwareAssuranceStatus": { + "$ref": "#/definitions/SoftwareAssuranceStatus", + "description": "Status of the Software Assurance for the cluster.", + "readOnly": true + }, + "softwareAssuranceIntent": { + "$ref": "#/definitions/SoftwareAssuranceIntent", + "description": "Customer Intent for Software Assurance Benefit." + }, + "lastUpdated": { + "type": "string", + "format": "date-time", + "description": "TimeStamp denoting the latest SA benefit applicability is validated.", + "readOnly": true } } }, - "OsProfile": { + "SoftwareAssuranceStatus": { + "type": "string", + "description": "Status of the Software Assurance for the cluster.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "SoftwareAssuranceStatus", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "Software Assurance is enabled for the cluster." + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Software Assurance is disabled for the cluster." + } + ] + } + }, + "State": { + "type": "string", + "description": "Represents the current state of the update as it relates to this stamp. This includes phases such as preparation, installation, scanning, and error handling, providing insight into the update's progress and any issues encountered.", + "enum": [ + "HasPrerequisite", + "Obsolete", + "Ready", + "NotApplicableBecauseAnotherUpdateIsInProgress", + "Preparing", + "Installing", + "Installed", + "PreparationFailed", + "InstallationFailed", + "Invalid", + "Recalled", + "Downloading", + "DownloadFailed", + "HealthChecking", + "HealthCheckFailed", + "ReadyToInstall", + "ScanInProgress", + "ScanFailed", + "AdditionalContentRequired" + ], + "x-ms-enum": { + "name": "State", + "modelAsString": true, + "values": [ + { + "name": "HasPrerequisite", + "value": "HasPrerequisite", + "description": "The update has prerequisites that must be fulfilled before it can proceed." + }, + { + "name": "Obsolete", + "value": "Obsolete", + "description": "The update is obsolete and no longer applicable." + }, + { + "name": "Ready", + "value": "Ready", + "description": "The update is ready to be installed." + }, + { + "name": "NotApplicableBecauseAnotherUpdateIsInProgress", + "value": "NotApplicableBecauseAnotherUpdateIsInProgress", + "description": "The update cannot be applied because another update is currently in progress." + }, + { + "name": "Preparing", + "value": "Preparing", + "description": "The update is currently in the preparation phase." + }, + { + "name": "Installing", + "value": "Installing", + "description": "The update is currently being installed." + }, + { + "name": "Installed", + "value": "Installed", + "description": "The update has been successfully installed." + }, + { + "name": "PreparationFailed", + "value": "PreparationFailed", + "description": "The update preparation phase failed." + }, + { + "name": "InstallationFailed", + "value": "InstallationFailed", + "description": "The update installation failed." + }, + { + "name": "Invalid", + "value": "Invalid", + "description": "The update is invalid and cannot be applied." + }, + { + "name": "Recalled", + "value": "Recalled", + "description": "The update has been recalled and should not be applied." + }, + { + "name": "Downloading", + "value": "Downloading", + "description": "The update is currently being downloaded." + }, + { + "name": "DownloadFailed", + "value": "DownloadFailed", + "description": "The update download failed." + }, + { + "name": "HealthChecking", + "value": "HealthChecking", + "description": "A health check is being performed before applying the update." + }, + { + "name": "HealthCheckFailed", + "value": "HealthCheckFailed", + "description": "The health check failed, preventing the update from proceeding." + }, + { + "name": "ReadyToInstall", + "value": "ReadyToInstall", + "description": "The update is ready to be installed after successful preparation and checks." + }, + { + "name": "ScanInProgress", + "value": "ScanInProgress", + "description": "The system is scanning for updates." + }, + { + "name": "ScanFailed", + "value": "ScanFailed", + "description": "The scan for updates failed." + }, + { + "name": "AdditionalContentRequired", + "value": "AdditionalContentRequired", + "description": "Additional content is required to proceed with the update." + } + ] + } + }, + "Status": { + "type": "string", + "description": "Status of the cluster agent. Indicates the current connectivity, validation, and deployment state of the agent within the cluster.", + "enum": [ + "NotYetRegistered", + "ConnectedRecently", + "NotConnectedRecently", + "Disconnected", + "Error", + "NotSpecified", + "ValidationInProgress", + "ValidationSuccess", + "ValidationFailed", + "DeploymentInProgress", + "DeploymentFailed", + "DeploymentSuccess" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": true, + "values": [ + { + "name": "NotYetRegistered", + "value": "NotYetRegistered", + "description": "The cluster agent has not yet registered with Azure." + }, + { + "name": "ConnectedRecently", + "value": "ConnectedRecently", + "description": "The cluster agent has connected to Azure recently." + }, + { + "name": "NotConnectedRecently", + "value": "NotConnectedRecently", + "description": "The cluster agent has not connected to Azure recently." + }, + { + "name": "Disconnected", + "value": "Disconnected", + "description": "The cluster agent is currently disconnected from Azure." + }, + { + "name": "Error", + "value": "Error", + "description": "An error occurred in the cluster agent's operation." + }, + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "The status of the cluster agent is not specified." + }, + { + "name": "ValidationInProgress", + "value": "ValidationInProgress", + "description": "Validation of the cluster agent is currently in progress." + }, + { + "name": "ValidationSuccess", + "value": "ValidationSuccess", + "description": "Validation of the cluster agent completed successfully." + }, + { + "name": "ValidationFailed", + "value": "ValidationFailed", + "description": "Validation of the cluster agent failed." + }, + { + "name": "DeploymentInProgress", + "value": "DeploymentInProgress", + "description": "Deployment of the cluster agent is currently in progress." + }, + { + "name": "DeploymentFailed", + "value": "DeploymentFailed", + "description": "Deployment of the cluster agent failed." + }, + { + "name": "DeploymentSuccess", + "value": "DeploymentSuccess", + "description": "Deployment of the cluster agent completed successfully." + } + ] + } + }, + "StatusLevelTypes": { + "type": "string", + "description": "The level code. Indicates the severity or importance of the status message.", + "enum": [ + "Info", + "Warning", + "Error" + ], + "x-ms-enum": { + "name": "StatusLevelTypes", + "modelAsString": true, + "values": [ + { + "name": "Info", + "value": "Info", + "description": "Informational message indicating normal operation." + }, + { + "name": "Warning", + "value": "Warning", + "description": "Warning message indicating a potential issue or non-critical problem." + }, + { + "name": "Error", + "value": "Error", + "description": "Error message indicating a failure or critical issue." + } + ] + } + }, + "Step": { "type": "object", - "description": "OS configurations for HCI device.", + "description": "Progress representation of the update run steps.", "properties": { - "bootType": { + "name": { "type": "string", - "description": "The boot type of the device. e.g. UEFI, Legacy etc", - "readOnly": true + "description": "Name of the step." }, - "assemblyVersion": { + "description": { "type": "string", - "description": "Version of assembly present on device", - "readOnly": true + "description": "More detailed description of the step." }, - "osType": { + "errorMessage": { "type": "string", - "description": "OS type (“windows\", “linux”)", - "readOnly": true + "description": "Error message, specified if the step is in a failed state." }, - "osSku": { + "status": { "type": "string", - "description": "OS SKU (e.g., “ Microsoft Azure Linux ROE“, “Azure Stack HCI\", \"Microsoft Azure Linux 3.0\")", - "readOnly": true + "description": "Status of the step, bubbled up from the ECE action plan for installation attempts. Values are: 'Success', 'Error', 'InProgress', and 'Unknown status'." }, - "osVersion": { + "startTimeUtc": { "type": "string", - "description": "OS Version", - "readOnly": true + "format": "date-time", + "description": "When the step started, or empty if it has not started executing." }, - "buildNumber": { + "endTimeUtc": { "type": "string", - "description": "OS Build Number", - "readOnly": true + "format": "date-time", + "description": "When the step reached a terminal state." }, - "baseImageVersion": { + "lastUpdatedTimeUtc": { "type": "string", - "description": "OS Base Image Version", - "readOnly": true + "format": "date-time", + "description": "Completion time of this step or the last completed sub-step." }, - "imageVersion": { + "expectedExecutionTime": { "type": "string", - "description": "OS Image Version", - "readOnly": true + "description": "Expected execution time of a given step. This is optionally authored in the update action plan and can be empty." + }, + "steps": { + "type": "array", + "description": "Recursive model for child steps of this step.", + "items": { + "$ref": "#/definitions/Step" + }, + "x-ms-identifiers": [ + "name" + ] } } }, - "OsProvisionProfile": { + "Storage": { "type": "object", - "description": "Operating system profile.", + "description": "The Storage config of AzureStackHCI Cluster.", "properties": { - "osName": { - "type": "string", - "description": "Name of the operating system." - }, - "osType": { - "type": "string", - "description": "Type of the operating system." - }, - "osVersion": { - "type": "string", - "description": "Version of the operating system." - }, - "osImageLocation": { - "type": "string", - "description": "Location of the operating system image." - }, - "vsrVersion": { - "type": "string", - "description": "Validated Solution Recipe version to be used for the job" - }, - "imageHash": { - "type": "string", - "description": "Hash of the OS package downloaded" - }, - "gpgPubKey": { + "configurationMode": { "type": "string", - "description": "GPG Public Key used for package verification" - }, - "operationType": { + "description": "By default, this mode is set to Express and your storage is configured as per best practices based on the number of nodes in the cluster. Allowed values are 'Express','InfraOnly', 'KeepStorage'", + "default": "Express" + } + } + }, + "StorageConfiguration": { + "type": "object", + "description": "Storage configuration.", + "properties": { + "partitionSize": { "type": "string", - "description": "Operation sub type of OS Provisioning", - "default": "Provision", - "enum": [ - "Provision", - "Update", - "ReImage" - ], - "x-ms-enum": { - "name": "OSOperationType", - "modelAsString": true, - "values": [ - { - "name": "Provision", - "value": "Provision", - "description": "OS Provisioning operation" - }, - { - "name": "Update", - "value": "Update", - "description": "OS Update operation" - }, - { - "name": "ReImage", - "value": "ReImage", - "description": "OS ReImage operation" - } - ] - } + "description": "Partition size." } } }, - "OwnerKeyType": { + "StorageProfile": { + "type": "object", + "description": "StorageProfile of edge machine.", + "properties": { + "poolableDisksCount": { + "type": "integer", + "format": "int64", + "description": "Number of storage disks in the device with $CanPool as true.", + "readOnly": true + } + } + }, + "SupportStatus": { "type": "string", - "description": "Type of owner key in the voucher", + "description": "Indicates whether the cluster is under support.", "enum": [ - "MicrosoftManaged" + "InSupport", + "OutOfSupport", + "NotSpecified" ], "x-ms-enum": { - "name": "OwnerKeyType", + "name": "SupportStatus", "modelAsString": true, "values": [ { - "name": "MicrosoftManaged", - "value": "MicrosoftManaged", - "description": "Owner is Microsoft managed key" + "name": "InSupport", + "value": "InSupport", + "description": "The cluster is under support." + }, + { + "name": "OutOfSupport", + "value": "OutOfSupport", + "description": "The cluster is out of support." + }, + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "The support status is not specified." } ] } }, - "OwnershipVoucherDetails": { + "SwitchDetail": { "type": "object", - "description": "Details for ownership voucher.", + "description": "List of switch details for edge device.", "properties": { - "ownershipVoucher": { + "switchName": { "type": "string", - "format": "password", - "description": "Ownership voucher in base64 encoded format", - "x-ms-secret": true + "description": "The name of the switch.", + "readOnly": true }, - "ownerKeyType": { - "$ref": "#/definitions/OwnerKeyType", - "description": "Owner key type" + "switchType": { + "type": "string", + "description": "The type of the switch. e.g. external, internal.", + "readOnly": true + }, + "extensions": { + "type": "array", + "description": "This represents extensions installed on virtualSwitch.", + "items": { + "$ref": "#/definitions/SwitchExtension" + }, + "readOnly": true, + "x-ms-identifiers": [ + "extensionName" + ] } - }, - "required": [ - "ownershipVoucher", - "ownerKeyType" - ] + } }, - "OwnershipVoucherValidationDetails": { + "SwitchExtension": { "type": "object", - "description": "Ownership Voucher Validation Details", + "description": "This represents extensions installed on virtualSwitch.", "properties": { - "validationStatus": { - "$ref": "#/definitions/OwnershipVoucherValidationStatus", - "description": "The ownership voucher validation status." - }, - "serialNumber": { - "type": "string", - "description": "Serial number of the device." - }, - "id": { - "type": "string", - "description": "FDO guid of the Ownership Voucher." - }, - "manufacturer": { - "type": "string", - "description": "Name of the manufacturer." - }, - "modelName": { - "type": "string", - "description": "Name of the model." - }, - "version": { + "switchId": { "type": "string", - "description": "Version of the Ownership Voucher format" + "description": "Unique identifier for virtualSwitch.", + "readOnly": true }, - "azureMachineId": { + "extensionName": { "type": "string", - "description": "Azure Machine Id of the Ownership voucher" + "description": "This will show extension name for virtualSwitch.", + "readOnly": true }, - "error": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorDetail", - "description": "Error details if the validation failed." + "extensionEnabled": { + "type": "boolean", + "description": "This represents whether extension is enabled on virtualSwitch.", + "readOnly": true } } }, - "OwnershipVoucherValidationStatus": { - "type": "string", - "description": "Ownership Voucher validation Status.", - "enum": [ - "Valid", - "Invalid" - ], - "x-ms-enum": { - "name": "OwnershipVoucherValidationStatus", - "modelAsString": true, - "values": [ - { - "name": "Valid", - "value": "Valid", - "description": "Voucher evaluated as valid." - }, - { - "name": "Invalid", - "value": "Invalid", - "description": "Voucher evaluated as invalid." - } - ] + "TargetDeviceConfiguration": { + "type": "object", + "description": "Device configuration.", + "properties": { + "network": { + "$ref": "#/definitions/NetworkConfiguration", + "description": "Network configuration." + }, + "hostName": { + "type": "string", + "description": "Hostname of the device." + }, + "webProxy": { + "$ref": "#/definitions/WebProxyConfiguration", + "description": "Web proxy configuration." + }, + "time": { + "$ref": "#/definitions/TimeConfiguration", + "description": "Time configuration." + }, + "storage": { + "$ref": "#/definitions/StorageConfiguration", + "description": "Storage configuration." + } } }, - "PlatformPayload": { + "TimeConfiguration": { "type": "object", - "description": "Represents details of a specific platform update payload.", + "description": "Time configuration.", "properties": { - "payloadUrl": { - "type": "string", - "description": "Represents url of a platform update payload." - }, - "payloadHash": { + "primaryTimeServer": { "type": "string", - "description": "Represents hash of a platform update payload." + "description": "Primary NTP server." }, - "payloadPackageSizeInBytes": { + "secondaryTimeServer": { "type": "string", - "description": "Represents size in bytes of a platform update payload." + "description": "Secondary NTP server." }, - "payloadIdentifier": { + "timeZone": { "type": "string", - "description": "Represents identifier of a platform update payload." + "description": "Time zone." } } }, - "PlatformUpdate": { + "Update": { "type": "object", - "description": "Represents a platform update resource.", + "description": "Update details", "properties": { "properties": { - "$ref": "#/definitions/PlatformUpdateProperties", - "description": "The resource-specific properties for this resource." + "$ref": "#/definitions/UpdateProperties", + "description": "Update properties", + "x-ms-client-flatten": true + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives", + "x-ms-mutability": [ + "read", + "create" + ] } }, "allOf": [ @@ -3086,40 +13464,30 @@ } ] }, - "PlatformUpdateDetails": { + "UpdateContent": { "type": "object", - "description": "Represents details of a specific platform update.", + "description": "Represents a update content.", "properties": { - "validatedSolutionRecipeVersion": { - "type": "string", - "description": "Represents validated solution recipe version of a platform update." - }, - "platformVersion": { - "type": "string", - "description": "Represents version of a platform update." - }, - "platformPayloads": { - "type": "array", - "description": "Represents the platform payloads of a platform update.", - "items": { - "$ref": "#/definitions/PlatformPayload" - }, - "x-ms-identifiers": [] + "properties": { + "$ref": "#/definitions/UpdateContentProperties", + "description": "The resource-specific properties for this resource." } }, - "required": [ - "platformPayloads" + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } ] }, - "PlatformUpdateListResult": { + "UpdateContentListResult": { "type": "object", - "description": "The response of a PlatformUpdate list operation.", + "description": "The response of a UpdateContent list operation.", "properties": { "value": { "type": "array", - "description": "The PlatformUpdate items on this page", + "description": "The UpdateContent items on this page", "items": { - "$ref": "#/definitions/PlatformUpdate" + "$ref": "#/definitions/UpdateContent" } }, "nextLink": { @@ -3132,896 +13500,853 @@ "value" ] }, - "PlatformUpdateProperties": { + "UpdateContentProperties": { "type": "object", - "description": "Represents properties of a platform update resource.", + "description": "Represents properties of a update content resource.", "properties": { - "platformUpdateDetails": { + "updatePayloads": { "type": "array", - "description": "Represents applicable platform updates.", + "description": "Represents the payloads of a update content resource.", "items": { - "$ref": "#/definitions/PlatformUpdateDetails" + "$ref": "#/definitions/ContentPayload" }, "x-ms-identifiers": [] } }, "required": [ - "platformUpdateDetails" + "updatePayloads" ] }, - "ProvisionOsJobProperties": { + "UpdateList": { "type": "object", - "description": "Represents the properties of an Azure Linux restricted operating environment Provision Os job.", + "description": "List of Updates", "properties": { - "provisioningRequest": { - "$ref": "#/definitions/ProvisioningRequest", - "description": "Os Provisioning request." + "value": { + "type": "array", + "description": "The Update items on this page", + "items": { + "$ref": "#/definitions/Update" + } }, - "reportedProperties": { - "$ref": "#/definitions/ProvisionOsReportedProperties", - "description": "Reported Properties for Provision Os job" + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } }, "required": [ - "provisioningRequest" - ], - "allOf": [ - { - "$ref": "#/definitions/EdgeMachineJobProperties" - } - ], - "x-ms-discriminator-value": "ProvisionOs" + "value" + ] }, - "ProvisionOsReportedProperties": { + "UpdatePrerequisite": { "type": "object", - "description": "Reported Properties for Provision Os job", + "description": "If update State is HasPrerequisite, this property contains an array of objects describing prerequisite updates before installing this update. Otherwise, it is empty.", "properties": { - "percentComplete": { - "type": "integer", - "format": "int32", - "description": "The percentage of the job that is complete.", - "readOnly": true + "updateType": { + "type": "string", + "description": "Updatable component type." }, - "validationStatus": { - "$ref": "#/definitions/EceActionStatus", - "description": "Validation status of job.", - "readOnly": true + "version": { + "type": "string", + "description": "Version of the prerequisite." }, - "deploymentStatus": { - "$ref": "#/definitions/EceActionStatus", - "description": "Deployment status of job.", - "readOnly": true + "packageName": { + "type": "string", + "description": "Friendly name of the prerequisite." } } }, - "ProvisioningDetails": { + "UpdateProperties": { "type": "object", - "description": "Details for device provisioning.", + "description": "Details of a singular Update in HCI Cluster", "properties": { - "osProfile": { - "$ref": "#/definitions/OsProvisionProfile", - "description": "Operating system profile." + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state of the Updates proxy resource. Indicates the current lifecycle status of the update operation, such as whether it has been accepted, is in progress, or has completed.", + "readOnly": true }, - "userDetails": { + "installedDate": { + "type": "string", + "format": "date-time", + "description": "Date that the update was installed." + }, + "description": { + "type": "string", + "description": "Description of the update." + }, + "minSbeVersionRequired": { + "type": "string", + "description": "Minimum Sbe Version of the update." + }, + "state": { + "$ref": "#/definitions/State", + "description": "Represents the current state of the update as it relates to this stamp. This includes phases such as preparation, installation, scanning, and error handling, providing insight into the update's progress and any issues encountered." + }, + "prerequisites": { "type": "array", - "description": "User configuration.", - "minItems": 1, + "description": "If update State is HasPrerequisite, this property contains an array of objects describing prerequisite updates before installing this update. Otherwise, it is empty.", "items": { - "$ref": "#/definitions/UserDetails" + "$ref": "#/definitions/UpdatePrerequisite" }, "x-ms-identifiers": [ - "userName" + "packageName" ] - } - }, - "required": [ - "osProfile" - ] - }, - "ProvisioningOsType": { - "type": "string", - "description": "Represents the provisioning operating system type.", - "enum": [ - "AzureLinux", - "HCI" - ], - "x-ms-enum": { - "name": "ProvisioningOsType", - "modelAsString": true, - "values": [ - { - "name": "AzureLinux", - "value": "AzureLinux", - "description": "AzureLinux OS." + }, + "componentVersions": { + "type": "array", + "description": "An array of component versions for a Solution Bundle update, and an empty array otherwise.", + "items": { + "$ref": "#/definitions/PackageVersionInfo" }, - { - "name": "HCI", - "value": "HCI", - "description": "HCI OS." - } - ] - } - }, - "ProvisioningRequest": { - "type": "object", - "description": "Represents a provisioning request.", - "properties": { - "target": { - "$ref": "#/definitions/ProvisioningOsType", - "description": "Target operating system to support polymorphic resource.", - "x-ms-mutability": [ - "read", - "create" + "x-ms-client-flatten": true, + "x-ms-identifiers": [ + "version" ] }, - "osProfile": { - "$ref": "#/definitions/OsProvisionProfile", - "description": "Operating system profile." + "rebootRequired": { + "$ref": "#/definitions/RebootRequirement", + "description": "Indicates whether a reboot is required after the update or operation. Helps determine if a system restart is necessary to complete the process.", + "x-ms-client-flatten": true }, - "userDetails": { + "healthState": { + "$ref": "#/definitions/HealthState", + "description": "Overall health state for update-specific health checks.", + "x-ms-client-flatten": true + }, + "healthCheckResult": { "type": "array", - "description": "User configuration.", + "description": "An array of PrecheckResult objects.", "items": { - "$ref": "#/definitions/UserDetails" + "$ref": "#/definitions/PrecheckResult" }, - "x-ms-identifiers": [ - "userName" - ] + "x-ms-client-flatten": true }, - "onboardingConfiguration": { - "$ref": "#/definitions/OnboardingConfiguration", - "description": "Onboarding configuration." + "healthCheckDate": { + "type": "string", + "format": "date-time", + "description": "Last time the package-specific checks were run." }, - "deviceConfiguration": { - "$ref": "#/definitions/DeviceConfiguration", - "description": "Device configuration." + "packagePath": { + "type": "string", + "description": "Path where the update package is available." + }, + "packageSizeInMb": { + "type": "number", + "format": "float", + "description": "Size of the package. This value is a combination of the size from update metadata and size of the payload that results from the live scan operation for OS update content." + }, + "displayName": { + "type": "string", + "description": "Display name of the Update" + }, + "version": { + "type": "string", + "description": "Version of the update." + }, + "publisher": { + "type": "string", + "description": "Publisher of the update package." + }, + "releaseLink": { + "type": "string", + "description": "Link to release notes for the update." + }, + "availabilityType": { + "$ref": "#/definitions/AvailabilityType", + "description": "Indicates how the update content is made available for download. This determines whether the update is sourced locally, from an online repository, or requires user notification." + }, + "packageType": { + "type": "string", + "description": "Customer-visible type of the update." + }, + "additionalProperties": { + "type": "string", + "description": "Extensible KV pairs serialized as a string. This is currently used to report the stamp OEM family and hardware model information when an update is flagged as Invalid for the stamp based on OEM type." + }, + "updateStateProperties": { + "$ref": "#/definitions/UpdateStateProperties", + "description": "Additional information regarding the state of the update. See definition of UpdateStateProperties type below for more details on this property.", + "x-ms-client-flatten": true + } + } + }, + "UpdateRun": { + "type": "object", + "description": "Details of an Update run", + "properties": { + "properties": { + "$ref": "#/definitions/UpdateRunProperties", + "description": "Describes Update Run Properties.", + "x-ms-client-flatten": true + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] + }, + "UpdateRunList": { + "type": "object", + "description": "List of Update runs", + "properties": { + "value": { + "type": "array", + "description": "The UpdateRun items on this page", + "items": { + "$ref": "#/definitions/UpdateRun" + } }, - "customConfiguration": { + "nextLink": { "type": "string", - "description": "Base64 encoded custom configuration for CAPI to use" + "format": "uri", + "description": "The link to the next page of items" } }, "required": [ - "target", - "osProfile" + "value" ] }, - "ProvisioningState": { + "UpdateRunProperties": { + "type": "object", + "description": "Details of an Update run", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state of the UpdateRuns proxy resource. Indicates the current lifecycle status of the update operation, such as whether it has been accepted, is in progress, or has completed.", + "readOnly": true + }, + "timeStarted": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the update run was started." + }, + "lastUpdatedTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recently completed step in the update run." + }, + "duration": { + "type": "string", + "description": "Duration of the update run." + }, + "state": { + "$ref": "#/definitions/UpdateRunPropertiesState", + "description": "Represents the current state of the update run. Indicates whether the update is in progress, has completed successfully, failed, or is in an unknown state." + }, + "progress": { + "$ref": "#/definitions/Step", + "description": "Progress representation of the update run steps.", + "x-ms-client-flatten": true + } + } + }, + "UpdateRunPropertiesState": { "type": "string", - "description": "The provisioning state of a resource.", + "description": "Represents the current state of the update run. Indicates whether the update is in progress, has completed successfully, failed, or is in an unknown state.", "enum": [ - "NotSpecified", + "Unknown", "Succeeded", - "Failed", - "Canceled", "InProgress", - "Provisioning", - "Updating", - "Deleting", - "Accepted" + "Failed" ], "x-ms-enum": { - "name": "ProvisioningState", + "name": "UpdateRunPropertiesState", "modelAsString": true, "values": [ { - "name": "NotSpecified", - "value": "NotSpecified", - "description": "The resource provision state is not specified" + "name": "Unknown", + "value": "Unknown", + "description": "The state of the update run is not known." }, { "name": "Succeeded", "value": "Succeeded", - "description": "Resource has been created." - }, - { - "name": "Failed", - "value": "Failed", - "description": "Resource creation failed." - }, - { - "name": "Canceled", - "value": "Canceled", - "description": "Resource creation was canceled." + "description": "The update run completed successfully." }, { "name": "InProgress", "value": "InProgress", - "description": "Resource creation is in progress." - }, - { - "name": "Provisioning", - "value": "Provisioning", - "description": "The resource is being provisioned" - }, - { - "name": "Updating", - "value": "Updating", - "description": "The resource is updating" - }, - { - "name": "Deleting", - "value": "Deleting", - "description": "The resource is being deleted" + "description": "The update run is currently in progress." }, { - "name": "Accepted", - "value": "Accepted", - "description": "The resource create request has been accepted" + "name": "Failed", + "value": "Failed", + "description": "The update run failed to complete successfully." } ] }, "readOnly": true }, - "RdmaCapability": { - "type": "string", - "description": "Describes the RDMA capability of the network adapter.", - "enum": [ - "Enabled", - "Disabled" - ], - "x-ms-enum": { - "name": "RdmaCapability", - "modelAsString": true, - "values": [ - { - "name": "Enabled", - "value": "Enabled", - "description": "Network Adapter on the device is RDMA Capable" - }, - { - "name": "Disabled", - "value": "Disabled", - "description": "Network Adapter on the device isn't RDMA Capable" - } - ] - } - }, - "RemoteSupportAccessLevel": { - "type": "string", - "description": "Defines the level of remote support access granted.", - "enum": [ - "None", - "Diagnostics", - "DiagnosticsAndRepair" - ], - "x-ms-enum": { - "name": "RemoteSupportAccessLevel", - "modelAsString": true, - "values": [ - { - "name": "None", - "value": "None", - "description": "No remote support access is granted." - }, - { - "name": "Diagnostics", - "value": "Diagnostics", - "description": "Access is limited to diagnostics information only." - }, - { - "name": "DiagnosticsAndRepair", - "value": "DiagnosticsAndRepair", - "description": "Access includes diagnostics information and the ability to perform repairs." - } - ] + "UpdateStateProperties": { + "type": "object", + "description": "Additional information regarding the state of the update. See definition of UpdateStateProperties type below for more details on this property.", + "properties": { + "progressPercentage": { + "type": "number", + "format": "float", + "description": "Progress percentage of ongoing operation. Currently this property is only valid when the update is in the Downloading state, where it maps to how much of the update content has been downloaded." + }, + "notifyMessage": { + "type": "string", + "description": "Brief message with instructions for updates of AvailabilityType Notify." + } } }, - "RemoteSupportJobProperties": { + "UpdateSummaries": { "type": "object", - "description": "Properties for adding a server in the cluster.", + "description": "Get the update summaries for the cluster", "properties": { - "accessLevel": { - "$ref": "#/definitions/RemoteSupportAccessLevel", - "description": "Remote support access level." + "properties": { + "$ref": "#/definitions/UpdateSummariesProperties", + "description": "Update summaries properties", + "x-ms-client-flatten": true }, - "expirationTimestamp": { + "location": { "type": "string", - "format": "date-time", - "description": "Remote support expiration timestamp." - }, - "type": { - "$ref": "#/definitions/RemoteSupportType", - "description": "Remote support type." - }, - "reportedProperties": { - "$ref": "#/definitions/RemoteSupportReportedProperties", - "description": "log collection job reported properties.", - "readOnly": true + "description": "The geo-location where the resource lives", + "x-ms-mutability": [ + "read", + "create" + ] } }, - "required": [ - "accessLevel", - "expirationTimestamp", - "type" - ], "allOf": [ { - "$ref": "#/definitions/EdgeMachineJobProperties" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } - ], - "x-ms-discriminator-value": "RemoteSupport" + ] }, - "RemoteSupportNodeSettings": { + "UpdateSummariesList": { "type": "object", - "description": "Represents the settings of a remote support node.", + "description": "List of Update Summaries", "properties": { - "state": { - "type": "string", - "description": "The state of the remote support node.", - "readOnly": true - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "The timestamp when the node settings were created, in UTC.", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "The timestamp when the node settings were last updated, in UTC.", - "readOnly": true - }, - "connectionStatus": { - "type": "string", - "description": "The current connection status of the remote support session.", - "readOnly": true + "value": { + "type": "array", + "description": "The UpdateSummaries items on this page", + "items": { + "$ref": "#/definitions/UpdateSummaries" + } }, - "connectionErrorMessage": { + "nextLink": { "type": "string", - "description": "The error message, if any, from the last connection attempt.", - "readOnly": true + "format": "uri", + "description": "The link to the next page of items" } - } + }, + "required": [ + "value" + ] }, - "RemoteSupportReportedProperties": { + "UpdateSummariesProperties": { "type": "object", - "description": "Represents the reported properties of a remote support job.", + "description": "Properties of Update summaries", "properties": { - "percentComplete": { - "type": "integer", - "format": "int32", - "description": "The percentage of the job that is complete.", + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state of the UpdateSummaries proxy resource. Indicates the current lifecycle status of the update summary operation, such as whether it has been accepted, is in progress, or has completed.", "readOnly": true }, - "validationStatus": { - "$ref": "#/definitions/EceActionStatus", - "description": "Validation status of job.", - "readOnly": true + "oemFamily": { + "type": "string", + "description": "OEM family name." }, - "deploymentStatus": { - "$ref": "#/definitions/EceActionStatus", - "description": "Deployment status of job.", - "readOnly": true + "currentOemVersion": { + "type": "string", + "description": "Current OEM Version." }, - "nodeSettings": { - "$ref": "#/definitions/RemoteSupportNodeSettings", - "description": "Optional settings for configuring the node for remote support.", - "readOnly": true + "hardwareModel": { + "type": "string", + "description": "Name of the hardware model." }, - "sessionDetails": { + "packageVersions": { "type": "array", - "description": "Details of the remote support session.", + "description": "Current version of each updatable component.", "items": { - "$ref": "#/definitions/RemoteSupportSession" + "$ref": "#/definitions/PackageVersionInfo" }, - "readOnly": true, + "x-ms-client-flatten": true, "x-ms-identifiers": [ - "sessionId" + "version" ] - } - } - }, - "RemoteSupportSession": { - "type": "object", - "description": "Represents a remote support session.", - "properties": { - "sessionId": { + }, + "currentVersion": { "type": "string", - "description": "Unique session Id.", - "readOnly": true + "description": "Current Solution Bundle version of the stamp." }, - "sessionStartTime": { + "currentSbeVersion": { + "type": "string", + "description": "Current Sbe version of the stamp." + }, + "lastUpdated": { "type": "string", "format": "date-time", - "description": "The start time of the remote support session, in UTC.", - "readOnly": true + "description": "Last time an update installation completed successfully." }, - "sessionEndTime": { + "lastChecked": { "type": "string", "format": "date-time", - "description": "The end time of the remote support session, in UTC.", - "readOnly": true + "description": "Last time the update service successfully checked for updates" }, - "accessLevel": { - "$ref": "#/definitions/RemoteSupportAccessLevel", - "description": "The level of access granted during the remote support session.", - "readOnly": true + "healthState": { + "$ref": "#/definitions/HealthState", + "description": "Overall health state for update-specific health checks.", + "x-ms-client-flatten": true + }, + "healthCheckResult": { + "type": "array", + "description": "An array of pre-check result objects.", + "items": { + "$ref": "#/definitions/PrecheckResult" + }, + "x-ms-client-flatten": true, + "x-ms-identifiers": [ + "name" + ] }, - "transcriptLocation": { + "healthCheckDate": { "type": "string", - "description": "The location where the session transcript is stored.", - "readOnly": true + "format": "date-time", + "description": "Last time the package-specific checks were run." + }, + "state": { + "$ref": "#/definitions/UpdateSummariesPropertiesState", + "description": "Overall update state of the stamp. Indicates the current status of update deployment across the stamp, including preparation, application, and any issues encountered." } } }, - "RemoteSupportType": { + "UpdateSummariesPropertiesState": { "type": "string", - "description": "Defines the type of remote support action to be performed on an edge device.", + "description": "Overall update state of the stamp. Indicates the current status of update deployment across the stamp, including preparation, application, and any issues encountered.", "enum": [ - "Enable", - "Revoke" + "Unknown", + "AppliedSuccessfully", + "UpdateAvailable", + "UpdateInProgress", + "UpdateFailed", + "NeedsAttention", + "PreparationInProgress", + "PreparationFailed" ], "x-ms-enum": { - "name": "RemoteSupportType", + "name": "UpdateSummariesPropertiesState", "modelAsString": true, "values": [ { - "name": "Enable", - "value": "Enable", - "description": "Enables remote support for the edge device." + "name": "Unknown", + "value": "Unknown", + "description": "The update state is not known." }, { - "name": "Revoke", - "value": "Revoke", - "description": "Revokes remote support access for the edge device." + "name": "AppliedSuccessfully", + "value": "AppliedSuccessfully", + "description": "Updates have been successfully applied to the stamp." + }, + { + "name": "UpdateAvailable", + "value": "UpdateAvailable", + "description": "Updates are available but have not yet been applied." + }, + { + "name": "UpdateInProgress", + "value": "UpdateInProgress", + "description": "Updates are currently being applied to the stamp." + }, + { + "name": "UpdateFailed", + "value": "UpdateFailed", + "description": "The update process failed." + }, + { + "name": "NeedsAttention", + "value": "NeedsAttention", + "description": "The update process requires user intervention or has encountered issues needing attention." + }, + { + "name": "PreparationInProgress", + "value": "PreparationInProgress", + "description": "Preparation for the update is currently in progress." + }, + { + "name": "PreparationFailed", + "value": "PreparationFailed", + "description": "Preparation for the update failed." } ] } }, - "ReportedProperties": { + "UploadCertificateRequest": { "type": "object", - "description": "Reported properties for edge machine.", "properties": { - "lastUpdated": { - "type": "string", - "format": "date-time", - "description": "Last time data reported.", - "readOnly": true - }, - "networkProfile": { - "$ref": "#/definitions/NetworkProfile", - "description": "Network details for edge machine.", - "readOnly": true - }, - "osProfile": { - "$ref": "#/definitions/OsProfile", - "description": "OS Properties for edge machine.", - "readOnly": true - }, - "hardwareProfile": { - "$ref": "#/definitions/HardwareProfile", - "description": "Hardware related information for edge machine.", - "readOnly": true - }, - "storageProfile": { - "$ref": "#/definitions/StorageProfile", - "description": "Storage related information for edge machine.", - "readOnly": true - }, - "sbeDeploymentPackageInfo": { - "$ref": "#/definitions/SbeDeploymentPackageInfo", - "description": "Solution builder extension (SBE) deployment package information.", - "readOnly": true - }, - "extensionProfile": { - "$ref": "#/definitions/ExtensionProfile", - "description": "Extension details for edge machine.", - "readOnly": true + "properties": { + "$ref": "#/definitions/RawCertificateData" } } }, - "SbeDeploymentPackageInfo": { + "UserDetails": { "type": "object", - "description": "Solution builder extension (SBE) deployment package information.", + "description": "User configuration.", "properties": { - "code": { + "userName": { "type": "string", - "description": "SBE deployment validation code.", - "readOnly": true + "description": "Name of the user." }, - "message": { - "type": "string", - "description": "A detailed message that explains the SBE package validation result.", - "readOnly": true + "secretType": { + "$ref": "#/definitions/SecretType", + "description": "Type of the secret used for authentication." }, - "sbeManifest": { + "secretLocation": { "type": "string", - "description": "This represents discovered update results for matching updates and store it as SBE manifest.", - "readOnly": true + "description": "Location of the secret used for authentication." + }, + "sshPubKey": { + "type": "array", + "description": "SSH Public Key for the user.", + "items": { + "type": "string" + } } - } + }, + "required": [ + "userName", + "secretType" + ] }, - "SdnIntegrationIntent": { - "type": "string", - "description": "Indicates whether Software Defined Networking (SDN) integration should be enabled or disabled for this deployment.", - "enum": [ - "Enable", - "Disable" - ], - "x-ms-enum": { - "name": "SdnIntegrationIntent", - "modelAsString": true, - "values": [ - { - "name": "Enable", - "value": "Enable", - "description": "Enable SDN integration for the deployment." + "ValidateOwnershipVouchersRequest": { + "type": "object", + "description": "Validate Ownership Voucher Request", + "properties": { + "ownershipVoucherDetails": { + "type": "array", + "description": "Ownership Voucher Details.", + "minItems": 1, + "items": { + "$ref": "#/definitions/OwnershipVoucherDetails" }, - { - "name": "Disable", - "value": "Disable", - "description": "Disable SDN integration for the deployment." - } - ] - } + "x-ms-identifiers": [] + } + }, + "required": [ + "ownershipVoucherDetails" + ] }, - "SdnProperties": { + "ValidateOwnershipVouchersResponse": { "type": "object", - "description": "Represents the Software Defined Networking (SDN) configuration state.", + "description": "Validate Ownership Voucher Response", "properties": { - "sdnStatus": { - "$ref": "#/definitions/SdnStatus", - "description": "Indicates the current Software Defined Networking (SDN) status of the resource, which may be an individual device or a cluster.", - "readOnly": true + "ownershipVoucherValidationDetails": { + "type": "array", + "description": "Ownership Voucher Validation Details.", + "items": { + "$ref": "#/definitions/OwnershipVoucherValidationDetails" + }, + "x-ms-identifiers": [ + "id" + ] + } + }, + "required": [ + "ownershipVoucherValidationDetails" + ] + }, + "ValidateRequest": { + "type": "object", + "description": "The validate request for Edge Device.", + "properties": { + "edgeDeviceIds": { + "type": "array", + "description": "Node Ids against which, current node has to be validated.", + "items": { + "type": "string" + } }, - "sdnDomainName": { + "additionalInfo": { "type": "string", - "description": "The fully qualified domain name (FQDN) associated with the SDN deployment. This value is propagated from the Device Management Extension to the cluster resource. It is typically in the format `-nc.` when SDN is enabled. May be null or absent in unsupported or disabled states.", - "readOnly": true - }, - "sdnApiAddress": { + "description": "Additional info required for validation." + } + }, + "required": [ + "edgeDeviceIds" + ] + }, + "ValidateResponse": { + "type": "object", + "description": "An Accepted response with an Operation-Location header.", + "properties": { + "status": { "type": "string", - "description": "Represents the API address for the SDN deployment.", + "description": "edge device validation status", "readOnly": true } } }, - "SdnStatus": { - "type": "string", - "description": "Indicates the current Software Defined Networking (SDN) status of the resource, which may be an individual device or a cluster.", - "enum": [ - "Unknown", - "Disabled", - "Enabled" - ], - "x-ms-enum": { - "name": "SdnStatus", - "modelAsString": true, - "values": [ - { - "name": "Unknown", - "value": "Unknown", - "description": "The SDN status could not be determined due to a failure in querying the SDN API service. This may occur if the query script fails or if the system is in an inconsistent state. The domain name will be null in this case." - }, - { - "name": "Disabled", - "value": "Disabled", - "description": "SDN is not enabled on the resource. The domain name will be null. This is the default state when SDN has not been configured." - }, - { - "name": "Enabled", - "value": "Enabled", - "description": "SDN is successfully enabled on the resource. The domain name will be populated in the format `-nc.`. Customers may need to manage DNS settings to ensure proper resolution." - } - ] - } + "ValidatedSolutionRecipe": { + "type": "object", + "description": "Represents a validated solution recipe resource.", + "properties": { + "properties": { + "$ref": "#/definitions/ValidatedSolutionRecipeProperties", + "description": "The resource-specific properties for this resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] }, - "SecretType": { - "type": "string", - "description": "Type of secret used for authentication.", - "enum": [ - "KeyVault", - "SshPubKey" - ], - "x-ms-enum": { - "name": "SecretType", - "modelAsString": true, - "values": [ - { - "name": "KeyVault", - "value": "KeyVault", - "description": "Key Vault based authentication" + "ValidatedSolutionRecipeCapabilities": { + "type": "object", + "description": "Represents capabilities available in a validated solution recipe.", + "properties": { + "clusterCapabilities": { + "type": "array", + "description": "Represents the cluster capabilities.", + "items": { + "$ref": "#/definitions/ValidatedSolutionRecipeCapability" }, - { - "name": "SshPubKey", - "value": "SshPubKey", - "description": "SSH Public Key based authentication" - } - ] - } + "x-ms-identifiers": [] + }, + "nodeCapabilities": { + "type": "array", + "description": "Represents the node capabilities.", + "items": { + "$ref": "#/definitions/ValidatedSolutionRecipeCapability" + }, + "x-ms-identifiers": [] + } + }, + "required": [ + "clusterCapabilities", + "nodeCapabilities" + ] }, - "SiteDetails": { + "ValidatedSolutionRecipeCapability": { "type": "object", - "description": "Site Details consists of common configurations.", + "description": "Represents capability available in a validated solution recipe.", "properties": { - "siteResourceId": { + "capabilityName": { "type": "string", - "format": "arm-id", - "description": "Site resource Id to be set during Edge Machine resource creation.", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.Edge/sites" - } - ] - } - }, - "deviceConfiguration": { - "$ref": "#/definitions/DeviceConfiguration", - "description": "Edge Device configuration received from site common configuration." + "description": "Represents the capability name." } }, "required": [ - "siteResourceId" + "capabilityName" ] }, - "Step": { + "ValidatedSolutionRecipeComponent": { "type": "object", - "description": "Step details during job execution.", + "description": "Represents component available in a validated solution recipe.", "properties": { "name": { "type": "string", - "description": "Name of step.", - "readOnly": true - }, - "description": { - "type": "string", - "description": "Description of step.", - "readOnly": true - }, - "fullStepIndex": { - "type": "string", - "description": "FullStepIndex of step.", - "readOnly": true + "description": "Represents the component's name." }, - "startTimeUtc": { + "type": { "type": "string", - "description": "Start time in utc of step.", - "readOnly": true + "description": "Represents the component's type." }, - "endTimeUtc": { + "requiredVersion": { "type": "string", - "description": "End time in utc of step.", - "readOnly": true + "description": "Represents the component's required version." }, - "status": { - "type": "string", - "description": "Status of step. Allowed values are 'Error', 'Success', 'InProgress'", - "readOnly": true + "installOrder": { + "type": "integer", + "format": "int64", + "description": "Represents the component's install order." }, - "steps": { + "tags": { "type": "array", - "description": "List of nested steps during job execution..", + "description": "Represents the component's tags.", "items": { - "$ref": "#/definitions/Step" - }, - "readOnly": true, - "x-ms-identifiers": [ - "name" - ] + "type": "string" + } }, - "exception": { + "payloads": { "type": "array", - "description": "List of exceptions in job execution.", + "description": "Represents the component's payloads.", "items": { - "type": "string" + "$ref": "#/definitions/ValidatedSolutionRecipeComponentPayload" }, - "readOnly": true + "x-ms-identifiers": [] }, - "error": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorDetail", - "description": "Error information for the step", - "readOnly": true + "metadata": { + "$ref": "#/definitions/ValidatedSolutionRecipeComponentMetadata", + "description": "Represents the component's metadata." } - } + }, + "required": [ + "name", + "type", + "tags" + ] }, - "StorageConfiguration": { + "ValidatedSolutionRecipeComponentMetadata": { "type": "object", - "description": "Storage configuration.", + "description": "Represents metadata associated with a component available in a validated solution recipe.", "properties": { - "partitionSize": { + "extensionType": { "type": "string", - "description": "Partition size." - } - } - }, - "StorageProfile": { - "type": "object", - "description": "StorageProfile of edge machine.", - "properties": { - "poolableDisksCount": { - "type": "integer", - "format": "int64", - "description": "Number of storage disks in the device with $CanPool as true.", - "readOnly": true - } - } - }, - "SwitchDetail": { - "type": "object", - "description": "Switch Details of edge machine.", - "properties": { - "switchName": { + "description": "Represents the type of extension." + }, + "publisher": { "type": "string", - "description": "The name of the switch.", - "readOnly": true + "description": "Represents the publisher of the extension." }, - "switchType": { + "enableAutomaticUpgrade": { + "type": "boolean", + "description": "Indicates whether automatic upgrades of the extension are enabled." + }, + "lcmUpdate": { + "type": "boolean", + "description": "Indicates whether the LCM (Lifecycle Management) update of the extension is enabled." + }, + "catalog": { "type": "string", - "description": "The type of the switch. e.g. external, internal.", - "readOnly": true + "description": "Specifies the catalog to which the extension belongs." }, - "extensions": { - "type": "array", - "description": "This represents extensions installed on virtualSwitch.", - "items": { - "$ref": "#/definitions/SwitchExtension" - }, - "readOnly": true, - "x-ms-identifiers": [ - "extensionName" - ] - } - } - }, - "SwitchExtension": { - "type": "object", - "description": "This represents extensions installed on virtualSwitch.", - "properties": { - "switchId": { + "ring": { "type": "string", - "description": "Unique identifier for virtualSwitch.", - "readOnly": true + "description": "Specifies the ring to which the extension belongs, internally used by component." }, - "extensionName": { + "releaseTrain": { "type": "string", - "description": "This will show extension name for virtualSwitch.", - "readOnly": true + "description": "Specifies the release train to which given component belongs." }, - "extensionEnabled": { - "type": "boolean", - "description": "This represents whether extension is enabled on virtualSwitch.", - "readOnly": true - } - } - }, - "TimeConfiguration": { - "type": "object", - "description": "Time configuration.", - "properties": { - "primaryTimeServer": { + "link": { "type": "string", - "description": "Primary NTP server." + "description": "Specifies the link associated with the extension." }, - "secondaryTimeServer": { + "name": { "type": "string", - "description": "Secondary NTP server." + "description": "Specifies the name of the extension." }, - "timeZone": { + "expectedHash": { "type": "string", - "description": "Time zone." + "description": "Specifies the expected hash of the extension." + }, + "previewSource": { + "type": "string", + "description": "Specifies the preview source of the extension." } } }, - "UpdateContent": { - "type": "object", - "description": "Represents a update content.", - "properties": { - "properties": { - "$ref": "#/definitions/UpdateContentProperties", - "description": "The resource-specific properties for this resource." - } - }, - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" - } - ] - }, - "UpdateContentListResult": { + "ValidatedSolutionRecipeComponentPayload": { "type": "object", - "description": "The response of a UpdateContent list operation.", + "description": "Represents payloads associated with a component available in a validated solution recipe.", "properties": { - "value": { - "type": "array", - "description": "The UpdateContent items on this page", - "items": { - "$ref": "#/definitions/UpdateContent" - } + "identifier": { + "type": "string", + "description": "Represents the unique identifier of the payload used to query the URL." }, - "nextLink": { + "hash": { "type": "string", - "format": "uri", - "description": "The link to the next page of items" + "description": "Represents the cryptographic hash of the payload, ensuring data integrity." + }, + "fileName": { + "type": "string", + "description": "Represents the name of the file associated with the payload." + }, + "url": { + "type": "string", + "description": "Represents the URL from which the payload can be downloaded." } }, "required": [ - "value" + "identifier", + "hash", + "fileName", + "url" ] }, - "UpdateContentProperties": { + "ValidatedSolutionRecipeContent": { "type": "object", - "description": "Represents properties of a update content resource.", + "description": "Represents contents of a validated solution recipe resource.", "properties": { - "updatePayloads": { + "info": { + "$ref": "#/definitions/ValidatedSolutionRecipeInfo", + "description": "Represents information about a validated solution recipe." + }, + "capabilities": { + "$ref": "#/definitions/ValidatedSolutionRecipeCapabilities", + "description": "Represents capabilities available in a validated solution recipe." + }, + "components": { "type": "array", - "description": "Represents the payloads of a update content resource.", + "description": "Represents components available in a validated solution recipe.", "items": { - "$ref": "#/definitions/ContentPayload" + "$ref": "#/definitions/ValidatedSolutionRecipeComponent" }, "x-ms-identifiers": [] } }, "required": [ - "updatePayloads" + "info", + "components" ] }, - "UserDetails": { + "ValidatedSolutionRecipeInfo": { "type": "object", - "description": "User configuration.", + "description": "Represents information about a validated solution recipe.", "properties": { - "userName": { + "solutionType": { "type": "string", - "description": "Name of the user." - }, - "secretType": { - "$ref": "#/definitions/SecretType", - "description": "Type of the secret used for authentication." + "description": "Represents the solution type for which this validated solution recipe is applicable." }, - "secretLocation": { + "version": { "type": "string", - "description": "Location of the secret used for authentication." - }, - "sshPubKey": { - "type": "array", - "description": "SSH Public Key for the user.", - "items": { - "type": "string" - } + "description": "Represents the version for which this validated solution recipe is applicable." } }, "required": [ - "userName", - "secretType" + "solutionType", + "version" ] }, - "ValidateOwnershipVouchersRequest": { + "ValidatedSolutionRecipeListResult": { "type": "object", - "description": "Validate Ownership Voucher Request", + "description": "The response of a ValidatedSolutionRecipe list operation.", "properties": { - "ownershipVoucherDetails": { + "value": { "type": "array", - "description": "Ownership Voucher Details.", - "minItems": 1, + "description": "The ValidatedSolutionRecipe items on this page", "items": { - "$ref": "#/definitions/OwnershipVoucherDetails" - }, - "x-ms-identifiers": [] + "$ref": "#/definitions/ValidatedSolutionRecipe" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } }, "required": [ - "ownershipVoucherDetails" + "value" ] }, - "ValidateOwnershipVouchersResponse": { + "ValidatedSolutionRecipeProperties": { "type": "object", - "description": "Validate Ownership Voucher Response", + "description": "Represents properties of a validated solution recipe resource.", "properties": { - "ownershipVoucherValidationDetails": { - "type": "array", - "description": "Ownership Voucher Validation Details.", - "items": { - "$ref": "#/definitions/OwnershipVoucherValidationDetails" - }, - "x-ms-identifiers": [ - "id" - ] + "recipeContent": { + "$ref": "#/definitions/ValidatedSolutionRecipeContent", + "description": "Represents contents of a validated solution recipe." + }, + "signature": { + "type": "string", + "description": "Represents the signature of the recipe, to be used for ensuring its integrity." } }, "required": [ - "ownershipVoucherValidationDetails" + "recipeContent" ] }, "WebProxyConfiguration": { @@ -4047,6 +14372,30 @@ } } } + }, + "WindowsServerSubscription": { + "type": "string", + "description": "Desired state of Windows Server Subscription.", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "WindowsServerSubscription", + "modelAsString": true, + "values": [ + { + "name": "Disabled", + "value": "Disabled", + "description": "Windows Server Subscription is disabled." + }, + { + "name": "Enabled", + "value": "Enabled", + "description": "Windows Server Subscription is enabled." + } + ] + } } }, "parameters": {} diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/validateOwnershipVouchers.tsp b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/validateOwnershipVouchers.tsp index 139f19baffc8..3ff25985b58c 100644 --- a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/validateOwnershipVouchers.tsp +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/validateOwnershipVouchers.tsp @@ -1,5 +1,6 @@ import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; +import "@azure-tools/typespec-client-generator-core"; import "@typespec/openapi"; import "@typespec/rest"; @@ -8,6 +9,7 @@ using TypeSpec.Rest; using TypeSpec.Http; using Azure.ResourceManager; using TypeSpec.OpenAPI; +using Azure.ClientGenerator.Core; @armProviderNamespace("Microsoft.AzureStackHCI") namespace Microsoft.AzureStackHCI; @@ -18,22 +20,12 @@ interface OwnershipVouchers { /** * Validates ownership vouchers. */ - @doc("Validates ownership vouchers.") - @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/locations/{location}/validateOwnershipVouchers") - @post - validate( - ...ApiVersionParameter, - ...SubscriptionIdParameter, - ...ResourceGroupParameter, - ...LocationResourceParameter, - - /** - * Ownership vouchers to be validated. - */ - @doc("Ownership vouchers to be validated.") - @bodyRoot - validationRequest: ValidateOwnershipVouchersRequest, - ): ArmResponse | ErrorResponse; + @action("validateOwnershipVouchers") + validate is ArmResourceActionSync< + ResourceGroupLocationResource, + ValidateOwnershipVouchersRequest, + ValidateOwnershipVouchersResponse + >; } @added(Versions.v2025_12_01_preview) @@ -44,6 +36,12 @@ model ValidateOwnershipVouchersRequest { @minItems(1) ownershipVoucherDetails: OwnershipVoucherDetails[]; } +@@doc(OwnershipVouchers.validate::parameters.body, + "Ownership vouchers to be validated." +); +@@clientName(OwnershipVouchers.validate::parameters.body, "validationRequest"); + +@@clientName(OwnershipVouchers.validate::parameters.body, "validationRequest"); @added(Versions.v2025_12_01_preview) @doc("Validate Ownership Voucher Response")