diff --git a/cSpell.json b/cSpell.json index 5482efad3149..9ef4d831bbb1 100644 --- a/cSpell.json +++ b/cSpell.json @@ -47,6 +47,21 @@ "typescript" ], "overrides": [ + { + "filename": "**/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/**/*.json", + "words": [ + "azurearcdata" + ] + }, + { + "filename": "**/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/**/*.json", + "words": [ + "SSRS", + "SSAS", + "SSIS", + "PBIRS" + ] + }, { "filename": "**/specification/batch/**/*.json", "words": [ diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/activeDirectoryConnectors.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/activeDirectoryConnectors.json new file mode 100644 index 000000000000..76600b07efcc --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/activeDirectoryConnectors.json @@ -0,0 +1,240 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-05-01-preview", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "paths": {}, + "definitions": { + "ActiveDirectoryConnectorListResult": { + "description": "A list of active directory connectors", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ActiveDirectoryConnectorResource" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ActiveDirectoryConnectorResource": { + "type": "object", + "description": "Active directory connector resource", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ActiveDirectoryConnectorProperties", + "description": "null", + "x-ms-client-flatten": false + } + }, + "required": [ + "properties" + ] + }, + "ActiveDirectoryConnectorProperties": { + "type": "object", + "description": "The properties of an Active Directory connector resource", + "properties": { + "domainServiceAccountLoginInformation": { + "$ref": "./common.json#/definitions/BasicLoginInformation", + "description": "Username and password for domain service account authentication." + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the Active Directory connector resource.", + "readOnly": true + }, + "spec": { + "$ref": "#/definitions/ActiveDirectoryConnectorSpec", + "description": "null", + "x-ms-client-flatten": false + }, + "status": { + "$ref": "#/definitions/ActiveDirectoryConnectorStatus", + "description": "null", + "x-ms-client-flatten": false + } + }, + "required": [ + "spec" + ] + }, + "ActiveDirectoryConnectorSpec": { + "description": "The specifications of the AD Kubernetes resource.", + "type": "object", + "properties": { + "activeDirectory": { + "$ref": "#/definitions/ActiveDirectoryConnectorDomainDetails", + "description": "null", + "x-ms-client-flatten": false + }, + "dns": { + "$ref": "#/definitions/ActiveDirectoryConnectorDNSDetails", + "description": "null", + "x-ms-client-flatten": false + } + }, + "required": [ + "activeDirectory", + "dns" + ] + }, + "ActiveDirectoryConnectorDomainDetails": { + "type": "object", + "description": "Active Directory domain details", + "properties": { + "realm": { + "type": "string", + "description": "Name (uppercase) of the Active Directory domain that this AD connector will be associated with." + }, + "netbiosDomainName": { + "type": "string", + "description": "NETBIOS name of the Active Directory domain." + }, + "serviceAccountProvisioning": { + "type": "string", + "enum": [ + "automatic", + "manual" + ], + "x-ms-enum": { + "name": "accountProvisioningMode", + "modelAsString": true + }, + "default": "manual", + "description": "The service account provisioning mode for this Active Directory connector." + }, + "ouDistinguishedName": { + "type": "string", + "description": "The distinguished name of the Active Directory Organizational Unit." + }, + "domainControllers": { + "$ref": "#/definitions/ActiveDirectoryDomainControllers", + "description": "null", + "x-ms-client-flatten": false + } + }, + "required": [ + "realm" + ] + }, + "ActiveDirectoryConnectorDNSDetails": { + "type": "object", + "description": "DNS server details", + "properties": { + "domainName": { + "type": "string", + "description": "DNS domain name for which DNS lookups should be forwarded to the Active Directory DNS servers." + }, + "nameserverIPAddresses": { + "type": "array", + "description": "List of Active Directory DNS server IP addresses.", + "items": { + "type": "string", + "minimum": 1 + } + }, + "replicas": { + "type": "integer", + "description": "Replica count for DNS proxy service. Default value is 1.", + "default": 1, + "format": "int64" + }, + "preferK8sDnsForPtrLookups": { + "type": "boolean", + "description": "Flag indicating whether to prefer Kubernetes DNS server response over AD DNS server response for IP address lookups.", + "default": true + } + }, + "required": [ + "nameserverIPAddresses" + ] + }, + "ActiveDirectoryDomainControllers": { + "type": "object", + "description": "Details about the Active Directory domain controllers associated with this AD connector instance", + "properties": { + "primaryDomainController": { + "$ref": "#/definitions/ActiveDirectoryDomainController", + "description": "Information about the Primary Domain Controller (PDC) in the AD domain.", + "x-ms-client-flatten": false + }, + "secondaryDomainControllers": { + "$ref": "#/definitions/ActiveDirectorySecondaryDomainControllers", + "description": "null", + "x-ms-client-flatten": false + } + } + }, + "ActiveDirectoryDomainController": { + "type": "object", + "description": "Information about a domain controller in the AD domain.", + "properties": { + "hostname": { + "type": "string", + "description": "Fully-qualified domain name of a domain controller in the AD domain." + } + }, + "required": [ + "hostname" + ] + }, + "ActiveDirectorySecondaryDomainControllers": { + "type": "array", + "description": "Information about the secondary domain controllers in the AD domain.", + "items": { + "$ref": "#/definitions/ActiveDirectoryDomainController", + "description": "List of the fully-qualified domain names of the secondary domain controllers in the AD domain.", + "x-ms-client-flatten": false + }, + "x-ms-identifiers": [ + "hostname" + ] + }, + "ActiveDirectoryConnectorStatus": { + "type": "object", + "description": "The status of the Kubernetes custom resource.", + "properties": { + "lastUpdateTime": { + "type": "string", + "description": "The time that the custom resource was last updated." + }, + "observedGeneration": { + "type": "integer", + "format": "int64", + "description": "The version of the replicaSet associated with the AD connector custom resource." + }, + "state": { + "type": "string", + "description": "The state of the AD connector custom resource." + } + }, + "additionalProperties": {} + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/azurearcdata.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/azurearcdata.json new file mode 100644 index 000000000000..5f93b34b812f --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/azurearcdata.json @@ -0,0 +1,2193 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-05-01-preview", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.AzureArcData/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available Azure Data Services on Azure Arc API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved operations.", + "schema": { + "$ref": "./operations.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Lists all of the available Azure Data Services on Azure Arc API operations.": { + "$ref": "./examples/ListOperation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlManagedInstances": { + "get": { + "tags": [ + "SqlManagedInstances" + ], + "operationId": "SqlManagedInstances_List", + "summary": "List sqlManagedInstance resources in the subscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 404 ResourceNotFound - The requested resource was not found.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL Instance in a subscription.": { + "$ref": "./examples/ListSubscriptionSqlManagedInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances": { + "get": { + "tags": [ + "SqlManagedInstances" + ], + "operationId": "SqlManagedInstances_ListByResourceGroup", + "description": "Gets all sqlManagedInstances in a resource group.", + "summary": "List sqlManagedInstance resources in the resource group", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL Instance in a resource group.": { + "$ref": "./examples/ListByResourceGroupSqlManagedInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}": { + "get": { + "tags": [ + "SqlManagedInstances" + ], + "operationId": "SqlManagedInstances_Get", + "description": "Retrieves a SQL Managed Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlManagedInstanceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Updates a SQL Instance tags.": { + "$ref": "./examples/GetSqlManagedInstance.json" + } + } + }, + "put": { + "tags": [ + "SqlManagedInstances" + ], + "operationId": "SqlManagedInstances_Create", + "description": "Creates or replaces a SQL Managed Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlManagedInstanceName" + }, + { + "name": "sqlManagedInstance", + "in": "body", + "description": "The SQL Managed Instance to be created or updated.", + "required": true, + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstance" + } + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstance" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update a SQL Managed Instance": { + "$ref": "./examples/CreateOrUpdateSqlManagedInstance.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "SqlManagedInstances" + ], + "operationId": "SqlManagedInstances_Delete", + "description": "Deletes a SQL Managed Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlManagedInstanceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the SQL Managed Instance." + }, + "202": { + "description": "Resource deletion is in progress." + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + }, + "204": { + "description": "The specified SQL Managed Instance does not exist." + } + }, + "x-ms-examples": { + "Delete a SQL Instance.": { + "$ref": "./examples/DeleteSqlManagedInstance.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "SqlManagedInstances" + ], + "operationId": "SqlManagedInstances_Update", + "description": "Updates a SQL Managed Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlManagedInstanceName" + }, + { + "name": "parameters", + "in": "body", + "description": "The SQL Managed Instance.", + "required": true, + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstanceUpdate" + } + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Updates a sql Instance tags.": { + "$ref": "./examples/UpdateSqlManagedInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}/failoverGroups": { + "get": { + "tags": [ + "FailoverGroups" + ], + "operationId": "FailoverGroups_List", + "summary": "List the failover groups associated with the given sql managed instance.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlManagedInstanceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./failoverGroups.json#/definitions/FailoverGroupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 404 ResourceNotFound - The requested resource was not found.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all failover groups associated with a sql managed instance.": { + "$ref": "./examples/ListBySqlManagedInstanceFailoverGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}/failoverGroups/{failoverGroupName}": { + "put": { + "tags": [ + "FailoverGroups" + ], + "operationId": "FailoverGroups_Create", + "description": "Creates or replaces a failover group resource.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "failoverGroupResource", + "description": "desc", + "required": true, + "in": "body", + "schema": { + "$ref": "./failoverGroups.json#/definitions/FailoverGroupResource" + } + }, + { + "$ref": "#/parameters/sqlManagedInstanceName" + }, + { + "$ref": "#/parameters/failoverGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./failoverGroups.json#/definitions/FailoverGroupResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./failoverGroups.json#/definitions/FailoverGroupResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create or update a failover group instance.": { + "$ref": "./examples/CreateOrUpdateFailoverGroup.json" + } + } + }, + "delete": { + "tags": [ + "FailoverGroups" + ], + "operationId": "FailoverGroups_Delete", + "description": "Deletes a failover group resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlManagedInstanceName" + }, + { + "$ref": "#/parameters/failoverGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the failover group." + }, + "202": { + "description": "Resource deletion is in progress." + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + }, + "204": { + "description": "The specified failover group does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes a failover group instance.": { + "$ref": "./examples/DeleteFailoverGroup.json" + } + } + }, + "get": { + "tags": [ + "FailoverGroups" + ], + "operationId": "FailoverGroups_Get", + "description": "Retrieves a failover group resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlManagedInstanceName" + }, + { + "$ref": "#/parameters/failoverGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./failoverGroups.json#/definitions/FailoverGroupResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Retrieves a failover group resource.": { + "$ref": "./examples/GetFailoverGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlServerInstances": { + "get": { + "tags": [ + "SqlServerInstances" + ], + "operationId": "SqlServerInstances_List", + "summary": "List sqlServerInstance resources in the subscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 404 ResourceNotFound - The requested resource was not found.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL Server Instance in a subscription.": { + "$ref": "./examples/ListSubscriptionSqlServerInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances": { + "get": { + "tags": [ + "SqlServerInstances" + ], + "operationId": "SqlServerInstances_ListByResourceGroup", + "description": "Gets all sqlServerInstances in a resource group.", + "summary": "List sqlServerInstance resources in the resource group", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL Server Instance in a resource group.": { + "$ref": "./examples/ListByResourceGroupSqlServerInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}": { + "get": { + "tags": [ + "SqlServerInstances" + ], + "operationId": "SqlServerInstances_Get", + "description": "Retrieves a SQL Server Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Updates a SQL Server Instance tags.": { + "$ref": "./examples/GetSqlServerInstance.json" + } + } + }, + "put": { + "tags": [ + "SqlServerInstances" + ], + "operationId": "SqlServerInstances_Create", + "description": "Creates or replaces a SQL Server Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "name": "sqlServerInstance", + "in": "body", + "description": "The SQL Server Instance to be created or updated.", + "required": true, + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstance" + } + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstance" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Updates a SQL Server Instance tags.": { + "$ref": "./examples/CreateOrUpdateSqlServerInstance.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "SqlServerInstances" + ], + "operationId": "SqlServerInstances_Delete", + "description": "Deletes a SQL Server Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the SQL Server Instance." + }, + "202": { + "description": "Resource deletion is in progress." + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + }, + "204": { + "description": "The specified SQL Server Instance does not exist." + } + }, + "x-ms-examples": { + "Delete a SQL Server Instance.": { + "$ref": "./examples/DeleteSqlServerInstance.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "SqlServerInstances" + ], + "operationId": "SqlServerInstances_Update", + "description": "Updates a SQL Server Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "name": "parameters", + "in": "body", + "description": "The SQL Server Instance.", + "required": true, + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstanceUpdate" + } + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstance" + } + }, + "202": { + "description": "Resource update is in progress.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Updates a SQL Server Instance tags.": { + "$ref": "./examples/UpdateSqlServerInstance.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/getTelemetry": { + "post": { + "tags": [ + "SqlServerInstances" + ], + "operationId": "SqlServerInstances_getTelemetry", + "description": "Retrieves SQL Server instance telemetry", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "name": "sqlServerInstanceTelemetryRequest", + "in": "body", + "description": "Contains the parameters to get SQL Server instance telemetry.", + "required": true, + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstanceTelemetryRequest" + } + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstanceTelemetryResponse" + } + }, + "202": { + "description": "Arc SQL Server telemetry retrieval is in progress.", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the operation status." + } + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "operationName": "SqlServerInstances_PostInstanceTelemetry", + "itemName": "rows" + }, + "x-ms-examples": { + "Retrieves Arc SQL Server cpu utilization telemetry": { + "$ref": "./examples/GetSqlServerInstanceTelemetry.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/runMigrationAssessment": { + "post": { + "tags": [ + "SqlServerInstances" + ], + "operationId": "SqlServerInstances_runMigrationAssessment", + "description": "Runs migration assessment for SQL Server instance", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstanceRunMigrationAssessmentResponse" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Trigger migration assessment run on sql server instance": { + "$ref": "./examples/RunMigrationAssessmentSqlServerInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/getJobsStatus": { + "post": { + "tags": [ + "SqlServerInstances" + ], + "operationId": "SqlServerInstances_getJobsStatus", + "description": "Gets jobs status details for sql arc resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "name": "SqlServerInstanceJobsStatusRequest", + "in": "body", + "description": "Contains the parameters to get SQL Server instance agent jobs status.", + "required": false, + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstanceJobsStatusRequest" + } + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstanceJobsStatusResponse" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Retrieves Arc SQL Server instance jobs status": { + "$ref": "./examples/GetSqlServerInstanceJobsStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/preUpgrade": { + "post": { + "tags": [ + "SqlServerInstances" + ], + "description": "Request Upgrade Permission before upgrading.", + "operationId": "SqlServerInstances_preUpgrade", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully requested upgrade permission for the instance.", + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Prepare SQL server instance for AUM Upgrade.": { + "$ref": "./examples/PreUpgradeSqlServerInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/postUpgrade": { + "post": { + "tags": [ + "SqlServerInstances" + ], + "description": "Clean up after upgrading.", + "operationId": "SqlServerInstances_postUpgrade", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully clean up upgrade request for the instance.", + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Post AUM Upgrade to complete SQL Instance Upgrade Process": { + "$ref": "./examples/PostUpgradeSqlServerInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlServerLicenses": { + "get": { + "tags": [ + "SqlServerLicenses" + ], + "operationId": "SqlServerLicenses_List", + "summary": "List sqlServerLicense resources in the subscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlServerLicenses.json#/definitions/SqlServerLicenseListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 404 ResourceNotFound - The requested resource was not found.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL Server license in a subscription.": { + "$ref": "./examples/ListSubscriptionSqlServerLicense.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerLicenses": { + "get": { + "tags": [ + "SqlServerLicenses" + ], + "operationId": "SqlServerLicenses_ListByResourceGroup", + "description": "Gets all sqlServerLicenses in a resource group.", + "summary": "List sqlServerLicense resources in the resource group", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlServerLicenses.json#/definitions/SqlServerLicenseListResult" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL Server license in a resource group.": { + "$ref": "./examples/ListByResourceGroupSqlServerLicense.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerLicenses/{sqlServerLicenseName}": { + "get": { + "tags": [ + "SqlServerLicenses" + ], + "operationId": "SqlServerLicenses_Get", + "description": "Retrieves a SQL Server license resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerLicenseName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlServerLicenses.json#/definitions/SqlServerLicense" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets a SQL Server license tags.": { + "$ref": "./examples/GetSqlServerLicense.json" + } + } + }, + "put": { + "tags": [ + "SqlServerLicenses" + ], + "operationId": "SqlServerLicenses_Create", + "description": "Creates or replaces a SQL Server license resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerLicenseName" + }, + { + "name": "sqlServerLicense", + "in": "body", + "description": "The SQL Server license to be created or updated.", + "required": true, + "schema": { + "$ref": "./sqlServerLicenses.json#/definitions/SqlServerLicense" + } + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlServerLicenses.json#/definitions/SqlServerLicense" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./sqlServerLicenses.json#/definitions/SqlServerLicense" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Updates a SQL Server license tags.": { + "$ref": "./examples/CreateOrUpdateSqlServerLicense.json" + } + } + }, + "delete": { + "tags": [ + "SqlServerLicenses" + ], + "operationId": "SqlServerLicenses_Delete", + "description": "Deletes a SQL Server license resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerLicenseName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the SQL Server license." + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + }, + "204": { + "description": "The specified SQL Server license does not exist." + } + }, + "x-ms-examples": { + "Delete a SQL Server license.": { + "$ref": "./examples/DeleteSqlServerLicense.json" + } + } + }, + "patch": { + "tags": [ + "SqlServerLicenses" + ], + "operationId": "SqlServerLicenses_Update", + "description": "Updates a SQL Server license resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerLicenseName" + }, + { + "name": "parameters", + "in": "body", + "description": "The SQL Server license.", + "required": true, + "schema": { + "$ref": "./sqlServerLicenses.json#/definitions/SqlServerLicenseUpdate" + } + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlServerLicenses.json#/definitions/SqlServerLicense" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch a SQL Server license tags.": { + "$ref": "./examples/UpdateSqlServerLicense.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/dataControllers": { + "get": { + "tags": [ + "DataControllers" + ], + "operationId": "DataControllers_ListInSubscription", + "summary": "List dataController resources in the subscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./dataControllers.json#/definitions/PageOfDataControllerResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all dataControllers in a subscription.": { + "$ref": "./examples/ListSubscriptionDataController.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers": { + "get": { + "tags": [ + "DataControllers" + ], + "operationId": "DataControllers_ListInGroup", + "summary": "List dataController resources in the resource group", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./dataControllers.json#/definitions/PageOfDataControllerResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all dataControllers in a resource group.": { + "$ref": "./examples/ListByResourceGroupDataController.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}": { + "put": { + "tags": [ + "DataControllers" + ], + "operationId": "DataControllers_PutDataController", + "description": "Creates or replaces a dataController resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "dataControllerResource", + "description": "desc", + "required": true, + "in": "body", + "schema": { + "$ref": "./dataControllers.json#/definitions/DataControllerResource" + } + }, + { + "$ref": "#/parameters/dataControllerName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./dataControllers.json#/definitions/DataControllerResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./dataControllers.json#/definitions/DataControllerResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update a Data Controller.": { + "$ref": "./examples/CreateOrUpdateDataController.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "DataControllers" + ], + "operationId": "DataControllers_DeleteDataController", + "description": "Deletes a dataController resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/dataControllerName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the DataController." + }, + "202": { + "description": "Resource deletion is in progress." + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + }, + "204": { + "description": "The specified DataController does not exist." + } + }, + "x-ms-examples": { + "Delete a dataController.": { + "$ref": "./examples/DeleteDataController.json" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "DataControllers" + ], + "operationId": "DataControllers_GetDataController", + "description": "Retrieves a dataController resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/dataControllerName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./dataControllers.json#/definitions/DataControllerResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a data controller.": { + "$ref": "./examples/GetDataController.json" + } + } + }, + "patch": { + "tags": [ + "DataControllers" + ], + "operationId": "DataControllers_PatchDataController", + "description": "Updates a dataController resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/dataControllerName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "name": "dataControllerResource", + "description": "The update data controller resource", + "required": true, + "in": "body", + "schema": { + "$ref": "./dataControllers.json#/definitions/DataControllerUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./dataControllers.json#/definitions/DataControllerResource" + } + }, + "202": { + "description": "Resource update is in progress." + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Updates a dataController tags.": { + "$ref": "./examples/UpdateDataController.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors": { + "get": { + "tags": [ + "ActiveDirectoryConnectors" + ], + "operationId": "ActiveDirectoryConnectors_List", + "summary": "List the active directory connectors associated with the given data controller.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/dataControllerName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./activeDirectoryConnectors.json#/definitions/ActiveDirectoryConnectorListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 404 ResourceNotFound - The requested resource was not found.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all Active Directory connectors associated with a data controller.": { + "$ref": "./examples/ListByDataControllerActiveDirectoryConnector.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors/{activeDirectoryConnectorName}": { + "put": { + "tags": [ + "ActiveDirectoryConnectors" + ], + "operationId": "ActiveDirectoryConnectors_Create", + "description": "Creates or replaces an Active Directory connector resource.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "activeDirectoryConnectorResource", + "description": "desc", + "required": true, + "in": "body", + "schema": { + "$ref": "./activeDirectoryConnectors.json#/definitions/ActiveDirectoryConnectorResource" + } + }, + { + "$ref": "#/parameters/dataControllerName" + }, + { + "$ref": "#/parameters/activeDirectoryConnectorName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./activeDirectoryConnectors.json#/definitions/ActiveDirectoryConnectorResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./activeDirectoryConnectors.json#/definitions/ActiveDirectoryConnectorResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create or update an Active Directory connector instance.": { + "$ref": "./examples/CreateOrUpdateActiveDirectoryConnector.json" + } + } + }, + "delete": { + "tags": [ + "ActiveDirectoryConnectors" + ], + "operationId": "ActiveDirectoryConnectors_Delete", + "description": "Deletes an Active Directory connector resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/dataControllerName" + }, + { + "$ref": "#/parameters/activeDirectoryConnectorName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the active directory connector." + }, + "202": { + "description": "Resource deletion is in progress." + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + }, + "204": { + "description": "The specified active directory connector does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes an Active Directory connector instance.": { + "$ref": "./examples/DeleteActiveDirectoryConnector.json" + } + } + }, + "get": { + "tags": [ + "ActiveDirectoryConnectors" + ], + "operationId": "ActiveDirectoryConnectors_Get", + "description": "Retrieves an Active Directory connector resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/dataControllerName" + }, + { + "$ref": "#/parameters/activeDirectoryConnectorName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./activeDirectoryConnectors.json#/definitions/ActiveDirectoryConnectorResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Retrieves an Active Directory connector resource.": { + "$ref": "./examples/GetActiveDirectoryConnector.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/postgresInstances": { + "get": { + "tags": [ + "PostgresInstances" + ], + "operationId": "PostgresInstances_List", + "summary": "List postgres Instance resources in the subscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./postgresInstances.json#/definitions/PostgresInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all Postgres Instance in a subscription.": { + "$ref": "./examples/ListSubscriptionPostgresInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances": { + "get": { + "tags": [ + "PostgresInstances" + ], + "operationId": "PostgresInstances_ListByResourceGroup", + "description": "Get a postgres Instances list by Resource group name.", + "summary": "List postgres Instance resources in the resource group", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./postgresInstances.json#/definitions/PostgresInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all postgres Instances in a resource group.": { + "$ref": "./examples/ListByResourceGroupPostgresInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}": { + "get": { + "tags": [ + "PostgresInstances" + ], + "operationId": "PostgresInstances_Get", + "description": "Retrieves a postgres Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/postgresInstanceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./postgresInstances.json#/definitions/PostgresInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets a postgres Instances.": { + "$ref": "./examples/GetPostgresInstance.json" + } + } + }, + "put": { + "tags": [ + "PostgresInstances" + ], + "operationId": "PostgresInstances_Create", + "description": "Creates or replaces a postgres Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/postgresInstanceName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "name": "resource", + "description": "The postgres instance", + "required": true, + "in": "body", + "schema": { + "$ref": "./postgresInstances.json#/definitions/PostgresInstance" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./postgresInstances.json#/definitions/PostgresInstance" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./postgresInstances.json#/definitions/PostgresInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update a Postgres Instance.": { + "$ref": "./examples/CreateOrUpdatePostgresInstance.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "PostgresInstances" + ], + "operationId": "PostgresInstances_Delete", + "description": "Deletes a postgres Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/postgresInstanceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the Postgres Instance." + }, + "202": { + "description": "Resource deletion is in progress." + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + }, + "204": { + "description": "The specified Postgres Instance does not exist." + } + }, + "x-ms-examples": { + "Deletes a PostgresInstances.": { + "$ref": "./examples/DeletePostgresInstance.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "PostgresInstances" + ], + "operationId": "PostgresInstances_Update", + "description": "Updates a postgres Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/postgresInstanceName" + }, + { + "name": "parameters", + "in": "body", + "description": "The Postgres Instance.", + "required": true, + "schema": { + "$ref": "./postgresInstances.json#/definitions/PostgresInstanceUpdate" + } + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./postgresInstances.json#/definitions/PostgresInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Updates a postgres Instances tags.": { + "$ref": "./examples/UpdatePostgresInstance.json" + } + } + } + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Azure subscription", + "x-ms-parameter-location": "client" + }, + "resourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure resource group", + "x-ms-parameter-location": "method" + }, + "location": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure region to use for the request", + "x-ms-parameter-location": "method" + }, + "apiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the request", + "x-ms-parameter-location": "client" + }, + "dataControllerName": { + "name": "dataControllerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the data controller", + "x-ms-parameter-location": "method" + }, + "activeDirectoryConnectorName": { + "name": "activeDirectoryConnectorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Active Directory connector instance", + "x-ms-parameter-location": "method" + }, + "sqlManagedInstanceName": { + "name": "sqlManagedInstanceName", + "description": "Name of SQL Managed Instance", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "failoverGroupName": { + "name": "failoverGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Failover Group", + "x-ms-parameter-location": "method" + }, + "sqlServerInstanceName": { + "name": "sqlServerInstanceName", + "description": "Name of SQL Server Instance", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "sqlServerLicenseName": { + "name": "sqlServerLicenseName", + "description": "Name of SQL Server License", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "x-ms-parameter-location": "method" + }, + "postgresInstanceName": { + "name": "postgresInstanceName", + "description": "Name of Postgres Instance", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/common.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/common.json new file mode 100644 index 000000000000..165fc4a44d4a --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/common.json @@ -0,0 +1,159 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-05-01-preview", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "paths": {}, + "definitions": { + "CommonSku": { + "description": "The resource model definition representing SKU for ARM resources", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the SKU. It is typically a letter+number code" + }, + "dev": { + "type": "boolean", + "default": true, + "description": "Whether dev/test is enabled. When the dev field is set to true, the resource is used for dev/test purpose. " + }, + "size": { + "type": "string", + "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. " + }, + "family": { + "type": "string", + "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here." + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted." + } + }, + "required": [ + "name" + ] + }, + "ExtendedLocation": { + "type": "object", + "description": "The complex type of the extended location.", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "$ref": "#/definitions/ExtendedLocationType", + "description": "The type of the extended location." + } + } + }, + "ExtendedLocationType": { + "type": "string", + "description": "The type of extendedLocation.", + "enum": [ + "CustomLocation" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true + } + }, + "BasicLoginInformation": { + "type": "object", + "description": "Username and password for basic login authentication.", + "properties": { + "username": { + "type": "string", + "description": "Login username." + }, + "password": { + "type": "string", + "description": "Login password.", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + }, + "ConnectionAuth": { + "type": "string", + "description": "The endpoint connection authentication type(s).", + "enum": [ + "Windows_NTLM", + "Windows_Kerberos", + "Windows_Negotiate", + "Certificate", + "Windows_NTLM_Certificate", + "Windows_Kerberos_Certificate", + "Windows_Negotiate_Certificate", + "Certificate_Windows_NTLM", + "Certificate_Windows_Kerberos", + "Certificate_Windows_Negotiate" + ], + "x-ms-enum": { + "name": "connectionAuth", + "modelAsString": true + } + }, + "EncryptionAlgorithm": { + "type": "string", + "description": "The encryption algorithm(s) used by the endpoint.", + "enum": [ + "NONE", + "RC4", + "AES", + "NONE, RC4", + "NONE, AES", + "RC4, AES", + "AES, RC4", + "NONE, RC4, AES", + "NONE, AES, RC4" + ], + "x-ms-enum": { + "name": "encryptionAlgorithm", + "modelAsString": true + } + }, + "SkuRecommendationResultsRecommendationStatus": { + "description": "The target recommendation Status for this database.", + "type": "string", + "enum": [ + "NotReady", + "Ready", + "Unknown" + ], + "x-ms-enum": { + "name": "recommendationStatus", + "modelAsString": true + } + } + }, + "parameters": { + "apiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the request", + "x-ms-parameter-location": "client" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/dataControllers.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/dataControllers.json new file mode 100644 index 000000000000..49ddde5fc14f --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/dataControllers.json @@ -0,0 +1,253 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-05-01-preview", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "paths": {}, + "definitions": { + "DataControllerResource": { + "description": "Data controller resource", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "extendedLocation": { + "$ref": "./common.json#/definitions/ExtendedLocation", + "description": "The extendedLocation of the resource." + }, + "properties": { + "$ref": "#/definitions/DataControllerProperties", + "description": "The data controller's properties", + "x-ms-client-flatten": false + } + }, + "required": [ + "properties" + ] + }, + "PageOfDataControllerResource": { + "type": "object", + "description": "A list of data controllers.", + "properties": { + "value": { + "items": { + "$ref": "#/definitions/DataControllerResource" + }, + "type": "array", + "description": "Array of results." + }, + "nextLink": { + "type": "string", + "description": "Link to retrieve next page of results." + } + } + }, + "DataControllerUpdate": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + }, + "properties": { + "$ref": "#/definitions/DataControllerProperties", + "description": "The data controller's properties", + "x-ms-client-flatten": false + } + }, + "description": "Used for updating a data controller resource." + }, + "DataControllerProperties": { + "description": "The data controller properties.", + "type": "object", + "properties": { + "infrastructure": { + "type": "string", + "enum": [ + "azure", + "gcp", + "aws", + "alibaba", + "onpremises", + "other" + ], + "x-ms-enum": { + "name": "infrastructure", + "modelAsString": false + }, + "default": "other", + "description": "The infrastructure the data controller is running on." + }, + "onPremiseProperty": { + "$ref": "#/definitions/OnPremiseProperty" + }, + "k8sRaw": { + "type": "object", + "description": "The raw kubernetes information" + }, + "uploadWatermark": { + "$ref": "#/definitions/UploadWatermark" + }, + "lastUploadedDate": { + "type": "string", + "format": "date-time", + "description": "Last uploaded date from Kubernetes cluster. Defaults to current date time" + }, + "basicLoginInformation": { + "$ref": "./common.json#/definitions/BasicLoginInformation", + "description": "Deprecated. Azure Arc Data Services data controller no longer expose any endpoint. All traffic are exposed through Kubernetes native API." + }, + "metricsDashboardCredential": { + "$ref": "./common.json#/definitions/BasicLoginInformation", + "description": "Login credential for metrics dashboard on the Kubernetes cluster." + }, + "logsDashboardCredential": { + "$ref": "./common.json#/definitions/BasicLoginInformation", + "description": "Login credential for logs dashboard on the Kubernetes cluster." + }, + "logAnalyticsWorkspaceConfig": { + "$ref": "#/definitions/LogAnalyticsWorkspaceConfig" + }, + "uploadServicePrincipal": { + "$ref": "#/definitions/UploadServicePrincipal", + "description": "Deprecated. Service principal is deprecated in favor of Arc Kubernetes service extension managed identity." + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the Arc Data Controller resource.", + "readOnly": true + }, + "clusterId": { + "type": "string", + "description": "If a CustomLocation is provided, this contains the ARM id of the connected cluster the custom location belongs to." + }, + "extensionId": { + "type": "string", + "description": "If a CustomLocation is provided, this contains the ARM id of the extension the custom location belongs to." + } + } + }, + "UploadWatermark": { + "description": "Properties on upload watermark. Mostly timestamp for each upload data type", + "type": "object", + "properties": { + "metrics": { + "type": "string", + "format": "date-time", + "description": "Last uploaded date for metrics from kubernetes cluster. Defaults to current date time" + }, + "logs": { + "type": "string", + "format": "date-time", + "description": "Last uploaded date for logs from kubernetes cluster. Defaults to current date time" + }, + "usages": { + "type": "string", + "format": "date-time", + "description": "Last uploaded date for usages from kubernetes cluster. Defaults to current date time" + } + } + }, + "OnPremiseProperty": { + "description": "Properties from the Kubernetes data controller", + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "description": "A globally unique ID identifying the associated Kubernetes cluster" + }, + "publicSigningKey": { + "type": "string", + "description": "Certificate that contains the Kubernetes cluster public key used to verify signing" + }, + "signingCertificateThumbprint": { + "type": "string", + "description": "Unique thumbprint returned to customer to verify the certificate being uploaded" + } + }, + "required": [ + "id", + "publicSigningKey" + ] + }, + "LogAnalyticsWorkspaceConfig": { + "type": "object", + "description": "Log analytics workspace id and primary key", + "properties": { + "workspaceId": { + "type": "string", + "format": "uuid", + "description": "Azure Log Analytics workspace ID" + }, + "primaryKey": { + "type": "string", + "description": "Primary key of the workspace", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + }, + "UploadServicePrincipal": { + "type": "object", + "description": "Service principal for uploading billing, metrics and logs.", + "properties": { + "clientId": { + "type": "string", + "format": "uuid", + "description": "Client ID of the service principal for uploading data." + }, + "tenantId": { + "type": "string", + "format": "uuid", + "description": "Tenant ID of the service principal." + }, + "authority": { + "type": "string", + "description": "Authority for the service principal. Example: https://login.microsoftonline.com/" + }, + "clientSecret": { + "type": "string", + "description": "Secret of the service principal", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + } + }, + "parameters": { + "apiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the request", + "x-ms-parameter-location": "client" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/AddDatabasesToAvailabilityGroup.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/AddDatabasesToAvailabilityGroup.json new file mode 100644 index 000000000000..10d381325fed --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/AddDatabasesToAvailabilityGroup.json @@ -0,0 +1,120 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testSqlServer_INST1", + "availabilityGroupName": "testAG", + "databases": { + "values": [ + "db1", + "db2", + "db3" + ] + }, + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST1/availabilityGroups/testAG", + "name": "testAG", + "type": "Microsoft.AzureArcData/sqlServerInstances/availabilityGroups", + "properties": { + "availabilityGroupId": "00000000-1111-2222-3333-444444444444", + "serverName": "testSqlServer", + "instanceName": "INST1", + "collectionTimestamp": "2022-05-05T16:26:33.883Z", + "info": { + "failureConditionLevel": 3, + "healthCheckTimeout": 30000, + "automatedBackupPreferenceDescription": "SECONDARY", + "version": 0, + "basicFeatures": false, + "dtcSupport": false, + "dbFailover": true, + "isDistributed": false, + "clusterTypeDescription": "WSFC", + "requiredSynchronizedSecondariesToCommit": 0, + "isContained": false, + "primaryReplica": "testSqlServer\\INST1", + "primaryRecoveryHealthDescription": "ONLINE", + "secondaryRecoveryHealthDescription": null, + "synchronizationHealthDescription": "HEALTHY", + "replicationPartnerType": null + }, + "replicas": { + "value": [ + { + "replicaId": "00000000-1111-2222-3333-444444444444", + "replicaName": "testSqlServer\\INST1", + "configure": { + "endpointName": "inst1DBMEndpoint", + "endpointUrl": "TCP://mytest60-0.mytest60-svc:5022", + "endpointConnectLogin": "NT Server\\MSSSQLSERVER", + "availabilityModeDescription": "SYNCHRONOUS_COMMIT", + "failoverModeDescription": "EXTERNAL", + "sessionTimeout": 10, + "primaryRoleAllowConnectionsDescription": "ALL", + "secondaryRoleAllowConnectionsDescription": "ALL", + "replicaCreateDate": null, + "replicaModifyDate": null, + "backupPriority": 50, + "readOnlyRoutingUrl": null, + "readWriteRoutingUrl": null, + "seedingModeDescription": "AUTOMATIC" + }, + "state": { + "availabilityGroupReplicaRole": "SECONDARY", + "operationalStateDescription": "ONLINE", + "recoveryHealthDescription": "ONLINE_IN_PROGRESS", + "synchronizationHealthDescription": "HEALTHY", + "connectedStateDescription": "CONNECTED", + "lastConnectErrorDescription": "", + "lastConnectErrorTimestamp": "2022-05-05T16:26:33.883Z" + } + } + ] + }, + "databases": { + "value": [ + { + "databaseName": "db1", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + }, + { + "databaseName": "db2", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + } + ] + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + } + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateActiveDirectoryConnector.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateActiveDirectoryConnector.json new file mode 100644 index 000000000000..b14fcf3fda0e --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateActiveDirectoryConnector.json @@ -0,0 +1,134 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController", + "activeDirectoryConnectorName": "testADConnector", + "api-version": "2024-05-01-preview", + "activeDirectoryConnectorResource": { + "properties": { + "spec": { + "activeDirectory": { + "realm": "CONTOSO.LOCAL", + "serviceAccountProvisioning": "manual", + "domainControllers": { + "primaryDomainController": { + "hostname": "dc1.contoso.local" + }, + "secondaryDomainControllers": [ + { + "hostname": "dc2.contoso.local" + }, + { + "hostname": "dc3.contoso.local" + } + ] + } + }, + "dns": { + "nameserverIPAddresses": [ + "11.11.111.111", + "22.22.222.222" + ], + "replicas": 1, + "preferK8sDnsForPtrLookups": false + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "spec": { + "activeDirectory": { + "realm": "CONTOSO.LOCAL", + "serviceAccountProvisioning": "manual", + "domainControllers": { + "primaryDomainController": { + "hostname": "dc1.contoso.local" + }, + "secondaryDomainControllers": [ + { + "hostname": "dc2.contoso.local" + }, + { + "hostname": "dc3.contoso.local" + } + ] + }, + "netbiosDomainName": "CONTOSO" + }, + "dns": { + "nameserverIPAddresses": [ + "11.11.111.111", + "22.22.222.222" + ], + "replicas": 1, + "preferK8sDnsForPtrLookups": false, + "domainName": "contoso.local" + } + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController/activeDirectoryConnectors/testADConnector", + "name": "testADConnector", + "type": "Microsoft.AzureArcData/dataControllers/activeDirectoryConnectors" + } + }, + "201": { + "body": { + "properties": { + "spec": { + "activeDirectory": { + "realm": "CONTOSO.LOCAL", + "serviceAccountProvisioning": "manual", + "domainControllers": { + "primaryDomainController": { + "hostname": "dc1.contoso.local" + }, + "secondaryDomainControllers": [ + { + "hostname": "dc2.contoso.local" + }, + { + "hostname": "dc3.contoso.local" + } + ] + }, + "netbiosDomainName": "CONTOSO" + }, + "dns": { + "nameserverIPAddresses": [ + "11.11.111.111", + "22.22.222.222" + ], + "replicas": 1, + "preferK8sDnsForPtrLookups": false, + "domainName": "contoso.local" + } + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController/activeDirectoryConnectors/testADConnector", + "name": "testADConnector", + "type": "Microsoft.AzureArcData/dataControllers/activeDirectoryConnectors" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateArcSqlServerAvailabilityGroup.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateArcSqlServerAvailabilityGroup.json new file mode 100644 index 000000000000..5a7af1d03c87 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateArcSqlServerAvailabilityGroup.json @@ -0,0 +1,223 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testSqlServer_INST1", + "availabilityGroupName": "testAG", + "api-version": "2024-05-01-preview", + "sqlServerAvailabilityGroupResource": { + "location": "southeastasia", + "tags": { + "mytag": "myval" + }, + "properties": { + "info": { + "failureConditionLevel": 3, + "healthCheckTimeout": 30000, + "basicFeatures": false, + "dtcSupport": false, + "dbFailover": true, + "isDistributed": false, + "requiredSynchronizedSecondariesToCommit": 0, + "isContained": false, + "secondaryRecoveryHealthDescription": null, + "replicationPartnerType": null + }, + "replicas": { + "value": [ + { + "replicaName": "testSqlServer\\INST1", + "configure": { + "endpointUrl": "TCP://mytest60-0.mytest60-svc:5022", + "sessionTimeout": 10, + "replicaCreateDate": null, + "replicaModifyDate": null, + "backupPriority": 50, + "readOnlyRoutingUrl": null, + "readWriteRoutingUrl": null + } + } + ] + }, + "databases": { + "value": [ + { + "databaseName": "db1" + }, + { + "databaseName": "db2" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST1/availabilityGroups/testAG", + "name": "testAG", + "type": "Microsoft.AzureArcData/sqlServerInstances/availabilityGroups", + "properties": { + "availabilityGroupId": "00000000-1111-2222-3333-444444444444", + "serverName": "testSqlServer", + "instanceName": "INST1", + "replicas": { + "value": [ + { + "replicaId": "00000000-1111-2222-3333-444444444444", + "replicaName": "testSqlServerInstance", + "configure": { + "endpointName": "inst1DBMEndpoint", + "endpointUrl": "TCP://mytest60-0.mytest60-svc:5022", + "endpointConnectLogin": "NT Server\\MSSSQLSERVER", + "availabilityModeDescription": "SYNCHRONOUS_COMMIT", + "failoverModeDescription": "EXTERNAL", + "sessionTimeout": 10, + "primaryRoleAllowConnectionsDescription": "ALL", + "secondaryRoleAllowConnectionsDescription": "ALL", + "replicaCreateDate": null, + "replicaModifyDate": null, + "backupPriority": 50, + "readOnlyRoutingUrl": null, + "readWriteRoutingUrl": null, + "seedingModeDescription": "AUTOMATIC" + }, + "state": { + "availabilityGroupReplicaRole": "SECONDARY", + "operationalStateDescription": "ONLINE", + "recoveryHealthDescription": "ONLINE_IN_PROGRESS", + "synchronizationHealthDescription": "HEALTHY", + "connectedStateDescription": "CONNECTED", + "lastConnectErrorDescription": "", + "lastConnectErrorTimestamp": "2022-05-05T16:26:33.883Z" + } + } + ] + }, + "databases": { + "value": [ + { + "databaseName": "db1", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + }, + { + "databaseName": "db2", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + } + ] + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + } + } + }, + "201": { + "body": { + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST1/availabilityGroups/testAG", + "name": "testAG", + "type": "Microsoft.AzureArcData/sqlServerInstances/availabilityGroups", + "properties": { + "availabilityGroupId": "00000000-1111-2222-3333-444444444444", + "serverName": "testSqlServer", + "instanceName": "INST1", + "replicas": { + "value": [ + { + "replicaId": "00000000-1111-2222-3333-444444444444", + "replicaName": "testSqlServerInstance", + "configure": { + "endpointName": "inst1DBMEndpoint", + "endpointUrl": "TCP://mytest60-0.mytest60-svc:5022", + "endpointConnectLogin": "NT Server\\MSSSQLSERVER", + "availabilityModeDescription": "SYNCHRONOUS_COMMIT", + "failoverModeDescription": "EXTERNAL", + "sessionTimeout": 10, + "primaryRoleAllowConnectionsDescription": "ALL", + "secondaryRoleAllowConnectionsDescription": "ALL", + "replicaCreateDate": null, + "replicaModifyDate": null, + "backupPriority": 50, + "readOnlyRoutingUrl": null, + "readWriteRoutingUrl": null, + "seedingModeDescription": "AUTOMATIC" + }, + "state": { + "availabilityGroupReplicaRole": "SECONDARY", + "operationalStateDescription": "ONLINE", + "recoveryHealthDescription": "ONLINE_IN_PROGRESS", + "synchronizationHealthDescription": "HEALTHY", + "connectedStateDescription": "CONNECTED", + "lastConnectErrorDescription": "", + "lastConnectErrorTimestamp": "2022-05-05T16:26:33.883Z" + } + } + ] + }, + "databases": { + "value": [ + { + "databaseName": "db1", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + }, + { + "databaseName": "db2", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + } + ] + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + } + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateArcSqlServerDatabase.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateArcSqlServerDatabase.json new file mode 100644 index 000000000000..2fc04715ef44 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateArcSqlServerDatabase.json @@ -0,0 +1,156 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testSqlServerInstance", + "databaseName": "testdb", + "api-version": "2024-05-01-preview", + "sqlServerDatabaseResource": { + "location": "southeastasia", + "tags": { + "mytag": "myval" + }, + "properties": { + "collationName": "SQL_Latin1_General_CP1_CI_AS", + "databaseCreationDate": "2022-04-05T16:26:33.883Z", + "compatibilityLevel": 150, + "state": "Online", + "isReadOnly": true, + "recoveryMode": "Full", + "sizeMB": 150.0, + "spaceAvailableMB": 100.0, + "databaseOptions": { + "isAutoCloseOn": true, + "isAutoShrinkOn": true, + "isAutoCreateStatsOn": true, + "isAutoUpdateStatsOn": true, + "isMemoryOptimizationEnabled": true, + "isRemoteDataArchiveEnabled": true, + "isEncrypted": true, + "isTrustworthyOn": true + }, + "backupInformation": { + "lastFullBackup": "2022-05-05T16:26:33.883Z", + "lastLogBackup": "2022-05-10T16:26:33.883Z" + }, + "backupPolicy": { + "retentionPeriodDays": 1, + "fullBackupDays": 1, + "differentialBackupHours": 12, + "transactionLogBackupMinutes": 30 + }, + "createMode": "PointInTimeRestore", + "sourceDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/testSqlServerInstance/testsqlManagedInstance/databases/MyDatabase", + "restorePointInTime": "2022-05-05T16:26:33.883Z" + } + } + }, + "responses": { + "200": { + "body": { + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/testSqlServerInstance/testsqlManagedInstance/databases/testdb", + "name": "testdb", + "type": "Microsoft.AzureArcData/sqlServerInstances/databases", + "properties": { + "collationName": "SQL_Latin1_General_CP1_CI_AS", + "databaseCreationDate": "2022-04-05T16:26:33.883Z", + "compatibilityLevel": 150, + "state": "Online", + "isReadOnly": true, + "recoveryMode": "Full", + "sizeMB": 150.0, + "spaceAvailableMB": 100.0, + "databaseOptions": { + "isAutoCloseOn": true, + "isAutoShrinkOn": true, + "isAutoCreateStatsOn": true, + "isAutoUpdateStatsOn": true, + "isMemoryOptimizationEnabled": true, + "isRemoteDataArchiveEnabled": true, + "isEncrypted": true, + "isTrustworthyOn": true + }, + "backupInformation": { + "lastFullBackup": "2022-05-05T16:26:33.883Z", + "lastLogBackup": "2022-05-10T16:26:33.883Z" + }, + "backupPolicy": { + "retentionPeriodDays": 1, + "fullBackupDays": 1, + "differentialBackupHours": 12, + "transactionLogBackupMinutes": 30 + }, + "earliestRestoreDate": "2022-05-10T16:26:33.883Z", + "createMode": "PointInTimeRestore", + "sourceDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/testSqlServerInstance/testsqlManagedInstance/databases/MyDatabase", + "restorePointInTime": "2022-05-05T16:26:33.883Z" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + } + } + }, + "201": { + "body": { + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/testSqlServerInstance/testsqlManagedInstance/databases/testdb", + "name": "testdb", + "type": "Microsoft.AzureArcData/sqlServerInstances/databases", + "properties": { + "collationName": "SQL_Latin1_General_CP1_CI_AS", + "databaseCreationDate": "2022-04-05T16:26:33.883Z", + "compatibilityLevel": 150, + "state": "Online", + "isReadOnly": true, + "recoveryMode": "Full", + "sizeMB": 150.0, + "spaceAvailableMB": 100.0, + "databaseOptions": { + "isAutoCloseOn": true, + "isAutoShrinkOn": true, + "isAutoCreateStatsOn": true, + "isAutoUpdateStatsOn": true, + "isMemoryOptimizationEnabled": true, + "isRemoteDataArchiveEnabled": true, + "isEncrypted": true, + "isTrustworthyOn": true + }, + "backupInformation": { + "lastFullBackup": "2022-05-05T16:26:33.883Z", + "lastLogBackup": "2022-05-10T16:26:33.883Z" + }, + "backupPolicy": { + "retentionPeriodDays": 1, + "fullBackupDays": 1, + "differentialBackupHours": 12, + "transactionLogBackupMinutes": 30 + }, + "earliestRestoreDate": "2022-05-10T16:26:33.883Z", + "createMode": "PointInTimeRestore", + "sourceDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/testSqlServerInstance/testsqlManagedInstance/databases/MyDatabase", + "restorePointInTime": "2022-05-05T16:26:33.883Z" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + } + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateDataController.json new file mode 100644 index 000000000000..0073fe4ff49d --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateDataController.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController", + "api-version": "2024-05-01-preview", + "dataControllerResource": { + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey" + }, + "basicLoginInformation": { + "username": "username", + "password": "********" + }, + "metricsDashboardCredential": { + "username": "username", + "password": "********" + }, + "logsDashboardCredential": { + "username": "username", + "password": "********" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444", + "primaryKey": "********" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/", + "clientSecret": "********" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate being uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "metricsDashboardCredential": { + "username": "username" + }, + "logsDashboardCredential": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController", + "name": "testdataController", + "type": "Microsoft.AzureArcData/dataControllers" + } + }, + "201": { + "body": { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate being uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "metricsDashboardCredential": { + "username": "username" + }, + "logsDashboardCredential": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController", + "name": "testdataController", + "type": "Microsoft.AzureArcData/dataControllers" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateFailoverGroup.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateFailoverGroup.json new file mode 100644 index 000000000000..068b2580a5ff --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateFailoverGroup.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlManagedInstanceName": "testSqlManagedInstance", + "failoverGroupName": "testFailoverGroupName", + "api-version": "2024-05-01-preview", + "failoverGroupResource": { + "properties": { + "partnerManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/partnerMI", + "spec": { + "partnerSyncMode": "async", + "role": "primary" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "partnerManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/partnerMI", + "spec": { + "sharedName": "testSharedName", + "sourceMI": "sourceSQLMI", + "partnerMI": "partnerMI", + "partnerMirroringURL": "11.11.111.111:1111", + "partnerMirroringCert": "testCert", + "partnerSyncMode": "async", + "role": "primary" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testSqlManagedInstance/failoverGroups/testFailoverGroupName", + "name": "testFailoverGroupName", + "type": "Microsoft.AzureArcData/sqlManagedInstances/failoverGroups" + } + }, + "201": { + "body": { + "properties": { + "partnerManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/partnerMI", + "spec": { + "sharedName": "testSharedName", + "sourceMI": "sourceSQLMI", + "partnerMI": "partnerMI", + "partnerMirroringURL": "11.11.111.111:1111", + "partnerMirroringCert": "testCert", + "partnerSyncMode": "async", + "role": "primary" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testSqlManagedInstance/failoverGroups/testFailoverGroupName", + "name": "testFailoverGroupName", + "type": "Microsoft.AzureArcData/sqlManagedInstances/failoverGroups" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdatePostgresInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdatePostgresInstance.json new file mode 100644 index 000000000000..e6a865dc7e08 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdatePostgresInstance.json @@ -0,0 +1,172 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "postgresInstanceName": "testpostgresInstance", + "api-version": "2024-05-01-preview", + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "resource": { + "location": "eastus", + "properties": { + "dataControllerId": "dataControllerId", + "admin": "admin", + "basicLoginInformation": { + "username": "username", + "password": "********" + }, + "k8sRaw": { + "apiVersion": "apiVersion", + "kind": "postgresql-12", + "metadata": { + "creationTimestamp": "2020-08-25T14:55:10Z", + "generation": 1, + "name": "pg1", + "namespace": "test", + "resourceVersion": "527780", + "selfLink": "/apis/arcdata.microsoft.com/v1alpha1/namespaces/test/postgresql-12s/pg1", + "uid": "1111aaaa-ffff-ffff-ffff-99999aaaaaaa" + }, + "spec": { + "backups": { + "deltaMinutes": 3, + "fullMinutes": 10, + "tiers": [ + { + "retention": { + "maximums": [ + "6", + "512MB" + ], + "minimums": [ + "3" + ] + }, + "storage": { + "volumeSize": "1Gi" + } + } + ] + }, + "engine": { + "extensions": [ + { + "name": "citus" + } + ] + }, + "scale": { + "shards": 3 + }, + "scheduling": { + "default": { + "resources": { + "requests": { + "memory": "256Mi" + } + } + } + }, + "service": { + "type": "NodePort" + }, + "storage": { + "data": { + "className": "local-storage", + "size": "5Gi" + }, + "logs": { + "className": "local-storage", + "size": "5Gi" + } + } + }, + "status": { + "externalEndpoint": null, + "readyPods": "4/4", + "state": "Ready" + } + } + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "sku": { + "name": "default", + "tier": "Hyperscale", + "dev": true + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "basicLoginInformation": { + "username": "username" + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "default", + "tier": "Hyperscale", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstance/testpostgresInstance", + "name": "testpostgresInstance", + "type": "Microsoft.AzureArcData/PostgresInstance" + } + }, + "201": { + "body": { + "properties": { + "basicLoginInformation": { + "username": "username" + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "default", + "tier": "Hyperscale", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstance/testpostgresInstance", + "name": "testsqlregistration", + "type": "Microsoft.AzureArcData/PostgresInstance" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateSqlManagedInstance.json new file mode 100644 index 000000000000..3d0384a2843c --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateSqlManagedInstance.json @@ -0,0 +1,267 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlManagedInstanceName": "testsqlManagedInstance", + "api-version": "2024-05-01-preview", + "sqlManagedInstance": { + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username", + "password": "********" + }, + "activeDirectoryInformation": { + "keytabInformation": { + "keytab": "********" + } + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + }, + "security": { + "adminLoginSecret": "test-sql-login-secret", + "serviceCertificateSecret": "Service Certificate Secret", + "activeDirectory": { + "connector": { + "name": "Name of connector", + "namespace": "Namespace of connector" + }, + "accountName": "Account name", + "keytabSecret": "Key tab secret of account", + "encryptionTypes": [ + "Encryption type item1, Encryption type item2,..." + ] + }, + "transparentDataEncryption": { + "mode": "SystemManaged" + } + }, + "settings": { + "network": { + "forceencryption": 0, + "tlsciphers": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384", + "tlsprotocols": "1.2" + } + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "activeDirectoryInformation": { + "keytabInformation": {} + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + }, + "security": { + "adminLoginSecret": "test-sql-login-secret", + "serviceCertificateSecret": "Service Certificate Secret", + "activeDirectory": { + "connector": { + "name": "Name of connector", + "namespace": "Namespace of connector" + }, + "accountName": "Account name", + "keytabSecret": "Key tab secret of account", + "encryptionTypes": [ + "Encryption type item1, Encryption type item2,..." + ] + }, + "transparentDataEncryption": { + "mode": "SystemManaged" + } + }, + "settings": { + "network": { + "forceencryption": 0, + "tlsciphers": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384", + "tlsprotocols": "1.2" + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance", + "name": "testsqlManagedInstance", + "type": "Microsoft.AzureArcData/sqlManagedInstances" + } + }, + "201": { + "body": { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "activeDirectoryInformation": { + "keytabInformation": {} + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + }, + "security": { + "adminLoginSecret": "test-sql-login-secret", + "serviceCertificateSecret": "Service Certificate Secret", + "activeDirectory": { + "connector": { + "name": "Name of connector", + "namespace": "Namespace of connector" + }, + "accountName": "Account name", + "keytabSecret": "Key tab secret of account", + "encryptionTypes": [ + "Encryption type item1, Encryption type item2,..." + ] + }, + "transparentDataEncryption": { + "mode": "SystemManaged" + } + }, + "settings": { + "network": { + "forceencryption": 0, + "tlsciphers": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384", + "tlsprotocols": "1.2" + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance", + "name": "testsqlManagedInstance", + "type": "Microsoft.AzureArcData/sqlManagedInstances" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateSqlServerEsuLicense.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateSqlServerEsuLicense.json new file mode 100644 index 000000000000..5c06a00b721d --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateSqlServerEsuLicense.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerEsuLicenseName": "testsqlServerEsuLicense", + "api-version": "2024-05-01-preview", + "sqlServerEsuLicense": { + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "properties": { + "billingPlan": "PAYG", + "version": "SQL Server 2012", + "physicalCores": 24, + "activationState": "Inactive", + "scopeType": "Subscription" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "billingPlan": "PAYG", + "version": "SQL Server 2012", + "uniqueId": "00000000-1111-2222-3333-444444444444", + "physicalCores": 24, + "activationState": "Inactive", + "scopeType": "Subscription", + "activatedAt": "2020-01-01T17:18:19.1234567Z", + "terminatedAt": "2020-01-01T17:18:19.1234567Z", + "tenantId": "89fdfcc3-4c62-41c3-93c4-16bae3bcf5ea" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerEsuLicenses/sqlServerEsuLicense", + "name": "sqlServerEsuLicense", + "type": "Microsoft.AzureArcData/sqlServerEsuLicenses" + } + }, + "201": { + "body": { + "properties": { + "billingPlan": "PAYG", + "version": "SQL Server 2012", + "uniqueId": "00000000-1111-2222-3333-444444444444", + "physicalCores": 24, + "activationState": "Inactive", + "scopeType": "Subscription", + "activatedAt": "2020-01-01T17:18:19.1234567Z", + "terminatedAt": "2020-01-01T17:18:19.1234567Z", + "tenantId": "89fdfcc3-4c62-41c3-93c4-16bae3bcf5ea" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerEsuLicenses/sqlServerEsuLicense", + "name": "sqlServerEsuLicense", + "type": "Microsoft.AzureArcData/sqlServerEsuLicenses" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateSqlServerInstance.json new file mode 100644 index 000000000000..4e7749baa078 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateSqlServerInstance.json @@ -0,0 +1,179 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlServerInstance", + "api-version": "2024-05-01-preview", + "sqlServerInstance": { + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "properties": { + "version": "SQL Server 2012", + "edition": "Developer", + "cores": "4", + "instanceName": "name of instance", + "hostType": "Physical Server", + "backupPolicy": { + "retentionPeriodDays": 1, + "fullBackupDays": 1, + "differentialBackupHours": 12, + "transactionLogBackupMinutes": 30 + }, + "monitoring": { + "enabled": false + }, + "migration": { + "assessment": { + "enabled": false + } + }, + "clientConnection": { + "enabled": false + }, + "serviceType": "Engine" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "version": "SQL Server 2012", + "edition": "Developer", + "containerResourceId": "Resource id of hosting Arc Machine", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "dbMasterKeyExists": true, + "isHadrEnabled": true, + "traceFlags": [ + 1800, + 9567 + ], + "currentVersion": "2012", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "cores": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "status": "Registered", + "azureDefenderStatus": "Protected", + "hostType": "Physical Server", + "lastInventoryUploadTime": "2023-03-29T14:13:12Z", + "lastUsageUploadTime": "2023-03-29T14:13:12Z", + "alwaysOnRole": "FailoverClusterInstance", + "failoverCluster": { + "id": "f836af7e-85ed-4ea4-91fb-67709b34e323", + "networkName": "networkNameOfSQLFCI", + "sqlInstanceIds": [ + "/subscriptions/dummySub/resourceGroups/dummyRG/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServer1", + "/subscriptions/dummySub/resourceGroups/dummyRG/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServer2" + ], + "hostNames": [ + "DEV-HOSTNAME1", + "DEV-HOSTNAME2" + ] + }, + "databaseMirroringEndpoint": { + "endpointName": "testMirroringEndpoint", + "role": "PARTNER", + "isEncryptionEnabled": true, + "encryptionAlgorithm": "AES", + "connectionAuth": "Certificate", + "port": 12345, + "isDynamicPort": false, + "ipAddress": "123.124.125.126", + "certificateName": "testCertificateName" + }, + "backupPolicy": { + "retentionPeriodDays": 1, + "fullBackupDays": 1, + "differentialBackupHours": 12, + "transactionLogBackupMinutes": 30 + }, + "upgradeLockedUntil": "2022-05-05T16:26:33.883Z", + "monitoring": { + "enabled": false + }, + "serviceType": "Engine" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance", + "name": "testsqlServerInstance", + "type": "Microsoft.AzureArcData/SqlServerInstances" + } + }, + "201": { + "body": { + "properties": { + "version": "SQL Server 2017", + "edition": "Developer", + "containerResourceId": "Arc Machine Name", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "dbMasterKeyExists": true, + "isHadrEnabled": true, + "traceFlags": [ + 1800, + 9567 + ], + "currentVersion": "2008 R2", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "cores": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "status": "Connected", + "azureDefenderStatus": "Protected", + "monitoring": { + "enabled": false + }, + "migration": { + "assessment": { + "enabled": false + } + }, + "clientConnection": { + "enabled": false + }, + "serviceType": "SSRS" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance", + "name": "testsqlServerInstance", + "type": "Microsoft.AzureArcData/SqlServerInstances" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateSqlServerLicense.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateSqlServerLicense.json new file mode 100644 index 000000000000..df774923e646 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateOrUpdateSqlServerLicense.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerLicenseName": "testsqlServerLicense", + "api-version": "2024-05-01-preview", + "sqlServerLicense": { + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "properties": { + "billingPlan": "PAYG", + "licenseCategory": "Core", + "physicalCores": 24, + "activationState": "Deactivated", + "scopeType": "Subscription" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "billingPlan": "PAYG", + "licenseCategory": "Core", + "physicalCores": 24, + "activationState": "Deactivated", + "scopeType": "Subscription", + "lastActivatedAt": "2020-01-01T17:18:19.1234567Z", + "lastDeactivatedAt": "2020-01-01T17:18:19.1234567Z", + "tenantId": "89fdfcc3-4c62-41c3-93c4-16bae3bcf5ea" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerLicenses/sqlServerLicense", + "name": "sqlServerLicense", + "type": "Microsoft.AzureArcData/SqlServerLicenses" + } + }, + "201": { + "body": { + "properties": { + "billingPlan": "PAYG", + "licenseCategory": "Core", + "physicalCores": 24, + "activationState": "Deactivated", + "scopeType": "Subscription", + "lastActivatedAt": "2020-01-01T17:18:19.1234567Z", + "lastDeactivatedAt": "2020-01-01T17:18:19.1234567Z", + "tenantId": "89fdfcc3-4c62-41c3-93c4-16bae3bcf5ea" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerLicenses/sqlServerLicense", + "name": "sqlServerLicense", + "type": "Microsoft.AzureArcData/SqlServerLicenses" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateSqlServerAvailabilityGroup.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateSqlServerAvailabilityGroup.json new file mode 100644 index 000000000000..6387ac3dea93 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateSqlServerAvailabilityGroup.json @@ -0,0 +1,187 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testSqlServer_INST1", + "api-version": "2024-05-01-preview", + "createAgConfiguration": { + "availabilityGroupName": "myNewAg", + "replicas": [ + { + "serverInstance": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST1/", + "endpointName": "inst1DBMEndpoint", + "endpointUrl": "TCP://testSqlServer_INST1.testSqlserverDomain:5022", + "endpointConnectLogin": "NT Server\\MSSSQLSERVER", + "availabilityMode": "SYNCHRONOUS_COMMIT", + "failoverMode": "AUTOMATIC", + "seedingMode": "AUTOMATIC", + "backupPriority": 50, + "secondaryRoleAllowConnections": "ALL", + "secondaryRoleReadOnlyRoutingUrl": null, + "primaryRoleAllowConnections": "ALL", + "primaryRoleReadOnlyRoutingList": null, + "sessionTimeout": 10 + }, + { + "serverInstance": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST2/", + "endpointName": "inst2DBMEndpoint", + "endpointUrl": "TCP://testSqlServer_INST2.testSqlserverDomain:5022", + "endpointConnectLogin": "NT Server\\MSSSQLSERVER", + "availabilityMode": "SYNCHRONOUS_COMMIT", + "failoverMode": "AUTOMATIC", + "seedingMode": "AUTOMATIC", + "backupPriority": 50, + "secondaryRoleAllowConnections": "ALL", + "secondaryRoleReadOnlyRoutingUrl": null, + "primaryRoleAllowConnections": "ALL", + "primaryRoleReadOnlyRoutingList": null, + "sessionTimeout": 10 + } + ], + "databases": [ + "database1", + "database2" + ], + "automatedBackupPreference": "SECONDARY", + "failureConditionLevel": 3, + "healthCheckTimeout": 30000, + "dbFailover": "ON", + "dtcSupport": "NONE", + "requiredSynchronizedSecondariesToCommit": 0, + "clusterType": "WSFC", + "listener": { + "dnsName": "myNewAgListener", + "ipV4AddressesAndMasks": [ + { + "ipAddress": "192.1.168.5", + "mask": "255.255.255.0" + }, + { + "ipAddress": "10.1.168.5", + "mask": "255.255.255.0" + } + ], + "port": 1433 + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.AzureArcData/operationResults/id1" + } + }, + "200": { + "body": { + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST1/availabilityGroups/myNewAg", + "name": "myNewag", + "type": "Microsoft.AzureArcData/sqlServerInstances/availabilityGroups", + "properties": { + "availabilityGroupId": "00000000-1111-2222-3333-444444444444", + "serverName": "testSqlServer", + "instanceName": "INST1", + "replicas": { + "value": [ + { + "replicaId": "00000000-1111-2222-3333-444444444444", + "replicaName": "testSqlServer\\Inst1", + "configure": { + "endpointName": "inst1DBMEndpoint", + "endpointUrl": "TCP://testSqlServer_INST1.testSqlserverDomain:5022", + "endpointConnectLogin": "NT Server\\MSSSQLSERVER", + "availabilityModeDescription": "SYNCHRONOUS_COMMIT", + "failoverModeDescription": "AUTOMATIC", + "sessionTimeout": 10, + "primaryRoleAllowConnectionsDescription": "ALL", + "secondaryRoleAllowConnectionsDescription": "ALL", + "replicaCreateDate": null, + "replicaModifyDate": null, + "backupPriority": 50, + "readOnlyRoutingUrl": null, + "readWriteRoutingUrl": null, + "seedingModeDescription": "AUTOMATIC" + }, + "state": { + "availabilityGroupReplicaRole": "PRIMARY", + "operationalStateDescription": "ONLINE", + "recoveryHealthDescription": "ONLINE_IN_PROGRESS", + "synchronizationHealthDescription": "HEALTHY", + "connectedStateDescription": "CONNECTED", + "lastConnectErrorDescription": "", + "lastConnectErrorTimestamp": "2022-05-05T16:26:33.883Z" + } + }, + { + "replicaId": "00000000-1111-2222-3333-444444444444", + "replicaName": "testSqlServer\\Inst2", + "configure": { + "endpointName": "ins21DBMEndpoint", + "endpointUrl": "TCP://testSqlServer_INST2.testSqlserverDomain:5022", + "endpointConnectLogin": "NT Server\\MSSSQLSERVER", + "availabilityModeDescription": "SYNCHRONOUS_COMMIT", + "failoverModeDescription": "AUTOMATIC", + "sessionTimeout": 10, + "primaryRoleAllowConnectionsDescription": "ALL", + "secondaryRoleAllowConnectionsDescription": "ALL", + "replicaCreateDate": null, + "replicaModifyDate": null, + "backupPriority": 50, + "readOnlyRoutingUrl": null, + "readWriteRoutingUrl": null, + "seedingModeDescription": "AUTOMATIC" + }, + "state": { + "availabilityGroupReplicaRole": "SECONDARY", + "operationalStateDescription": "ONLINE", + "recoveryHealthDescription": "ONLINE_IN_PROGRESS", + "synchronizationHealthDescription": "HEALTHY", + "connectedStateDescription": "CONNECTED", + "lastConnectErrorDescription": "", + "lastConnectErrorTimestamp": "2022-05-05T16:26:33.883Z" + } + } + ] + }, + "databases": { + "value": [ + { + "databaseName": "database1", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + }, + { + "databaseName": "database2", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + } + ] + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + } + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateSqlServerDistributedAvailabilityGroup.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateSqlServerDistributedAvailabilityGroup.json new file mode 100644 index 000000000000..bd9f3fd062c7 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/CreateSqlServerDistributedAvailabilityGroup.json @@ -0,0 +1,155 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testSqlServer_INST1", + "api-version": "2024-05-01-preview", + "createDagConfiguration": { + "availabilityGroupName": "myNewDag", + "primaryAvailabilityGroup": { + "availabilityGroup": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST1/availabilityGroups/testAG1", + "listenerUrl": "TCP://testAG1.contoso.com:5022", + "availabilityMode": "ASYNCHRONOUS_COMMIT", + "failoverMode": "MANUAL", + "seedingMode": "AUTOMATIC", + "certificateConfiguration": { + "certificateName": "myCert" + } + }, + "secondaryAvailabilityGroup": { + "availabilityGroup": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST2/availabilityGroups/testAG2", + "listenerUrl": "TCP://testAG2.contoso.com:5022", + "availabilityMode": "ASYNCHRONOUS_COMMIT", + "failoverMode": "MANUAL", + "seedingMode": "AUTOMATIC", + "certificateConfiguration": { + "certificateName": "myCert" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.AzureArcData/operationResults/id1" + } + }, + "200": { + "body": { + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST1/availabilityGroups/myNewDag", + "name": "myNewDag", + "type": "Microsoft.AzureArcData/sqlServerInstances/availabilityGroups", + "properties": { + "availabilityGroupId": "00000000-1111-2222-3333-444444444444", + "serverName": "testSqlServer", + "instanceName": "INST1", + "info": { + "failureConditionLevel": 3, + "healthCheckTimeout": 30000, + "isDistributed": true + }, + "replicas": { + "value": [ + { + "replicaId": "00000000-1111-2222-3333-444444444444", + "replicaName": "testSqlServer\\Inst1", + "configure": { + "endpointName": "inst1DBMEndpoint", + "endpointUrl": "TCP://testSqlServer_INST1.testSqlserverDomain:5022", + "endpointConnectLogin": "NT Server\\MSSSQLSERVER", + "availabilityModeDescription": "SYNCHRONOUS_COMMIT", + "failoverModeDescription": "AUTOMATIC", + "sessionTimeout": 10, + "primaryRoleAllowConnectionsDescription": "ALL", + "secondaryRoleAllowConnectionsDescription": "ALL", + "replicaCreateDate": null, + "replicaModifyDate": null, + "backupPriority": 50, + "readOnlyRoutingUrl": null, + "readWriteRoutingUrl": null, + "seedingModeDescription": "AUTOMATIC" + }, + "state": { + "availabilityGroupReplicaRole": "PRIMARY", + "operationalStateDescription": "ONLINE", + "recoveryHealthDescription": "ONLINE_IN_PROGRESS", + "synchronizationHealthDescription": "HEALTHY", + "connectedStateDescription": "CONNECTED", + "lastConnectErrorDescription": "", + "lastConnectErrorTimestamp": "2022-05-05T16:26:33.883Z" + } + }, + { + "replicaId": "00000000-1111-2222-3333-444444444444", + "replicaName": "testSqlServer\\Inst2", + "configure": { + "endpointName": "ins21DBMEndpoint", + "endpointUrl": "TCP://testSqlServer_INST2.testSqlserverDomain:5022", + "endpointConnectLogin": "NT Server\\MSSSQLSERVER", + "availabilityModeDescription": "SYNCHRONOUS_COMMIT", + "failoverModeDescription": "AUTOMATIC", + "sessionTimeout": 10, + "primaryRoleAllowConnectionsDescription": "ALL", + "secondaryRoleAllowConnectionsDescription": "ALL", + "replicaCreateDate": null, + "replicaModifyDate": null, + "backupPriority": 50, + "readOnlyRoutingUrl": null, + "readWriteRoutingUrl": null, + "seedingModeDescription": "AUTOMATIC" + }, + "state": { + "availabilityGroupReplicaRole": "SECONDARY", + "operationalStateDescription": "ONLINE", + "recoveryHealthDescription": "ONLINE_IN_PROGRESS", + "synchronizationHealthDescription": "HEALTHY", + "connectedStateDescription": "CONNECTED", + "lastConnectErrorDescription": "", + "lastConnectErrorTimestamp": "2022-05-05T16:26:33.883Z" + } + } + ] + }, + "databases": { + "value": [ + { + "databaseName": "database1", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + }, + { + "databaseName": "database2", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + } + ] + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + } + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteActiveDirectoryConnector.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteActiveDirectoryConnector.json new file mode 100644 index 000000000000..3edead6e00e2 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteActiveDirectoryConnector.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController", + "activeDirectoryConnectorName": "testADConnector", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + }, + "204": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteArcSqlServerAvailabilityGroup.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteArcSqlServerAvailabilityGroup.json new file mode 100644 index 000000000000..666b2db57f72 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteArcSqlServerAvailabilityGroup.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlInstanceAvailabilityGroup", + "availabilityGroupName": "testAG", + "api-version": "2024-05-01-preview" + }, + "responses": { + "202": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + }, + "204": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteArcSqlServerDatabase.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteArcSqlServerDatabase.json new file mode 100644 index 000000000000..8bcd13277d4d --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteArcSqlServerDatabase.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlManagedInstance", + "databaseName": "testdb", + "api-version": "2024-05-01-preview" + }, + "responses": { + "202": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + }, + "204": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteDataController.json new file mode 100644 index 000000000000..73053e5c0e7c --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteDataController.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + }, + "204": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteFailoverGroup.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteFailoverGroup.json new file mode 100644 index 000000000000..acaf1b6effbd --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteFailoverGroup.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlManagedInstanceName": "testSqlManagedInstance", + "failoverGroupName": "testFailoverGroupName", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + }, + "204": {} + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeletePostgresInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeletePostgresInstance.json new file mode 100644 index 000000000000..f99fda21bf30 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeletePostgresInstance.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "postgresInstanceName": "testpostgresInstance", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + }, + "204": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteSqlManagedInstance.json new file mode 100644 index 000000000000..22b0c85fa325 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteSqlManagedInstance.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlManagedInstanceName": "testsqlManagedInstance", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + }, + "204": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteSqlServerEsuLicense.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteSqlServerEsuLicense.json new file mode 100644 index 000000000000..c204c14cfe32 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteSqlServerEsuLicense.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerEsuLicenseName": "testsqlServerEsuLicense", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "204": { + "description": "Resource does not exist." + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteSqlServerInstance.json new file mode 100644 index 000000000000..a60bed533dab --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteSqlServerInstance.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlServerInstance", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + }, + "204": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteSqlServerLicense.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteSqlServerLicense.json new file mode 100644 index 000000000000..f1b375d71a7d --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/DeleteSqlServerLicense.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerLicenseName": "testsqlServerLicense", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "204": { + "description": "Resource does not exist." + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/FailoverArcSqlServerAvailabilityGroup.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/FailoverArcSqlServerAvailabilityGroup.json new file mode 100644 index 000000000000..a329e153da55 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/FailoverArcSqlServerAvailabilityGroup.json @@ -0,0 +1,183 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testSqlServer_INST1", + "availabilityGroupName": "testAG", + "api-version": "2024-05-01-preview", + "sqlServerAvailabilityGroupResource": { + "location": "southeastasia", + "tags": { + "mytag": "myval" + }, + "properties": { + "availabilityGroupId": "00000000-1111-2222-3333-444444444444", + "serverName": "testSqlServer", + "instanceName": "INST1", + "collectionTimestamp": "2022-05-05T16:26:33.883Z", + "info": { + "failureConditionLevel": 3, + "healthCheckTimeout": 30000, + "automatedBackupPreferenceDescription": "SECONDARY", + "version": 0, + "basicFeatures": false, + "dtcSupport": false, + "dbFailover": true, + "isDistributed": false, + "clusterTypeDescription": "WSFC", + "requiredSynchronizedSecondariesToCommit": 0, + "isContained": false, + "primaryReplica": "testSqlServer\\INST1", + "primaryRecoveryHealthDescription": "ONLINE", + "secondaryRecoveryHealthDescription": null, + "synchronizationHealthDescription": "HEALTHY", + "replicationPartnerType": null + }, + "replicas": { + "value": [ + { + "replicaId": "00000000-1111-2222-3333-444444444444", + "replicaName": "testSqlServer\\INST1", + "configure": { + "endpointName": "inst1DBMEndpoint", + "endpointUrl": "TCP://mytest60-0.mytest60-svc:5022", + "endpointConnectLogin": "NT Server\\MSSSQLSERVER", + "availabilityModeDescription": "SYNCHRONOUS_COMMIT", + "failoverModeDescription": "EXTERNAL", + "sessionTimeout": 10, + "primaryRoleAllowConnectionsDescription": "ALL", + "secondaryRoleAllowConnectionsDescription": "ALL", + "replicaCreateDate": null, + "replicaModifyDate": null, + "backupPriority": 50, + "readOnlyRoutingUrl": null, + "readWriteRoutingUrl": null, + "seedingModeDescription": "AUTOMATIC" + }, + "state": { + "availabilityGroupReplicaRole": "SECONDARY", + "operationalStateDescription": "ONLINE", + "recoveryHealthDescription": "ONLINE_IN_PROGRESS", + "synchronizationHealthDescription": "HEALTHY", + "connectedStateDescription": "CONNECTED", + "lastConnectErrorDescription": "", + "lastConnectErrorTimestamp": "2022-05-05T16:26:33.883Z" + } + } + ] + }, + "databases": { + "value": [ + { + "databaseName": "db1", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + }, + { + "databaseName": "db2", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST1/availabilityGroups/testAG", + "name": "testAG", + "type": "Microsoft.AzureArcData/sqlServerInstances/availabilityGroups", + "properties": { + "availabilityGroupId": "00000000-1111-2222-3333-444444444444", + "serverName": "testSqlServer", + "instanceName": "INST1", + "replicas": { + "value": [ + { + "replicaId": "00000000-1111-2222-3333-444444444444", + "replicaName": "testSqlServerInstance", + "configure": { + "endpointName": "inst1DBMEndpoint", + "endpointUrl": "TCP://mytest60-0.mytest60-svc:5022", + "endpointConnectLogin": "NT Server\\MSSSQLSERVER", + "availabilityModeDescription": "SYNCHRONOUS_COMMIT", + "failoverModeDescription": "EXTERNAL", + "sessionTimeout": 10, + "primaryRoleAllowConnectionsDescription": "ALL", + "secondaryRoleAllowConnectionsDescription": "ALL", + "replicaCreateDate": null, + "replicaModifyDate": null, + "backupPriority": 50, + "readOnlyRoutingUrl": null, + "readWriteRoutingUrl": null, + "seedingModeDescription": "AUTOMATIC" + }, + "state": { + "availabilityGroupReplicaRole": "SECONDARY", + "operationalStateDescription": "ONLINE", + "recoveryHealthDescription": "ONLINE_IN_PROGRESS", + "synchronizationHealthDescription": "HEALTHY", + "connectedStateDescription": "CONNECTED", + "lastConnectErrorDescription": "", + "lastConnectErrorTimestamp": "2022-05-05T16:26:33.883Z" + } + } + ] + }, + "databases": { + "value": [ + { + "databaseName": "db1", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + }, + { + "databaseName": "db2", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + } + ] + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + } + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ForceFailoverArcSqlServerAvailabilityGroup.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ForceFailoverArcSqlServerAvailabilityGroup.json new file mode 100644 index 000000000000..a329e153da55 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ForceFailoverArcSqlServerAvailabilityGroup.json @@ -0,0 +1,183 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testSqlServer_INST1", + "availabilityGroupName": "testAG", + "api-version": "2024-05-01-preview", + "sqlServerAvailabilityGroupResource": { + "location": "southeastasia", + "tags": { + "mytag": "myval" + }, + "properties": { + "availabilityGroupId": "00000000-1111-2222-3333-444444444444", + "serverName": "testSqlServer", + "instanceName": "INST1", + "collectionTimestamp": "2022-05-05T16:26:33.883Z", + "info": { + "failureConditionLevel": 3, + "healthCheckTimeout": 30000, + "automatedBackupPreferenceDescription": "SECONDARY", + "version": 0, + "basicFeatures": false, + "dtcSupport": false, + "dbFailover": true, + "isDistributed": false, + "clusterTypeDescription": "WSFC", + "requiredSynchronizedSecondariesToCommit": 0, + "isContained": false, + "primaryReplica": "testSqlServer\\INST1", + "primaryRecoveryHealthDescription": "ONLINE", + "secondaryRecoveryHealthDescription": null, + "synchronizationHealthDescription": "HEALTHY", + "replicationPartnerType": null + }, + "replicas": { + "value": [ + { + "replicaId": "00000000-1111-2222-3333-444444444444", + "replicaName": "testSqlServer\\INST1", + "configure": { + "endpointName": "inst1DBMEndpoint", + "endpointUrl": "TCP://mytest60-0.mytest60-svc:5022", + "endpointConnectLogin": "NT Server\\MSSSQLSERVER", + "availabilityModeDescription": "SYNCHRONOUS_COMMIT", + "failoverModeDescription": "EXTERNAL", + "sessionTimeout": 10, + "primaryRoleAllowConnectionsDescription": "ALL", + "secondaryRoleAllowConnectionsDescription": "ALL", + "replicaCreateDate": null, + "replicaModifyDate": null, + "backupPriority": 50, + "readOnlyRoutingUrl": null, + "readWriteRoutingUrl": null, + "seedingModeDescription": "AUTOMATIC" + }, + "state": { + "availabilityGroupReplicaRole": "SECONDARY", + "operationalStateDescription": "ONLINE", + "recoveryHealthDescription": "ONLINE_IN_PROGRESS", + "synchronizationHealthDescription": "HEALTHY", + "connectedStateDescription": "CONNECTED", + "lastConnectErrorDescription": "", + "lastConnectErrorTimestamp": "2022-05-05T16:26:33.883Z" + } + } + ] + }, + "databases": { + "value": [ + { + "databaseName": "db1", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + }, + { + "databaseName": "db2", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST1/availabilityGroups/testAG", + "name": "testAG", + "type": "Microsoft.AzureArcData/sqlServerInstances/availabilityGroups", + "properties": { + "availabilityGroupId": "00000000-1111-2222-3333-444444444444", + "serverName": "testSqlServer", + "instanceName": "INST1", + "replicas": { + "value": [ + { + "replicaId": "00000000-1111-2222-3333-444444444444", + "replicaName": "testSqlServerInstance", + "configure": { + "endpointName": "inst1DBMEndpoint", + "endpointUrl": "TCP://mytest60-0.mytest60-svc:5022", + "endpointConnectLogin": "NT Server\\MSSSQLSERVER", + "availabilityModeDescription": "SYNCHRONOUS_COMMIT", + "failoverModeDescription": "EXTERNAL", + "sessionTimeout": 10, + "primaryRoleAllowConnectionsDescription": "ALL", + "secondaryRoleAllowConnectionsDescription": "ALL", + "replicaCreateDate": null, + "replicaModifyDate": null, + "backupPriority": 50, + "readOnlyRoutingUrl": null, + "readWriteRoutingUrl": null, + "seedingModeDescription": "AUTOMATIC" + }, + "state": { + "availabilityGroupReplicaRole": "SECONDARY", + "operationalStateDescription": "ONLINE", + "recoveryHealthDescription": "ONLINE_IN_PROGRESS", + "synchronizationHealthDescription": "HEALTHY", + "connectedStateDescription": "CONNECTED", + "lastConnectErrorDescription": "", + "lastConnectErrorTimestamp": "2022-05-05T16:26:33.883Z" + } + } + ] + }, + "databases": { + "value": [ + { + "databaseName": "db1", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + }, + { + "databaseName": "db2", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + } + ] + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + } + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetActiveDirectoryConnector.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetActiveDirectoryConnector.json new file mode 100644 index 000000000000..7a31dcc92155 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetActiveDirectoryConnector.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController", + "activeDirectoryConnectorName": "testADConnector", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "spec": { + "activeDirectory": { + "realm": "CONTOSO.LOCAL", + "serviceAccountProvisioning": "manual", + "domainControllers": { + "primaryDomainController": { + "hostname": "dc1.contoso.local" + }, + "secondaryDomainControllers": [ + { + "hostname": "dc2.contoso.local" + }, + { + "hostname": "dc3.contoso.local" + } + ] + }, + "netbiosDomainName": "CONTOSO" + }, + "dns": { + "nameserverIPAddresses": [ + "11.11.111.111", + "22.22.222.222" + ], + "replicas": 1, + "preferK8sDnsForPtrLookups": false, + "domainName": "contoso.local" + } + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController/activeDirectoryConnectors/testADConnector", + "name": "testADConnector", + "type": "Microsoft.AzureArcData/dataControllers/activeDirectoryConnectors" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetArcSqlServerAvailabilityGroup.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetArcSqlServerAvailabilityGroup.json new file mode 100644 index 000000000000..091e1aef1546 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetArcSqlServerAvailabilityGroup.json @@ -0,0 +1,113 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testSqlServer_INST1", + "availabilityGroupName": "testAG", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST1/availabilityGroups/testAG", + "name": "testAG", + "type": "Microsoft.AzureArcData/sqlServerInstances/availabilityGroups", + "properties": { + "availabilityGroupId": "00000000-1111-2222-3333-444444444444", + "serverName": "testSqlServer", + "instanceName": "INST1", + "collectionTimestamp": "2022-05-05T16:26:33.883Z", + "info": { + "failureConditionLevel": 3, + "healthCheckTimeout": 30000, + "automatedBackupPreferenceDescription": "SECONDARY", + "version": 0, + "basicFeatures": false, + "dtcSupport": false, + "dbFailover": true, + "isDistributed": false, + "clusterTypeDescription": "WSFC", + "requiredSynchronizedSecondariesToCommit": 0, + "isContained": false, + "primaryReplica": "testSqlServer\\INST1", + "primaryRecoveryHealthDescription": "ONLINE", + "secondaryRecoveryHealthDescription": null, + "synchronizationHealthDescription": "HEALTHY", + "replicationPartnerType": null + }, + "replicas": { + "value": [ + { + "replicaId": "00000000-1111-2222-3333-444444444444", + "replicaName": "testSqlServer\\INST1", + "configure": { + "endpointName": "inst1DBMEndpoint", + "endpointUrl": "TCP://mytest60-0.mytest60-svc:5022", + "endpointConnectLogin": "NT Server\\MSSSQLSERVER", + "availabilityModeDescription": "SYNCHRONOUS_COMMIT", + "failoverModeDescription": "EXTERNAL", + "sessionTimeout": 10, + "primaryRoleAllowConnectionsDescription": "ALL", + "secondaryRoleAllowConnectionsDescription": "ALL", + "replicaCreateDate": null, + "replicaModifyDate": null, + "backupPriority": 50, + "readOnlyRoutingUrl": null, + "readWriteRoutingUrl": null, + "seedingModeDescription": "AUTOMATIC" + }, + "state": { + "availabilityGroupReplicaRole": "SECONDARY", + "operationalStateDescription": "ONLINE", + "recoveryHealthDescription": "ONLINE_IN_PROGRESS", + "synchronizationHealthDescription": "HEALTHY", + "connectedStateDescription": "CONNECTED", + "lastConnectErrorDescription": "", + "lastConnectErrorTimestamp": "2022-05-05T16:26:33.883Z" + } + } + ] + }, + "databases": { + "value": [ + { + "databaseName": "db1", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + }, + { + "databaseName": "db2", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + } + ] + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + } + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetArcSqlServerDatabase.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetArcSqlServerDatabase.json new file mode 100644 index 000000000000..e524be7554ed --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetArcSqlServerDatabase.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testSqlServerInstance", + "databaseName": "testdb", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/testSqlServerInstance/testsqlManagedInstance/databases/testdb", + "name": "testdb", + "type": "Microsoft.AzureArcData/sqlServerInstances/databases", + "properties": { + "collationName": "SQL_Latin1_General_CP1_CI_AS", + "databaseCreationDate": "2022-04-05T16:26:33.883Z", + "compatibilityLevel": 150, + "state": "Online", + "isReadOnly": true, + "recoveryMode": "Full", + "sizeMB": 150.00, + "spaceAvailableMB": 100.00, + "databaseOptions": { + "isAutoCloseOn": true, + "isAutoShrinkOn": true, + "isAutoCreateStatsOn": true, + "isAutoUpdateStatsOn": true, + "isMemoryOptimizationEnabled": true, + "isRemoteDataArchiveEnabled": true, + "isEncrypted": true, + "isTrustworthyOn": true + }, + "backupInformation": { + "lastFullBackup": "2022-05-05T16:26:33.883Z", + "lastLogBackup": "2022-05-10T16:26:33.883Z" + }, + "backupPolicy": { + "retentionPeriodDays": 1, + "fullBackupDays": 1, + "differentialBackupHours": 12, + "transactionLogBackupMinutes": 30 + }, + "migration": { + "assessment": { + "assessmentUploadTime": "2024-03-15T00:14:52.0000000Z", + "databaseAssessments": [ + { + "appliesToMigrationTargetPlatform": "AzureSqlDatabase", + "featureId": "ServiceBroker", + "issueCategory": "Issue", + "moreInformation": "" + } + ], + "targetReadiness": { + "azureSqlDatabase": { + "numOfBlockerIssues": 0, + "recommendationStatus": "Ready" + }, + "azureSqlManagedInstance": { + "numOfBlockerIssues": 0, + "recommendationStatus": "Ready" + }, + "azureSqlVirtualMachine": { + "numOfBlockerIssues": 0, + "recommendationStatus": "Ready" + } + } + } + }, + "earliestRestoreDate": "2022-05-10T16:26:33.883Z", + "lastDatabaseUploadTime": "2023-03-29T14:13:12Z", + "createMode": "PointInTimeRestore", + "sourceDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/testSqlServerInstance/testsqlManagedInstance/databases/MyDatabase", + "restorePointInTime": "2022-05-05T16:26:33.883Z" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + } + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetDataController.json new file mode 100644 index 000000000000..047dfe542b35 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetDataController.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "metricsDashboardCredential": { + "username": "username" + }, + "logsDashboardCredential": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController", + "name": "testdataController", + "type": "Microsoft.AzureArcData/dataControllers" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetFailoverGroup.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetFailoverGroup.json new file mode 100644 index 000000000000..c6a830d76e1e --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetFailoverGroup.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlManagedInstanceName": "testSqlManagedInstance", + "failoverGroupName": "testFailoverGroupName", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "partnerManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/partnerMI", + "spec": { + "sharedName": "testSharedName", + "sourceMI": "sourceSQLMI", + "partnerMI": "partnerMI", + "partnerMirroringURL": "11.11.111.111:1111", + "partnerMirroringCert": "testCert", + "partnerSyncMode": "async", + "role": "primary" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testSqlManagedInstance/failoverGroups/testFailoverGroupName", + "name": "testFailoverGroupName", + "type": "Microsoft.AzureArcData/sqlManagedInstances/failoverGroups" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetPostgresInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetPostgresInstance.json new file mode 100644 index 000000000000..35dcf6bd7f6a --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetPostgresInstance.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "postgresInstanceName": "testpostgresInstances", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "basicLoginInformation": { + "username": "username" + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "default", + "tier": "Hyperscale", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstances/testpostgresInstances", + "name": "testpostgresInstances", + "type": "Microsoft.AzureArcData/PostgresInstances" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetSqlManagedInstance.json new file mode 100644 index 000000000000..7014a0289953 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetSqlManagedInstance.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlManagedInstanceName": "testsqlManagedInstance", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "activeDirectoryInformation": { + "keytabInformation": {} + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + }, + "security": { + "adminLoginSecret": "test-sql-login-secret", + "serviceCertificateSecret": "Service Certificate Secret", + "activeDirectory": { + "connector": { + "name": "Name of connector", + "namespace": "Namespace of connector" + }, + "accountName": "Account name", + "keytabSecret": "Key tab secret of account", + "encryptionTypes": [ + "Encryption type item1, Encryption type item2,..." + ] + }, + "transparentDataEncryption": { + "mode": "SystemManaged" + } + }, + "settings": { + "network": { + "forceencryption": 0, + "tlsciphers": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384", + "tlsprotocols": "1.2" + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance", + "name": "testsqlManagedInstance", + "type": "Microsoft.AzureArcData/sqlManagedInstance" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetSqlServerEsuLicense.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetSqlServerEsuLicense.json new file mode 100644 index 000000000000..09a4286a647f --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetSqlServerEsuLicense.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerEsuLicenseName": "testsqlServerEsuLicense", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "billingPlan": "PAYG", + "version": "SQL Server 2012", + "uniqueId": "00000000-1111-2222-3333-444444444444", + "physicalCores": 24, + "activationState": "Inactive", + "scopeType": "Subscription", + "activatedAt": "2020-01-01T17:18:19.1234567Z", + "terminatedAt": "2020-01-01T17:18:19.1234567Z", + "tenantId": "89fdfcc3-4c62-41c3-93c4-16bae3bcf5ea" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerEsuLicenses/testsqlServerEsuLicense", + "name": "testsqlServerEsuLicense", + "type": "Microsoft.AzureArcData/sqlServerEsuLicenses" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetSqlServerInstance.json new file mode 100644 index 000000000000..877c6661c531 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetSqlServerInstance.json @@ -0,0 +1,191 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlServerInstance", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "version": "SQL Server 2012", + "edition": "Developer", + "containerResourceId": "Resource id of hosting Arc Machine", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "dbMasterKeyExists": true, + "isHadrEnabled": true, + "traceFlags": [ + 1800, + 9567 + ], + "currentVersion": "2012", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "cores": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "azureDefenderStatus": "Protected", + "status": "Registered", + "hostType": "Physical Server", + "lastInventoryUploadTime": "2023-03-29T14:13:12Z", + "lastUsageUploadTime": "2023-03-29T14:13:12Z", + "alwaysOnRole": "FailoverClusterInstance", + "failoverCluster": { + "id": "f836af7e-85ed-4ea4-91fb-67709b34e323", + "networkName": "networkNameOfSQLFCI", + "sqlInstanceIds": [ + "/subscriptions/dummySub/resourceGroups/dummyRG/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServer1", + "/subscriptions/dummySub/resourceGroups/dummyRG/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServer2" + ], + "hostNames": [ + "DEV-HOSTNAME1", + "DEV-HOSTNAME2" + ] + }, + "databaseMirroringEndpoint": { + "endpointName": "testMirroringEndpoint", + "role": "PARTNER", + "isEncryptionEnabled": true, + "encryptionAlgorithm": "RC4", + "connectionAuth": "Certificate", + "port": 12345, + "isDynamicPort": false, + "ipAddress": "123.124.125.126", + "certificateName": "testCertificateName" + }, + "backupPolicy": { + "retentionPeriodDays": 1, + "fullBackupDays": 1, + "differentialBackupHours": 12, + "transactionLogBackupMinutes": 30 + }, + "upgradeLockedUntil": "2022-05-05T16:26:33.883Z", + "monitoring": { + "enabled": false + }, + "migration": { + "assessment": { + "enabled": true, + "assessmentUploadTime": "2024-03-15T00:16:11.0000000Z", + "serverAssessments": [ + { + "appliesToMigrationTargetPlatform": "AzureSqlDatabase", + "featureId": "TraceFlags", + "impactedObjects": [ + { + "impactDetail": "", + "name": "8017", + "objectType": "TraceFlag" + } + ], + "issueCategory": "Warning", + "moreInformation": "Resolving Transact-SQL differences during migration to SQL Database" + }, + { + "appliesToMigrationTargetPlatform": "AzureSqlManagedInstance", + "featureId": "TraceFlags", + "impactedObjects": [ + { + "impactDetail": "", + "name": "8017", + "objectType": "TraceFlag" + } + ], + "issueCategory": "Warning", + "moreInformation": "Trace Flags" + } + ], + "skuRecommendationResults": { + "azureSqlDatabase": { + "recommendationStatus": "Ready", + "numberOfServerBlockerIssues": 0, + "targetSku": { + "category": { + "computeTier": "Provisioned", + "hardwareType": "Gen5", + "sqlPurchasingModel": "vCore", + "sqlServiceTier": "General Purpose", + "zoneRedundancyAvailable": false + } + }, + "monthlyCost": { + "computeCost": 245.13, + "storageCost": 0.18, + "totalCost": 245.31 + } + }, + "azureSqlManagedInstance": { + "recommendationStatus": "Ready", + "numberOfServerBlockerIssues": 0, + "targetSku": { + "category": { + "computeTier": "Provisioned", + "hardwareType": "Gen5", + "sqlPurchasingModel": "vCore", + "sqlServiceTier": "General Purpose", + "zoneRedundancyAvailable": false + } + }, + "monthlyCost": { + "computeCost": 490.26, + "storageCost": 0, + "totalCost": 490.26 + } + }, + "azureSqlVirtualMachine": { + "recommendationStatus": "Ready", + "numberOfServerBlockerIssues": 0, + "targetSku": { + "category": { + "availableVmSkus": [ + "Standard_D16as_v4", + "Standard_D2as_v4", + "Standard_D32as_v4", + "Standard_D48as_v4", + "Standard_D4as_v4", + "Standard_D64as_v4", + "Standard_D8as_v4", + "Standard_D96as_v4" + ], + "virtualMachineFamily": "standardDASv4Family" + } + }, + "monthlyCost": { + "computeCost": 81.98, + "storageCost": 2.4, + "totalCost": 84.38 + } + } + } + } + }, + "clientConnection": { + "enabled": false + }, + "serviceType": "Engine" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance", + "name": "testsqlServerInstance", + "type": "Microsoft.AzureArcData/SqlServerInstances" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetSqlServerInstanceJobsStatus.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetSqlServerInstanceJobsStatus.json new file mode 100644 index 000000000000..6c842f3989d0 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetSqlServerInstanceJobsStatus.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlserver", + "api-version": "2024-05-01-preview", + "SqlServerInstanceJobsStatusRequest": { + "featureName": "MigrationAssessment", + "jobType": "Ondemand" + } + }, + "responses": { + "200": { + "body": { + "jobsStatus": [ + { + "id": "/subscriptions/a5082b19-8a6e-4bc5-8fdd-8ef39dfebc39/resourceGroups/alzahedi-rg-easyup/providers/Microsoft.AzureArcData/sqlServerInstances/arcee-dev/jobs/235e045f:2D5237:2D38eb:2Db8fa:2Df0f549d1d7d9MigrationJobOnDemand", + "instanceName": "MSSQLSERVER", + "jobStatus": "Failed", + "jobException": "Something went wrong in collection suitability", + "backgroundJob": { + "state": "Completed", + "executionState": "Waiting", + "startTime": "2024-02-22T00:04:06.88265-08:00", + "endTime": "2024-03-15T02:04:06.88265-07:00", + "lastExecutionTime": "2024-02-22T21:18:21.6083558-08:00", + "lastExecutionStatus": "Succeeded" + }, + "sequencerActions": [ + { + "actionId": ":2Fsubscriptions:2Fa5082b19:2D8a6e:2D4bc5:2D8fdd:2D8ef39dfebc39:2FresourceGroups:2Falzahedi:2Drg:2Deasyup:2Fproviders:2FMicrosoft:2EAzureArcData:2FsqlServerInstances:2Farcee:2Ddev:2Faction:2FMicrosoft:2ESqlServer:2EManagement:2EMigrationAssessmentPlugin:2EActions:2ERunOnDemandMigrationJob", + "state": "Completed", + "result": "Failed" + }, + { + "actionId": "system.last", + "state": "Completed", + "result": "Succeeded" + }, + { + "actionId": "system.first", + "state": "Completed", + "result": "Succeeded" + } + ] + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetSqlServerInstanceTelemetry.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetSqlServerInstanceTelemetry.json new file mode 100644 index 000000000000..ee83800f4427 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetSqlServerInstanceTelemetry.json @@ -0,0 +1,154 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlserver", + "api-version": "2024-05-01-preview", + "sqlServerInstanceTelemetryRequest": { + "datasetName": "sqlserver_storage_io", + "startTime": "2023-09-30T00:00:00Z" + } + }, + "responses": { + "200": { + "body": { + "columns": [ + { + "name": "row_id", + "type": "int" + }, + { + "name": "sample_time_utc", + "type": "datetime" + }, + { + "name": "database_id", + "type": "int" + }, + { + "name": "database_name", + "type": "string" + }, + { + "name": "file_id", + "type": "int" + }, + { + "name": "file_type", + "type": "string" + }, + { + "name": "file_size_mb", + "type": "double" + }, + { + "name": "file_max_size_mb", + "type": "double" + }, + { + "name": "io_stall_read_ms", + "type": "int" + }, + { + "name": "num_of_reads", + "type": "int" + }, + { + "name": "num_of_bytes_read", + "type": "int" + }, + { + "name": "io_stall_write_ms", + "type": "int" + }, + { + "name": "num_of_writes", + "type": "int" + }, + { + "name": "num_of_bytes_written", + "type": "int" + }, + { + "name": "io_stall_queued_read_ms", + "type": "int" + }, + { + "name": "io_stall_queued_write_ms", + "type": "int" + }, + { + "name": "size_on_disk_bytes", + "type": "int" + } + ], + "rows": [ + [ + "1", + "2023-09-30T00:00:00Z", + "1", + "master", + "1", + "Data", + "21.9375", + "0", + "88", + "56", + "3473408", + "2", + "3", + "24576", + "0", + "0", + "23003136" + ], + [ + "2", + "2023-09-30T00:00:00Z", + "5", + "arcDb", + "2", + "Log", + "0.625", + "0", + "12", + "11", + "208896", + "5989", + "853", + "3506176", + "0", + "0", + "4653056" + ], + [ + "3", + "2023-09-30T00:00:00Z", + "2", + "model", + "1", + "Data", + "4.4375", + "0", + "65", + "59", + "3284992", + "279", + "661", + "5922816", + "0", + "0", + "4653056" + ] + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/servers/testsqlserver/getTelemetry?api-version=2024-05-01-preview" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.AzureArcData/locations/eastus2euap/operationStatuses/5abb198d-cc4b-46bd-9e6c-e3f0ba22015d?api-version=2024-05-01-preview", + "Location": "https://management.azure.com/providers/Microsoft.AzureArcData/locations/eastus2euap/operationStatuses/5abb198d-cc4b-46bd-9e6c-e3f0ba22015d?api-version=2024-05-01-preview" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetSqlServerLicense.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetSqlServerLicense.json new file mode 100644 index 000000000000..10bc31bf0341 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/GetSqlServerLicense.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerLicenseName": "testsqlServerLicense", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "billingPlan": "PAYG", + "licenseCategory": "Core", + "physicalCores": 24, + "activationState": "Deactivated", + "scopeType": "Subscription", + "lastActivatedAt": "2020-01-01T17:18:19.1234567Z", + "lastDeactivatedAt": "2020-01-01T17:18:19.1234567Z", + "tenantId": "89fdfcc3-4c62-41c3-93c4-16bae3bcf5ea" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerLicenses/testsqlServerLicense", + "name": "testsqlServerLicense", + "type": "Microsoft.AzureArcData/SqlServerLicenses" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListByDataControllerActiveDirectoryConnector.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListByDataControllerActiveDirectoryConnector.json new file mode 100644 index 000000000000..7749ce11b070 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListByDataControllerActiveDirectoryConnector.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2024-05-01-preview", + "dataControllerName": "testdataController" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "spec": { + "activeDirectory": { + "realm": "CONTOSO.LOCAL", + "serviceAccountProvisioning": "manual", + "domainControllers": { + "primaryDomainController": { + "hostname": "dc1.contoso.local" + }, + "secondaryDomainControllers": [ + { + "hostname": "dc2.contoso.local" + }, + { + "hostname": "dc3.contoso.local" + } + ] + }, + "netbiosDomainName": "CONTOSO" + }, + "dns": { + "nameserverIPAddresses": [ + "11.11.111.111", + "22.22.222.222" + ], + "replicas": 1, + "preferK8sDnsForPtrLookups": false, + "domainName": "contoso.local" + } + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController/activeDirectoryConnectors/testADConnector1", + "name": "testADConnector1", + "type": "Microsoft.AzureArcData/dataControllers/activeDirectoryConnectors" + }, + { + "properties": { + "spec": { + "activeDirectory": { + "realm": "CONTOSO.LOCAL", + "serviceAccountProvisioning": "manual", + "domainControllers": { + "primaryDomainController": { + "hostname": "dc4.contoso.local" + }, + "secondaryDomainControllers": [ + { + "hostname": "dc5.contoso.local" + }, + { + "hostname": "dc6.contoso.local" + } + ] + }, + "netbiosDomainName": "CONTOSO" + }, + "dns": { + "nameserverIPAddresses": [ + "11.11.111.111", + "22.22.222.222" + ], + "replicas": 1, + "preferK8sDnsForPtrLookups": false, + "domainName": "contoso.local" + } + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController/activeDirectoryConnectors/testADConnector2", + "name": "testADConnector2", + "type": "Microsoft.AzureArcData/dataControllers/activeDirectoryConnectors" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListByResourceGroupDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListByResourceGroupDataController.json new file mode 100644 index 000000000000..e0c0038311ef --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListByResourceGroupDataController.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "metricsDashboardCredential": { + "username": "username" + }, + "logsDashboardCredential": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController1", + "name": "testdataController1", + "type": "Microsoft.AzureArcData/dataControllers" + }, + { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController2", + "name": "testdataController2", + "type": "Microsoft.AzureArcData/dataControllers" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListByResourceGroupPostgresInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListByResourceGroupPostgresInstance.json new file mode 100644 index 000000000000..e2459f3ecc1f --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListByResourceGroupPostgresInstance.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "basicLoginInformation": { + "username": "username" + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "default", + "tier": "Hyperscale", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstances/testpostgresInstances1", + "name": "testpostgresInstances1", + "type": "Microsoft.AzureArcData/PostgresInstances" + }, + { + "properties": { + "basicLoginInformation": { + "username": "username" + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "default", + "tier": "Hyperscale", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstances/testpostgresInstances2", + "name": "testpostgresInstances2", + "type": "Microsoft.AzureArcData/PostgresInstances" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListByResourceGroupSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListByResourceGroupSqlManagedInstance.json new file mode 100644 index 000000000000..ffc87618e06d --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListByResourceGroupSqlManagedInstance.json @@ -0,0 +1,162 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "activeDirectoryInformation": { + "keytabInformation": {} + }, + "licenseType": "LicenseIncluded", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/sqlManagedInstance1", + "name": "sqlManagedInstances1", + "type": "Microsoft.AzureArcData/sqlManagedInstances" + }, + { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "activeDirectoryInformation": { + "keytabInformation": {} + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + }, + "security": { + "adminLoginSecret": "test-sql-login-secret", + "serviceCertificateSecret": "Service Certificate Secret", + "activeDirectory": { + "connector": { + "name": "Name of connector", + "namespace": "Namespace of connector" + }, + "accountName": "Account name", + "keytabSecret": "Key tab secret of account", + "encryptionTypes": [ + "Encryption type item1, Encryption type item2,..." + ] + }, + "transparentDataEncryption": { + "mode": "SystemManaged" + } + }, + "settings": { + "network": { + "forceencryption": 0, + "tlsciphers": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384", + "tlsprotocols": "1.2" + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/sqlManagedInstance2", + "name": "sqlManagedInstances2", + "type": "Microsoft.AzureArcData/sqlManagedInstances" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListByResourceGroupSqlServerEsuLicense.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListByResourceGroupSqlServerEsuLicense.json new file mode 100644 index 000000000000..fe027b0ea133 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListByResourceGroupSqlServerEsuLicense.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "billingPlan": "PAYG", + "version": "SQL Server 2012", + "uniqueId": "00000000-1111-2222-3333-444444444444", + "physicalCores": 24, + "activationState": "Inactive", + "scopeType": "Subscription", + "activatedAt": "2020-01-01T17:18:19.1234567Z", + "terminatedAt": "2020-01-01T17:18:19.1234567Z", + "tenantId": "89fdfcc3-4c62-41c3-93c4-16bae3bcf5ea" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerEsuLicenses/sqlServerEsuLicense1", + "name": "sqlServerEsuLicense1", + "type": "Microsoft.AzureArcData/sqlServerEsuLicenses" + }, + { + "properties": { + "billingPlan": "PAYG", + "version": "SQL Server 2012", + "uniqueId": "00000000-1111-2222-3333-444444444444", + "physicalCores": 24, + "activationState": "Inactive", + "scopeType": "Subscription", + "activatedAt": "2020-01-01T17:18:19.1234567Z", + "terminatedAt": "2020-01-01T17:18:19.1234567Z", + "tenantId": "89fdfcc3-4c62-41c3-93c4-16bae3bcf5ea" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerEsuLicenses/sqlServerEsuLicense2", + "name": "sqlServerEsuLicense2", + "type": "Microsoft.AzureArcData/sqlServerEsuLicenses" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListByResourceGroupSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListByResourceGroupSqlServerInstance.json new file mode 100644 index 000000000000..c25935323139 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListByResourceGroupSqlServerInstance.json @@ -0,0 +1,248 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "version": "SQL Server 2012", + "edition": "Developer", + "containerResourceId": "Resource id of hosting Arc Machine", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "dbMasterKeyExists": true, + "isHadrEnabled": true, + "traceFlags": [ + 1800, + 9567 + ], + "currentVersion": "2012", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "cores": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "azureDefenderStatus": "Protected", + "status": "Registered", + "hostType": "Physical Server", + "lastInventoryUploadTime": "2023-03-29T14:13:12Z", + "lastUsageUploadTime": "2023-03-29T14:13:12Z", + "alwaysOnRole": "FailoverClusterInstance", + "failoverCluster": { + "id": "f836af7e-85ed-4ea4-91fb-67709b34e323", + "networkName": "networkNameOfSQLFCI", + "sqlInstanceIds": [ + "/subscriptions/dummySub/resourceGroups/dummyRG/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServer1", + "/subscriptions/dummySub/resourceGroups/dummyRG/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServer2" + ], + "hostNames": [ + "DEV-HOSTNAME1", + "DEV-HOSTNAME2" + ] + }, + "databaseMirroringEndpoint": { + "endpointName": "testMirroringEndpoint", + "role": "PARTNER", + "isEncryptionEnabled": true, + "encryptionAlgorithm": "AES", + "connectionAuth": "Certificate", + "port": 12345, + "isDynamicPort": false, + "ipAddress": "123.124.125.126", + "certificateName": "testCertificateName" + }, + "backupPolicy": { + "retentionPeriodDays": 1, + "fullBackupDays": 1, + "differentialBackupHours": 12, + "transactionLogBackupMinutes": 30 + }, + "monitoring": { + "enabled": false + }, + "migration": { + "assessment": { + "enabled": true, + "assessmentUploadTime": "2024-03-15T00:16:11.0000000Z", + "serverAssessments": [ + { + "appliesToMigrationTargetPlatform": "AzureSqlDatabase", + "featureId": "TraceFlags", + "impactedObjects": [ + { + "impactDetail": "", + "name": "8017", + "objectType": "TraceFlag" + } + ], + "issueCategory": "Warning", + "moreInformation": "Resolving Transact-SQL differences during migration to SQL Database" + }, + { + "appliesToMigrationTargetPlatform": "AzureSqlManagedInstance", + "featureId": "TraceFlags", + "impactedObjects": [ + { + "impactDetail": "", + "name": "8017", + "objectType": "TraceFlag" + } + ], + "issueCategory": "Warning", + "moreInformation": "Trace Flags" + } + ], + "skuRecommendationResults": { + "azureSqlDatabase": { + "recommendationStatus": "Ready", + "numberOfServerBlockerIssues": 0, + "targetSku": { + "category": { + "computeTier": "Provisioned", + "hardwareType": "Gen5", + "sqlPurchasingModel": "vCore", + "sqlServiceTier": "General Purpose", + "zoneRedundancyAvailable": false + } + }, + "monthlyCost": { + "computeCost": 245.13, + "storageCost": 0.18, + "totalCost": 245.31 + } + }, + "azureSqlManagedInstance": { + "recommendationStatus": "Ready", + "numberOfServerBlockerIssues": 0, + "targetSku": { + "category": { + "computeTier": "Provisioned", + "hardwareType": "Gen5", + "sqlPurchasingModel": "vCore", + "sqlServiceTier": "General Purpose", + "zoneRedundancyAvailable": false + } + }, + "monthlyCost": { + "computeCost": 490.26, + "storageCost": 0, + "totalCost": 490.26 + } + }, + "azureSqlVirtualMachine": { + "recommendationStatus": "Ready", + "numberOfServerBlockerIssues": 0, + "targetSku": { + "category": { + "availableVmSkus": [ + "Standard_D16as_v4", + "Standard_D2as_v4", + "Standard_D32as_v4", + "Standard_D48as_v4", + "Standard_D4as_v4", + "Standard_D64as_v4", + "Standard_D8as_v4", + "Standard_D96as_v4" + ], + "virtualMachineFamily": "standardDASv4Family" + } + }, + "monthlyCost": { + "computeCost": 81.98, + "storageCost": 2.4, + "totalCost": 84.38 + } + } + } + } + }, + "clientConnection": { + "enabled": false + }, + "serviceType": "Engine" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance1", + "name": "sqlServerInstance1", + "type": "Microsoft.AzureArcData/SqlServerInstances" + }, + { + "properties": { + "version": "SQL Server 2017", + "edition": "Developer", + "containerResourceId": "Arc Machine Name", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "dbMasterKeyExists": true, + "isHadrEnabled": true, + "traceFlags": [ + 1800, + 9567 + ], + "currentVersion": "2008 R2", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "cores": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "azureDefenderStatus": "Protected", + "status": "Connected", + "upgradeLockedUntil": "2022-05-05T16:26:33.883Z", + "monitoring": { + "enabled": false + }, + "migration": { + "assessment": { + "enabled": false + } + }, + "clientConnection": { + "enabled": false + }, + "serviceType": "SSRS" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance2", + "name": "sqlServerInstance2", + "type": "Microsoft.AzureArcData/SqlServerInstances" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListByResourceGroupSqlServerLicense.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListByResourceGroupSqlServerLicense.json new file mode 100644 index 000000000000..0aec26805c32 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListByResourceGroupSqlServerLicense.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "billingPlan": "PAYG", + "licenseCategory": "Core", + "physicalCores": 24, + "activationState": "Deactivated", + "scopeType": "Subscription", + "lastActivatedAt": "2020-01-01T17:18:19.1234567Z", + "lastDeactivatedAt": "2020-01-01T17:18:19.1234567Z", + "tenantId": "89fdfcc3-4c62-41c3-93c4-16bae3bcf5ea" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerLicenses/sqlServerLicense1", + "name": "sqlServerLicense1", + "type": "Microsoft.AzureArcData/SqlServerLicenses" + }, + { + "properties": { + "billingPlan": "PAYG", + "licenseCategory": "Core", + "physicalCores": 24, + "activationState": "Deactivated", + "scopeType": "Subscription", + "lastActivatedAt": "2020-01-01T17:18:19.1234567Z", + "lastDeactivatedAt": "2020-01-01T17:18:19.1234567Z", + "tenantId": "89fdfcc3-4c62-41c3-93c4-16bae3bcf5ea" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerLicenses/sqlServerLicense2", + "name": "sqlServerLicense2", + "type": "Microsoft.AzureArcData/SqlServerLicenses" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListBySqlManagedInstanceFailoverGroup.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListBySqlManagedInstanceFailoverGroup.json new file mode 100644 index 000000000000..f65fbde5de33 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListBySqlManagedInstanceFailoverGroup.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2024-05-01-preview", + "sqlManagedInstanceName": "testSqlManagedInstance" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "partnerManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/partnerMI", + "spec": { + "sharedName": "testSharedName", + "sourceMI": "sourceSQLMI", + "partnerMI": "partnerMI", + "partnerMirroringURL": "11.11.111.111:1111", + "partnerMirroringCert": "testCert", + "partnerSyncMode": "async", + "role": "primary" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testSqlManagedInstance/failoverGroups/testFailoverGroupName", + "name": "testFailoverGroupName", + "type": "Microsoft.AzureArcData/sqlManagedInstances/failoverGroups" + }, + { + "properties": { + "partnerManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/partnerMI", + "spec": { + "sharedName": "testSharedName", + "sourceMI": "sourceSQLMI", + "partnerMI": "partnerMI", + "partnerMirroringURL": "11.11.111.111:1111", + "partnerMirroringCert": "testCert", + "partnerSyncMode": "async", + "role": "primary" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testSqlManagedInstance/failoverGroups/testFailoverGroupName", + "name": "testFailoverGroupName", + "type": "Microsoft.AzureArcData/sqlManagedInstances/failoverGroups" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListBySqlServerInstanceAvailabilityGroup.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListBySqlServerInstanceAvailabilityGroup.json new file mode 100644 index 000000000000..fe6cdaa40f73 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListBySqlServerInstanceAvailabilityGroup.json @@ -0,0 +1,215 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testSqlServer_INST1", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST1/availabilityGroups/testAG", + "name": "testAG", + "type": "Microsoft.AzureArcData/sqlServerInstances/availabilityGroups", + "properties": { + "availabilityGroupId": "00000000-1111-2222-3333-444444444444", + "serverName": "testSqlServer", + "instanceName": "INST1", + "collectionTimestamp": "2022-05-05T16:26:33.883Z", + "info": { + "failureConditionLevel": 3, + "healthCheckTimeout": 30000, + "automatedBackupPreferenceDescription": "SECONDARY", + "version": 0, + "basicFeatures": false, + "dtcSupport": false, + "dbFailover": true, + "isDistributed": false, + "clusterTypeDescription": "WSFC", + "requiredSynchronizedSecondariesToCommit": 0, + "isContained": false, + "primaryReplica": "testSqlServer\\INST1", + "primaryRecoveryHealthDescription": "ONLINE", + "secondaryRecoveryHealthDescription": null, + "synchronizationHealthDescription": "HEALTHY", + "replicationPartnerType": null + }, + "replicas": { + "value": [ + { + "replicaId": "00000000-1111-2222-3333-444444444444", + "replicaName": "testSqlServer\\INST1", + "configure": { + "endpointName": "inst1DBMEndpoint", + "endpointUrl": "TCP://mytest60-0.mytest60-svc:5022", + "endpointConnectLogin": "NT Server\\MSSSQLSERVER", + "availabilityModeDescription": "SYNCHRONOUS_COMMIT", + "failoverModeDescription": "EXTERNAL", + "sessionTimeout": 10, + "primaryRoleAllowConnectionsDescription": "ALL", + "secondaryRoleAllowConnectionsDescription": "ALL", + "replicaCreateDate": null, + "replicaModifyDate": null, + "backupPriority": 50, + "readOnlyRoutingUrl": null, + "readWriteRoutingUrl": null, + "seedingModeDescription": "AUTOMATIC" + }, + "state": { + "availabilityGroupReplicaRole": "SECONDARY", + "operationalStateDescription": "ONLINE", + "recoveryHealthDescription": "ONLINE_IN_PROGRESS", + "synchronizationHealthDescription": "HEALTHY", + "connectedStateDescription": "CONNECTED", + "lastConnectErrorDescription": "", + "lastConnectErrorTimestamp": "2022-05-05T16:26:33.883Z" + } + } + ] + }, + "databases": { + "value": [ + { + "databaseName": "db1", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + }, + { + "databaseName": "db2", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + } + ] + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + } + }, + { + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST1/availabilityGroups/testAG1", + "name": "testAG1", + "type": "Microsoft.AzureArcData/sqlServerInstances/availabilityGroups", + "properties": { + "availabilityGroupId": "00000000-1111-2222-3333-444444444444", + "serverName": "testSqlServer", + "instanceName": "INST1", + "collectionTimestamp": "2022-05-05T16:26:33.883Z", + "info": { + "failureConditionLevel": 3, + "healthCheckTimeout": 30000, + "automatedBackupPreferenceDescription": "SECONDARY", + "version": 0, + "basicFeatures": false, + "dtcSupport": false, + "dbFailover": true, + "isDistributed": false, + "clusterTypeDescription": "WSFC", + "requiredSynchronizedSecondariesToCommit": 0, + "isContained": false, + "primaryReplica": "testSqlServer\\INST1", + "primaryRecoveryHealthDescription": "ONLINE", + "secondaryRecoveryHealthDescription": null, + "synchronizationHealthDescription": "HEALTHY" + }, + "replicas": { + "value": [ + { + "replicaId": "00000000-1111-2222-3333-444444444444", + "replicaName": "testSqlServer\\INST1", + "configure": { + "endpointName": "inst1DBMEndpoint", + "endpointUrl": "TCP://mytest60-0.mytest60-svc:5022", + "endpointConnectLogin": "NT Server\\MSSSQLSERVER", + "availabilityModeDescription": "SYNCHRONOUS_COMMIT", + "failoverModeDescription": "EXTERNAL", + "sessionTimeout": 10, + "primaryRoleAllowConnectionsDescription": "ALL", + "secondaryRoleAllowConnectionsDescription": "ALL", + "replicaCreateDate": null, + "replicaModifyDate": null, + "backupPriority": 50, + "readOnlyRoutingUrl": null, + "readWriteRoutingUrl": null, + "seedingModeDescription": "AUTOMATIC" + }, + "state": { + "availabilityGroupReplicaRole": "SECONDARY", + "operationalStateDescription": "ONLINE", + "recoveryHealthDescription": "ONLINE_IN_PROGRESS", + "synchronizationHealthDescription": "HEALTHY", + "connectedStateDescription": "CONNECTED", + "lastConnectErrorDescription": "", + "lastConnectErrorTimestamp": "2022-05-05T16:26:33.883Z" + } + } + ] + }, + "databases": { + "value": [ + { + "databaseName": "db1", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + }, + { + "databaseName": "db2", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + } + ] + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + } + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListBySqlServerInstanceDatabase.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListBySqlServerInstanceDatabase.json new file mode 100644 index 000000000000..b7d6fe6058ed --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListBySqlServerInstanceDatabase.json @@ -0,0 +1,167 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testSqlServerInstance", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/testSqlServerInstance/testsqlManagedInstance/databases/testdb", + "name": "testdb", + "type": "Microsoft.AzureArcData/sqlServerInstances/databases", + "properties": { + "collationName": "SQL_Latin1_General_CP1_CI_AS", + "databaseCreationDate": "2022-04-05T16:26:33.883Z", + "compatibilityLevel": 150, + "state": "Online", + "isReadOnly": true, + "recoveryMode": "Full", + "sizeMB": 150.00, + "spaceAvailableMB": 100.00, + "databaseOptions": { + "isAutoCloseOn": true, + "isAutoShrinkOn": true, + "isAutoCreateStatsOn": true, + "isAutoUpdateStatsOn": true, + "isMemoryOptimizationEnabled": true, + "isRemoteDataArchiveEnabled": true, + "isEncrypted": true, + "isTrustworthyOn": true + }, + "backupInformation": { + "lastFullBackup": "2022-05-05T16:26:33.883Z", + "lastLogBackup": "2022-05-10T16:26:33.883Z" + }, + "backupPolicy": { + "retentionPeriodDays": 1, + "fullBackupDays": 1, + "differentialBackupHours": 12, + "transactionLogBackupMinutes": 30 + }, + "migration": { + "assessment": { + "assessmentUploadTime": "2024-03-15T00:14:52.0000000Z", + "databaseAssessments": [ + { + "appliesToMigrationTargetPlatform": "AzureSqlDatabase", + "featureId": "ServiceBroker", + "issueCategory": "Issue", + "moreInformation": "" + } + ], + "targetReadiness": { + "azureSqlDatabase": { + "numOfBlockerIssues": 0, + "recommendationStatus": "NotReady" + }, + "azureSqlManagedInstance": { + "numOfBlockerIssues": 0, + "recommendationStatus": "Ready" + }, + "azureSqlVirtualMachine": { + "numOfBlockerIssues": 0, + "recommendationStatus": "Ready" + } + } + } + }, + "earliestRestoreDate": "2022-05-10T16:26:33.883Z", + "lastDatabaseUploadTime": "2023-03-29T14:13:12Z", + "createMode": "PointInTimeRestore", + "sourceDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/testSqlServerInstance/testsqlManagedInstance/databases/MyDatabase", + "restorePointInTime": "2022-05-05T16:26:33.883Z" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + } + }, + { + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/testSqlServerInstance/testsqlManagedInstance/databases/testdb1", + "name": "testdb1", + "type": "Microsoft.AzureArcData/sqlServerInstances/databases", + "properties": { + "collationName": "SQL_Latin1_General_CP1_CI_AS", + "databaseCreationDate": "2022-04-05T16:26:33.883Z", + "compatibilityLevel": 150, + "state": "Online", + "isReadOnly": true, + "recoveryMode": "Full", + "sizeMB": 150.00, + "spaceAvailableMB": 100.00, + "databaseOptions": { + "isAutoCloseOn": true, + "isAutoShrinkOn": true, + "isAutoCreateStatsOn": true, + "isAutoUpdateStatsOn": true, + "isMemoryOptimizationEnabled": true, + "isRemoteDataArchiveEnabled": true, + "isEncrypted": true, + "isTrustworthyOn": true + }, + "backupInformation": { + "lastFullBackup": "2022-05-05T16:26:33.883Z", + "lastLogBackup": "2022-05-10T16:26:33.883Z" + }, + "backupPolicy": { + "retentionPeriodDays": 1, + "fullBackupDays": 1, + "differentialBackupHours": 12, + "transactionLogBackupMinutes": 30 + }, + "migration": { + "assessment": { + "assessmentUploadTime": "2024-03-15T00:14:52.0000000Z", + "databaseAssessments": [], + "targetReadiness": { + "azureSqlDatabase": { + "numOfBlockerIssues": 0, + "recommendationStatus": "Ready" + }, + "azureSqlManagedInstance": { + "numOfBlockerIssues": 0, + "recommendationStatus": "Ready" + }, + "azureSqlVirtualMachine": { + "numOfBlockerIssues": 0, + "recommendationStatus": "Ready" + } + } + } + }, + "earliestRestoreDate": "2022-05-10T16:26:33.883Z", + "lastDatabaseUploadTime": "2023-03-29T14:13:12Z", + "createMode": "PointInTimeRestore", + "sourceDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/testSqlServerInstance/testsqlManagedInstance/databases/MyDatabase", + "restorePointInTime": "2022-05-05T16:26:33.883Z" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + } + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListOperation.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListOperation.json new file mode 100644 index 000000000000..02c537b07e1b --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListOperation.json @@ -0,0 +1,353 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.AzureArcData/Locations/OperationStatuses/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "Locations/OperationStatuses", + "operation": "read_OperationStatuses", + "description": "read OperationStatuses" + } + }, + { + "name": "Microsoft.AzureArcData/Locations/OperationStatuses/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "Locations/OperationStatuses", + "operation": "write_OperationStatuses", + "description": "write OperationStatuses" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers", + "operation": "DataControllers_ListInSubscription", + "description": "read dataControllers" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers", + "operation": "DataControllers_ListInGroup", + "description": "read dataControllers" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers", + "operation": "DataControllers_GetDataController", + "description": "Retrieves a dataController resource" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers", + "operation": "DataControllers_PutDataController", + "description": "Creates or replaces a dataController resource" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers", + "operation": "DataControllers_DeleteDataController", + "description": "Deletes a dataController resource" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers", + "operation": "DataControllers_PatchDataController", + "description": "Updates a dataController resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlManagedInstances/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlManagedInstances", + "operation": "SqlManagedInstances_List", + "description": "read sqlManagedInstances" + } + }, + { + "name": "Microsoft.AzureArcData/sqlManagedInstances/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlManagedInstances", + "operation": "SqlManagedInstances_ListByResourceGroup", + "description": "Gets all sqlManagedInstances in a resource group." + } + }, + { + "name": "Microsoft.AzureArcData/sqlManagedInstances/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlManagedInstances", + "operation": "SqlManagedInstances_Get", + "description": "Retrieves a SQL Managed Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlManagedInstances/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlManagedInstances", + "operation": "SqlManagedInstances_Create", + "description": "Creates or replaces a SQL Managed Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlManagedInstances/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlManagedInstances", + "operation": "SqlManagedInstances_Delete", + "description": "Deletes a SQL Managed Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlManagedInstances/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlManagedInstances", + "operation": "SqlManagedInstances_Update", + "description": "Updates a SQL Managed Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlServerInstances/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlServerInstances", + "operation": "SqlServerInstances_List", + "description": "read sqlServerInstances" + } + }, + { + "name": "Microsoft.AzureArcData/sqlServerInstances/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlServerInstances", + "operation": "SqlServerInstances_ListByResourceGroup", + "description": "Gets all sqlServerInstances in a resource group." + } + }, + { + "name": "Microsoft.AzureArcData/sqlServerInstances/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlServerInstances", + "operation": "SqlServerInstances_Get", + "description": "Retrieves a SQL Server Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlServerInstances/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlServerInstances", + "operation": "SqlServerInstances_Create", + "description": "Creates or replaces a SQL Server Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlServerInstances/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlServerInstances", + "operation": "SqlServerInstances_Delete", + "description": "Deletes a SQL Server Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlServerInstances/databases/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlServerInstances/databases", + "operation": "SqlServerDatabases_List", + "description": "List all database resources in a Sql Server Instance." + } + }, + { + "name": "Microsoft.AzureArcData/sqlServerInstances/databases/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlServerInstances/databases", + "operation": "SqlServerDatabases_Get", + "description": "Retrieves a database resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlServerInstances/databases/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlServerInstances/databases", + "operation": "SqlServerDatabases_Create", + "description": "Creates or updates a database resource." + } + }, + { + "name": "Microsoft.AzureArcData/sqlServerInstances/databases/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlServerInstances/databases", + "operation": "SqlServerDatabases_Delete", + "description": "Deletes a database resource." + } + }, + { + "name": "Microsoft.AzureArcData/sqlServerInstances/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlServerInstances", + "operation": "SqlServerInstances_Update", + "description": "Updates a SQL Server Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/activeDirectoryConnectors/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers/activeDirectoryConnectors", + "operation": "ActiveDirectoryConnectors_List", + "description": "read activeDirectoryConnectors" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/activeDirectoryConnectors/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers/activeDirectoryConnectors", + "operation": "ActiveDirectoryConnectors_Get", + "description": "Retrieves an active directory connector resource" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/activeDirectoryConnectors/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers/activeDirectoryConnectors", + "operation": "ActiveDirectoryConnectors_Create", + "description": "Creates or replaces an active directory connector resource." + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/activeDirectoryConnectors/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers/activeDirectoryConnectors", + "operation": "ActiveDirectoryConnectors_Delete", + "description": "Deletes an active directory connector resource" + } + }, + { + "name": "Microsoft.AzureArcData/postgresInstances/read", + "isDataAction": false, + "display": { + "resource": "Microsoft.AzureArcData", + "provider": "Azure Arc Data Resource Provider.", + "operation": "Get Postgres Instance details.", + "description": "Retrieves details of Postgres Instances." + } + }, + { + "name": "Microsoft.AzureArcData/postgresInstances/write", + "isDataAction": false, + "display": { + "resource": "Microsoft.AzureArcData", + "provider": "Azure Arc Data Resource Provider.", + "operation": "Create new or update existing Postgres Instances.", + "description": "Create a new or change properties of existing Postgres Instances." + } + }, + { + "name": "Microsoft.AzureArcData/postgresInstances/delete", + "isDataAction": false, + "display": { + "resource": "Microsoft.AzureArcData", + "provider": "Azure Arc Data Resource Provider.", + "operation": "Delete exisiting Postgres Instances.", + "description": "Delete exisiting Postgres Instances." + } + }, + { + "name": "Microsoft.AzureArcData/register/action", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "Microsoft.AzureArcData", + "operation": "Register the Microsoft.AzureArcData", + "description": "Register the subscription for Microsoft.AzureArcData" + } + }, + { + "name": "Microsoft.AzureArcData/unregister/action", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "Microsoft.AzureArcData", + "operation": "Unregister the Microsoft.AzureArcData", + "description": "Unregister the subscription for Microsoft.AzureArcData" + } + }, + { + "name": "Microsoft.AzureArcData/Operations/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "Operations", + "operation": "read_Operations", + "description": "read Operations" + } + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListSubscriptionDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListSubscriptionDataController.json new file mode 100644 index 000000000000..d72082c3a742 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListSubscriptionDataController.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "metricsDashboardCredential": { + "username": "username" + }, + "logsDashboardCredential": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController1", + "name": "testdataController1", + "type": "Microsoft.AzureArcData/dataControllers" + }, + { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "metricsDashboardCredential": { + "username": "username" + }, + "logsDashboardCredential": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension" + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController2", + "name": "testdataController2", + "type": "Microsoft.AzureArcData/dataControllers" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListSubscriptionPostgresInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListSubscriptionPostgresInstance.json new file mode 100644 index 000000000000..fc076ad558ea --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListSubscriptionPostgresInstance.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "basicLoginInformation": { + "username": "username" + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "default", + "tier": "Hyperscale", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstances/testpostgresInstances1", + "name": "testpostgresInstances1", + "type": "Microsoft.AzureArcData/PostgresInstances" + }, + { + "properties": { + "basicLoginInformation": { + "username": "username" + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "default", + "tier": "Hyperscale", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstances/testpostgresInstances2", + "name": "testpostgresInstances2", + "type": "Microsoft.AzureArcData/PostgresInstances" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListSubscriptionSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListSubscriptionSqlManagedInstance.json new file mode 100644 index 000000000000..3f125efbd360 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListSubscriptionSqlManagedInstance.json @@ -0,0 +1,163 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "activeDirectoryInformation": { + "keytabInformation": {} + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + }, + "security": { + "adminLoginSecret": "test-sql-login-secret", + "serviceCertificateSecret": "Service Certificate Secret", + "activeDirectory": { + "connector": { + "name": "Name of connector", + "namespace": "Namespace of connector" + }, + "accountName": "Account name", + "keytabSecret": "Key tab secret of account", + "encryptionTypes": [ + "Encryption type item1, Encryption type item2,..." + ] + }, + "transparentDataEncryption": { + "mode": "SystemManaged" + } + }, + "settings": { + "network": { + "forceencryption": 0, + "tlsciphers": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384", + "tlsprotocols": "1.2" + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlManagedInstances/sqlManagedInstance1", + "name": "sqlManagedInstances1", + "type": "Microsoft.AzureArcData/sqlManagedInstances" + }, + { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "activeDirectoryInformation": { + "keytabInformation": {} + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlManagedInstances/sqlManagedInstance2", + "name": "sqlManagedInstances2", + "type": "Microsoft.AzureArcData/sqlManagedInstances" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListSubscriptionSqlServerEsuLicense.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListSubscriptionSqlServerEsuLicense.json new file mode 100644 index 000000000000..d75e8e6a340a --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListSubscriptionSqlServerEsuLicense.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "billingPlan": "PAYG", + "version": "SQL Server 2012", + "uniqueId": "00000000-1111-2222-3333-444444444444", + "physicalCores": 24, + "activationState": "Inactive", + "scopeType": "Subscription", + "activatedAt": "2020-01-01T17:18:19.1234567Z", + "terminatedAt": "2020-01-01T17:18:19.1234567Z", + "tenantId": "89fdfcc3-4c62-41c3-93c4-16bae3bcf5ea" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerEsuLicenses/sqlServerEsuLicense1", + "name": "sqlServerEsuLicense1", + "type": "Microsoft.AzureArcData/sqlServerEsuLicenses" + }, + { + "properties": { + "billingPlan": "PAYG", + "version": "SQL Server 2012", + "uniqueId": "00000000-1111-2222-3333-444444444444", + "physicalCores": 24, + "activationState": "Inactive", + "scopeType": "Subscription", + "activatedAt": "2020-01-01T17:18:19.1234567Z", + "terminatedAt": "2020-01-01T17:18:19.1234567Z", + "tenantId": "89fdfcc3-4c62-41c3-93c4-16bae3bcf5ea" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerEsuLicenses/sqlServerEsuLicense2", + "name": "sqlServerEsuLicense2", + "type": "Microsoft.AzureArcData/sqlServerEsuLicenses" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListSubscriptionSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListSubscriptionSqlServerInstance.json new file mode 100644 index 000000000000..28097d806c6e --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListSubscriptionSqlServerInstance.json @@ -0,0 +1,249 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "version": "SQL Server 2012", + "edition": "Developer", + "containerResourceId": "Resource id of hosting Arc Machine", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "dbMasterKeyExists": true, + "isHadrEnabled": true, + "traceFlags": [ + 1800, + 9567 + ], + "currentVersion": "2008 R2", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "cores": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "azureDefenderStatus": "Protected", + "status": "Registered", + "hostType": "Physical Server", + "lastInventoryUploadTime": "2023-03-29T14:13:12Z", + "lastUsageUploadTime": "2023-03-29T14:13:12Z", + "alwaysOnRole": "FailoverClusterInstance", + "failoverCluster": { + "id": "f836af7e-85ed-4ea4-91fb-67709b34e323", + "networkName": "networkNameOfSQLFCI", + "sqlInstanceIds": [ + "/subscriptions/dummySub/resourceGroups/dummyRG/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServer1", + "/subscriptions/dummySub/resourceGroups/dummyRG/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServer2" + ], + "hostNames": [ + "DEV-HOSTNAME1", + "DEV-HOSTNAME2" + ] + }, + "backupPolicy": { + "retentionPeriodDays": 1, + "fullBackupDays": 1, + "differentialBackupHours": 12, + "transactionLogBackupMinutes": 30 + }, + "upgradeLockedUntil": "2022-05-05T16:26:33.883Z", + "monitoring": { + "enabled": false + }, + "migration": { + "assessment": { + "enabled": false + } + }, + "clientConnection": { + "enabled": false + }, + "serviceType": "Engine" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance1", + "name": "sqlServerInstance1", + "type": "Microsoft.AzureArcData/SqlServerInstances" + }, + { + "properties": { + "version": "SQL Server 2017", + "edition": "Developer", + "containerResourceId": "Arc Machine Name", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "dbMasterKeyExists": true, + "isHadrEnabled": true, + "traceFlags": [ + 1800, + 9567 + ], + "currentVersion": "2008 R2", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "cores": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "azureDefenderStatus": "Protected", + "lastInventoryUploadTime": "2023-03-29T14:13:12Z", + "lastUsageUploadTime": "2023-03-29T14:13:12Z", + "status": "Connected", + "databaseMirroringEndpoint": { + "endpointName": "testMirroringEndpoint", + "role": "PARTNER", + "isEncryptionEnabled": true, + "encryptionAlgorithm": "AES", + "connectionAuth": "Certificate", + "port": 12345, + "isDynamicPort": false, + "ipAddress": "123.124.125.126", + "certificateName": "testCertificateName" + }, + "monitoring": { + "enabled": false + }, + "migration": { + "assessment": { + "enabled": true, + "assessmentUploadTime": "2024-03-15T00:16:11.0000000Z", + "serverAssessments": [ + { + "appliesToMigrationTargetPlatform": "AzureSqlDatabase", + "featureId": "TraceFlags", + "impactedObjects": [ + { + "impactDetail": "", + "name": "8017", + "objectType": "TraceFlag" + } + ], + "issueCategory": "Warning", + "moreInformation": "Resolving Transact-SQL differences during migration to SQL Database" + }, + { + "appliesToMigrationTargetPlatform": "AzureSqlManagedInstance", + "featureId": "TraceFlags", + "impactedObjects": [ + { + "impactDetail": "", + "name": "8017", + "objectType": "TraceFlag" + } + ], + "issueCategory": "Warning", + "moreInformation": "Trace Flags" + } + ], + "skuRecommendationResults": { + "azureSqlDatabase": { + "recommendationStatus": "Ready", + "numberOfServerBlockerIssues": 0, + "targetSku": { + "category": { + "computeTier": "Provisioned", + "hardwareType": "Gen5", + "sqlPurchasingModel": "vCore", + "sqlServiceTier": "General Purpose", + "zoneRedundancyAvailable": false + } + }, + "monthlyCost": { + "computeCost": 245.13, + "storageCost": 0.18, + "totalCost": 245.31 + } + }, + "azureSqlManagedInstance": { + "recommendationStatus": "Ready", + "numberOfServerBlockerIssues": 0, + "targetSku": { + "category": { + "computeTier": "Provisioned", + "hardwareType": "Gen5", + "sqlPurchasingModel": "vCore", + "sqlServiceTier": "General Purpose", + "zoneRedundancyAvailable": false + } + }, + "monthlyCost": { + "computeCost": 490.26, + "storageCost": 0, + "totalCost": 490.26 + } + }, + "azureSqlVirtualMachine": { + "recommendationStatus": "Ready", + "numberOfServerBlockerIssues": 0, + "targetSku": { + "category": { + "availableVmSkus": [ + "Standard_D16as_v4", + "Standard_D2as_v4", + "Standard_D32as_v4", + "Standard_D48as_v4", + "Standard_D4as_v4", + "Standard_D64as_v4", + "Standard_D8as_v4", + "Standard_D96as_v4" + ], + "virtualMachineFamily": "standardDASv4Family" + } + }, + "monthlyCost": { + "computeCost": 81.98, + "storageCost": 2.4, + "totalCost": 84.38 + } + } + } + } + }, + "clientConnection": { + "enabled": false + }, + "serviceType": "SSRS" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance2", + "name": "sqlServerInstance2", + "type": "Microsoft.AzureArcData/SqlServerInstances" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListSubscriptionSqlServerLicense.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListSubscriptionSqlServerLicense.json new file mode 100644 index 000000000000..3628189c69cc --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ListSubscriptionSqlServerLicense.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "billingPlan": "PAYG", + "licenseCategory": "Core", + "physicalCores": 24, + "activationState": "Deactivated", + "scopeType": "Subscription", + "lastActivatedAt": "2020-01-01T17:18:19.1234567Z", + "lastDeactivatedAt": "2020-01-01T17:18:19.1234567Z", + "tenantId": "89fdfcc3-4c62-41c3-93c4-16bae3bcf5ea" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerLicenses/sqlServerLicense1", + "name": "sqlServerLicense1", + "type": "Microsoft.AzureArcData/SqlServerLicenses" + }, + { + "properties": { + "billingPlan": "PAYG", + "licenseCategory": "Core", + "physicalCores": 24, + "activationState": "Deactivated", + "scopeType": "Subscription", + "lastActivatedAt": "2020-01-01T17:18:19.1234567Z", + "lastDeactivatedAt": "2020-01-01T17:18:19.1234567Z", + "tenantId": "89fdfcc3-4c62-41c3-93c4-16bae3bcf5ea" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerLicenses/sqlServerLicense2", + "name": "sqlServerLicense2", + "type": "Microsoft.AzureArcData/SqlServerLicenses" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/PostUpgradeSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/PostUpgradeSqlServerInstance.json new file mode 100644 index 000000000000..1b61623f7a4d --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/PostUpgradeSqlServerInstance.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlServerInstance", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "version": "SQL Server 2012", + "edition": "Developer", + "containerResourceId": "Resource id of hosting Arc Machine", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "dbMasterKeyExists": true, + "isHadrEnabled": true, + "traceFlags": [ + 1800, + 9567 + ], + "currentVersion": "2012", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "cores": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "azureDefenderStatus": "Protected", + "status": "Registered", + "hostType": "Physical Server", + "lastInventoryUploadTime": "2023-03-29T14:13:12Z", + "alwaysOnRole": "FailoverClusterInstance", + "failoverCluster": { + "id": "f836af7e-85ed-4ea4-91fb-67709b34e323", + "networkName": "networkNameOfSQLFCI", + "sqlInstanceIds": [ + "/subscriptions/dummySub/resourceGroups/dummyRG/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServer1", + "/subscriptions/dummySub/resourceGroups/dummyRG/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServer2" + ], + "hostNames": [ + "DEV-HOSTNAME1", + "DEV-HOSTNAME2" + ] + }, + "backupPolicy": { + "retentionPeriodDays": 1, + "fullBackupDays": 1, + "differentialBackupHours": 12, + "transactionLogBackupMinutes": 30 + }, + "upgradeLockedUntil": "2022-05-05T16:26:33.883Z", + "serviceType": "Engine" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance", + "name": "testsqlServerInstance", + "type": "Microsoft.AzureArcData/SqlServerInstances" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/PreUpgradeSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/PreUpgradeSqlServerInstance.json new file mode 100644 index 000000000000..1b61623f7a4d --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/PreUpgradeSqlServerInstance.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlServerInstance", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "version": "SQL Server 2012", + "edition": "Developer", + "containerResourceId": "Resource id of hosting Arc Machine", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "dbMasterKeyExists": true, + "isHadrEnabled": true, + "traceFlags": [ + 1800, + 9567 + ], + "currentVersion": "2012", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "cores": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "azureDefenderStatus": "Protected", + "status": "Registered", + "hostType": "Physical Server", + "lastInventoryUploadTime": "2023-03-29T14:13:12Z", + "alwaysOnRole": "FailoverClusterInstance", + "failoverCluster": { + "id": "f836af7e-85ed-4ea4-91fb-67709b34e323", + "networkName": "networkNameOfSQLFCI", + "sqlInstanceIds": [ + "/subscriptions/dummySub/resourceGroups/dummyRG/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServer1", + "/subscriptions/dummySub/resourceGroups/dummyRG/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServer2" + ], + "hostNames": [ + "DEV-HOSTNAME1", + "DEV-HOSTNAME2" + ] + }, + "backupPolicy": { + "retentionPeriodDays": 1, + "fullBackupDays": 1, + "differentialBackupHours": 12, + "transactionLogBackupMinutes": 30 + }, + "upgradeLockedUntil": "2022-05-05T16:26:33.883Z", + "serviceType": "Engine" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance", + "name": "testsqlServerInstance", + "type": "Microsoft.AzureArcData/SqlServerInstances" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/RemoveDatabasesFromAvailabilityGroup.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/RemoveDatabasesFromAvailabilityGroup.json new file mode 100644 index 000000000000..aa30961dbe28 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/RemoveDatabasesFromAvailabilityGroup.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testSqlServer_INST1", + "availabilityGroupName": "testAG", + "databases": { + "values": [ + "db1" + ] + }, + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST1/availabilityGroups/testAG", + "name": "testAG", + "type": "Microsoft.AzureArcData/sqlServerInstances/availabilityGroups", + "properties": { + "availabilityGroupId": "00000000-1111-2222-3333-444444444444", + "serverName": "testSqlServer", + "instanceName": "INST1", + "collectionTimestamp": "2022-05-05T16:26:33.883Z", + "info": { + "failureConditionLevel": 3, + "healthCheckTimeout": 30000, + "automatedBackupPreferenceDescription": "SECONDARY", + "version": 0, + "basicFeatures": false, + "dtcSupport": false, + "dbFailover": true, + "isDistributed": false, + "clusterTypeDescription": "WSFC", + "requiredSynchronizedSecondariesToCommit": 0, + "isContained": false, + "primaryReplica": "testSqlServer\\INST1", + "primaryRecoveryHealthDescription": "ONLINE", + "secondaryRecoveryHealthDescription": null, + "synchronizationHealthDescription": "HEALTHY", + "replicationPartnerType": null + }, + "replicas": { + "value": [ + { + "replicaId": "00000000-1111-2222-3333-444444444444", + "replicaName": "testSqlServer\\INST1", + "configure": { + "endpointName": "inst1DBMEndpoint", + "endpointUrl": "TCP://mytest60-0.mytest60-svc:5022", + "endpointConnectLogin": "NT Server\\MSSSQLSERVER", + "availabilityModeDescription": "SYNCHRONOUS_COMMIT", + "failoverModeDescription": "EXTERNAL", + "sessionTimeout": 10, + "primaryRoleAllowConnectionsDescription": "ALL", + "secondaryRoleAllowConnectionsDescription": "ALL", + "replicaCreateDate": null, + "replicaModifyDate": null, + "backupPriority": 50, + "readOnlyRoutingUrl": null, + "readWriteRoutingUrl": null, + "seedingModeDescription": "AUTOMATIC" + }, + "state": { + "availabilityGroupReplicaRole": "SECONDARY", + "operationalStateDescription": "ONLINE", + "recoveryHealthDescription": "ONLINE_IN_PROGRESS", + "synchronizationHealthDescription": "HEALTHY", + "connectedStateDescription": "CONNECTED", + "lastConnectErrorDescription": "", + "lastConnectErrorTimestamp": "2022-05-05T16:26:33.883Z" + } + } + ] + }, + "databases": { + "value": [ + { + "databaseName": "db1", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + }, + { + "databaseName": "db2", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + } + ] + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + } + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/RunMigrationAssessmentSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/RunMigrationAssessmentSqlServerInstance.json new file mode 100644 index 000000000000..cc3d31a05092 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/RunMigrationAssessmentSqlServerInstance.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlserver", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/a5082b19-8a6e-4bc5-8fdd-8ef39dfebc39/resourceGroups/alzahedi-rg-easyup/providers/Microsoft.AzureArcData/sqlServerInstances/arcee-dev/jobs/235e045f:2D5237:2D38eb:2Db8fa:2Df0f549d1d7d9MigrationJobOnDemand", + "instanceName": "MSSQLSERVER", + "jobStatus": "InProgress", + "jobException": null, + "backgroundJob": { + "state": "Enabled", + "executionState": "Waiting", + "startTime": "2024-02-22T00:04:06.88265-08:00", + "endTime": "2024-03-15T02:04:06.88265-07:00", + "lastExecutionTime": null, + "lastExecutionStatus": null + }, + "sequencerActions": [ + { + "actionId": ":2Fsubscriptions:2Fa5082b19:2D8a6e:2D4bc5:2D8fdd:2D8ef39dfebc39:2FresourceGroups:2Falzahedi:2Drg:2Deasyup:2Fproviders:2FMicrosoft:2EAzureArcData:2FsqlServerInstances:2Farcee:2Ddev:2Faction:2FMicrosoft:2ESqlServer:2EManagement:2EMigrationAssessmentPlugin:2EActions:2ERunOnDemandMigrationJob", + "state": "NotStarted", + "result": "NotCompleted" + }, + { + "actionId": "system.last", + "state": "NotStarted", + "result": "NotCompleted" + }, + { + "actionId": "system.first", + "state": "NotStarted", + "result": "NotCompleted" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdateArcSqlServerAvailabilityGroup.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdateArcSqlServerAvailabilityGroup.json new file mode 100644 index 000000000000..7b832da95c86 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdateArcSqlServerAvailabilityGroup.json @@ -0,0 +1,123 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testSqlServer_INST1", + "api-version": "2024-05-01-preview", + "availabilityGroupName": "testAG", + "sqlServerAvailabilityGroupUpdate": { + "tags": { + "mytag": "myval1" + } + } + }, + "responses": { + "200": { + "body": { + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST1/availabilityGroups/testAG", + "name": "testAG", + "type": "Microsoft.AzureArcData/sqlServerInstances/availabilityGroups", + "properties": { + "availabilityGroupId": "00000000-1111-2222-3333-444444444444", + "serverName": "testSqlServer", + "instanceName": "INST1", + "collectionTimestamp": "2022-05-05T16:26:33.883Z", + "info": { + "failureConditionLevel": 3, + "healthCheckTimeout": 30000, + "automatedBackupPreferenceDescription": "SECONDARY", + "version": 0, + "basicFeatures": false, + "dtcSupport": false, + "dbFailover": true, + "isDistributed": false, + "clusterTypeDescription": "WSFC", + "requiredSynchronizedSecondariesToCommit": 0, + "isContained": false, + "primaryReplica": "testSqlServer\\INST1", + "primaryRecoveryHealthDescription": "ONLINE", + "secondaryRecoveryHealthDescription": null, + "synchronizationHealthDescription": "HEALTHY", + "replicationPartnerType": null + }, + "replicas": { + "value": [ + { + "replicaId": "00000000-1111-2222-3333-444444444444", + "replicaName": "testSqlServer\\INST1", + "configure": { + "endpointName": "inst1DBMEndpoint", + "endpointUrl": "TCP://mytest60-0.mytest60-svc:5022", + "endpointConnectLogin": "NT Server\\MSSSQLSERVER", + "availabilityModeDescription": "SYNCHRONOUS_COMMIT", + "failoverModeDescription": "EXTERNAL", + "sessionTimeout": 10, + "primaryRoleAllowConnectionsDescription": "ALL", + "secondaryRoleAllowConnectionsDescription": "ALL", + "replicaCreateDate": null, + "replicaModifyDate": null, + "backupPriority": 50, + "readOnlyRoutingUrl": null, + "readWriteRoutingUrl": null, + "seedingModeDescription": "AUTOMATIC" + }, + "state": { + "availabilityGroupReplicaRole": "SECONDARY", + "operationalStateDescription": "ONLINE", + "recoveryHealthDescription": "ONLINE_IN_PROGRESS", + "synchronizationHealthDescription": "HEALTHY", + "connectedStateDescription": "CONNECTED", + "lastConnectErrorDescription": "", + "lastConnectErrorTimestamp": "2022-05-05T16:26:33.883Z" + } + } + ] + }, + "databases": { + "value": [ + { + "databaseName": "db1", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + }, + { + "databaseName": "db2", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + } + ] + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval1" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.AzureArcData/operationResults/id1" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdateDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdateDataController.json new file mode 100644 index 000000000000..0a9f86e48554 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdateDataController.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController1", + "api-version": "2024-05-01-preview", + "dataControllerResource": { + "tags": { + "mytag": "myval" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "metricsDashboardCredential": { + "username": "username" + }, + "logsDashboardCredential": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController1", + "name": "testdataController1", + "type": "Microsoft.AzureArcData/dataControllers" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.AzureArcData/operationResults/id1" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdatePostgresInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdatePostgresInstance.json new file mode 100644 index 000000000000..25f2a2d65b8d --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdatePostgresInstance.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "postgresInstanceName": "testpostgresInstance", + "api-version": "2024-05-01-preview", + "parameters": { + "tags": { + "mytag": "myval" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "basicLoginInformation": { + "username": "username" + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "default", + "tier": "Hyperscale", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstance/testpostgresInstance", + "name": "testpostgresInstance", + "type": "Microsoft.AzureArcData/PostgresInstance" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdateSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdateSqlManagedInstance.json new file mode 100644 index 000000000000..480c85ef5bfc --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdateSqlManagedInstance.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlManagedInstanceName": "testsqlManagedInstance", + "api-version": "2024-05-01-preview", + "parameters": { + "tags": { + "mytag": "myval" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "activeDirectoryInformation": { + "keytabInformation": {} + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + }, + "security": { + "adminLoginSecret": "test-sql-login-secret", + "serviceCertificateSecret": "Service Certificate Secret", + "activeDirectory": { + "connector": { + "name": "Name of connector", + "namespace": "Namespace of connector" + }, + "accountName": "Account name", + "keytabSecret": "Key tab secret of account", + "encryptionTypes": [ + "Encryption type item1, Encryption type item2,..." + ] + }, + "transparentDataEncryption": { + "mode": "SystemManaged" + } + }, + "settings": { + "network": { + "forceencryption": 0, + "tlsciphers": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384", + "tlsprotocols": "1.2" + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance", + "name": "testsqlManagedInstance", + "type": "Microsoft.AzureArcData/sqlManagedInstances" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdateSqlServerDatabase.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdateSqlServerDatabase.json new file mode 100644 index 000000000000..77de4a6e8db8 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdateSqlServerDatabase.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlManagedInstance", + "api-version": "2024-05-01-preview", + "databaseName": "testdb", + "sqlServerDatabaseUpdate": { + "tags": { + "mytag": "myval1" + } + } + }, + "responses": { + "200": { + "body": { + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/testSqlServerInstance/testsqlManagedInstance/databases/testdb", + "name": "testdb", + "type": "Microsoft.AzureArcData/sqlServerInstances/databases", + "properties": { + "collationName": "SQL_Latin1_General_CP1_CI_AS", + "databaseCreationDate": "2022-04-05T16:26:33.883Z", + "compatibilityLevel": 150, + "state": "Online", + "isReadOnly": true, + "recoveryMode": "Full", + "sizeMB": 150.00, + "spaceAvailableMB": 100.00, + "databaseOptions": { + "isAutoCloseOn": true, + "isAutoShrinkOn": true, + "isAutoCreateStatsOn": true, + "isAutoUpdateStatsOn": true, + "isMemoryOptimizationEnabled": true, + "isRemoteDataArchiveEnabled": true, + "isEncrypted": true, + "isTrustworthyOn": true + }, + "backupInformation": { + "lastFullBackup": "2022-05-05T16:26:33.883Z", + "lastLogBackup": "2022-05-10T16:26:33.883Z" + }, + "backupPolicy": { + "retentionPeriodDays": 1, + "fullBackupDays": 1, + "differentialBackupHours": 12, + "transactionLogBackupMinutes": 30 + }, + "migration": { + "assessment": { + "assessmentUploadTime": "2024-03-15T00:14:52.0000000Z", + "databaseAssessments": [ + { + "appliesToMigrationTargetPlatform": "AzureSqlDatabase", + "featureId": "ServiceBroker", + "issueCategory": "Issue", + "moreInformation": "" + } + ], + "targetReadiness": { + "azureSqlDatabase": { + "numOfBlockerIssues": 0, + "recommendationStatus": "Ready" + }, + "azureSqlManagedInstance": { + "numOfBlockerIssues": 0, + "recommendationStatus": "Ready" + }, + "azureSqlVirtualMachine": { + "numOfBlockerIssues": 0, + "recommendationStatus": "Ready" + } + } + } + }, + "earliestRestoreDate": "2022-05-10T16:26:33.883Z", + "createMode": "PointInTimeRestore", + "sourceDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/testSqlServerInstance/testsqlManagedInstance/databases/MyDatabase", + "restorePointInTime": "2022-05-05T16:26:33.883Z", + "lastDatabaseUploadTime": "2023-03-29T14:13:12Z" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval1" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.AzureArcData/operationResults/id1" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdateSqlServerEsuLicense.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdateSqlServerEsuLicense.json new file mode 100644 index 000000000000..9c8ec40997d8 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdateSqlServerEsuLicense.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerEsuLicenseName": "testsqlServerEsuLicense", + "api-version": "2024-05-01-preview", + "parameters": { + "properties": { + "billingPlan": "Paid", + "physicalCores": 28, + "activationState": "Active" + }, + "tags": { + "mytag": "myval" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "billingPlan": "Paid", + "version": "SQL Server 2012", + "physicalCores": 28, + "activationState": "Active", + "scopeType": "Subscription", + "activatedAt": "2020-01-01T17:18:19.1234567Z", + "terminatedAt": "2020-01-01T17:18:19.1234567Z", + "tenantId": "89fdfcc3-4c62-41c3-93c4-16bae3bcf5ea" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerEsuLicenses/testsqlServerEsuLicense", + "name": "testsqlServerEsuLicense", + "type": "Microsoft.AzureArcData/sqlServerEsuLicenses" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdateSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdateSqlServerInstance.json new file mode 100644 index 000000000000..e51b1168d586 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdateSqlServerInstance.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlServerInstance", + "api-version": "2024-05-01-preview", + "parameters": { + "tags": { + "mytag": "myval" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "version": "SQL Server 2012", + "edition": "Developer", + "containerResourceId": "Resource id of hosting Arc Machine", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "dbMasterKeyExists": true, + "isHadrEnabled": true, + "traceFlags": [ + 1800, + 9567 + ], + "currentVersion": "2012", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "cores": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "azureDefenderStatus": "Protected", + "status": "Registered", + "hostType": "Physical Server", + "lastInventoryUploadTime": "2023-03-29T14:13:12Z", + "lastUsageUploadTime": "2023-03-29T14:13:12Z", + "alwaysOnRole": "FailoverClusterInstance", + "failoverCluster": { + "id": "f836af7e-85ed-4ea4-91fb-67709b34e323", + "networkName": "networkNameOfSQLFCI", + "sqlInstanceIds": [ + "/subscriptions/dummySub/resourceGroups/dummyRG/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServer1", + "/subscriptions/dummySub/resourceGroups/dummyRG/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServer2" + ], + "hostNames": [ + "DEV-HOSTNAME1", + "DEV-HOSTNAME2" + ] + }, + "backupPolicy": { + "retentionPeriodDays": 1, + "fullBackupDays": 1, + "differentialBackupHours": 12, + "transactionLogBackupMinutes": 30 + }, + "upgradeLockedUntil": "2022-05-05T16:26:33.883Z", + "serviceType": "Engine" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance", + "name": "testsqlServerInstance", + "type": "Microsoft.AzureArcData/SqlServerInstances" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.AzureArcData/operationResults/id1" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdateSqlServerLicense.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdateSqlServerLicense.json new file mode 100644 index 000000000000..8629697226b0 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/UpdateSqlServerLicense.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerLicenseName": "testsqlServerLicense", + "api-version": "2024-05-01-preview", + "parameters": { + "tags": { + "mytag": "myval" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "billingPlan": "PAYG", + "licenseCategory": "Core", + "physicalCores": 24, + "activationState": "Deactivated", + "scopeType": "Subscription", + "lastActivatedAt": "2020-01-01T17:18:19.1234567Z", + "lastDeactivatedAt": "2020-01-01T17:18:19.1234567Z", + "tenantId": "89fdfcc3-4c62-41c3-93c4-16bae3bcf5ea" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerLicenses/testsqlServerLicense", + "name": "testsqlServerLicense", + "type": "Microsoft.AzureArcData/SqlServerLicenses" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ViewArcSqlServerAvailabilityGroup.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ViewArcSqlServerAvailabilityGroup.json new file mode 100644 index 000000000000..a329e153da55 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/examples/ViewArcSqlServerAvailabilityGroup.json @@ -0,0 +1,183 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testSqlServer_INST1", + "availabilityGroupName": "testAG", + "api-version": "2024-05-01-preview", + "sqlServerAvailabilityGroupResource": { + "location": "southeastasia", + "tags": { + "mytag": "myval" + }, + "properties": { + "availabilityGroupId": "00000000-1111-2222-3333-444444444444", + "serverName": "testSqlServer", + "instanceName": "INST1", + "collectionTimestamp": "2022-05-05T16:26:33.883Z", + "info": { + "failureConditionLevel": 3, + "healthCheckTimeout": 30000, + "automatedBackupPreferenceDescription": "SECONDARY", + "version": 0, + "basicFeatures": false, + "dtcSupport": false, + "dbFailover": true, + "isDistributed": false, + "clusterTypeDescription": "WSFC", + "requiredSynchronizedSecondariesToCommit": 0, + "isContained": false, + "primaryReplica": "testSqlServer\\INST1", + "primaryRecoveryHealthDescription": "ONLINE", + "secondaryRecoveryHealthDescription": null, + "synchronizationHealthDescription": "HEALTHY", + "replicationPartnerType": null + }, + "replicas": { + "value": [ + { + "replicaId": "00000000-1111-2222-3333-444444444444", + "replicaName": "testSqlServer\\INST1", + "configure": { + "endpointName": "inst1DBMEndpoint", + "endpointUrl": "TCP://mytest60-0.mytest60-svc:5022", + "endpointConnectLogin": "NT Server\\MSSSQLSERVER", + "availabilityModeDescription": "SYNCHRONOUS_COMMIT", + "failoverModeDescription": "EXTERNAL", + "sessionTimeout": 10, + "primaryRoleAllowConnectionsDescription": "ALL", + "secondaryRoleAllowConnectionsDescription": "ALL", + "replicaCreateDate": null, + "replicaModifyDate": null, + "backupPriority": 50, + "readOnlyRoutingUrl": null, + "readWriteRoutingUrl": null, + "seedingModeDescription": "AUTOMATIC" + }, + "state": { + "availabilityGroupReplicaRole": "SECONDARY", + "operationalStateDescription": "ONLINE", + "recoveryHealthDescription": "ONLINE_IN_PROGRESS", + "synchronizationHealthDescription": "HEALTHY", + "connectedStateDescription": "CONNECTED", + "lastConnectErrorDescription": "", + "lastConnectErrorTimestamp": "2022-05-05T16:26:33.883Z" + } + } + ] + }, + "databases": { + "value": [ + { + "databaseName": "db1", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + }, + { + "databaseName": "db2", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST1/availabilityGroups/testAG", + "name": "testAG", + "type": "Microsoft.AzureArcData/sqlServerInstances/availabilityGroups", + "properties": { + "availabilityGroupId": "00000000-1111-2222-3333-444444444444", + "serverName": "testSqlServer", + "instanceName": "INST1", + "replicas": { + "value": [ + { + "replicaId": "00000000-1111-2222-3333-444444444444", + "replicaName": "testSqlServerInstance", + "configure": { + "endpointName": "inst1DBMEndpoint", + "endpointUrl": "TCP://mytest60-0.mytest60-svc:5022", + "endpointConnectLogin": "NT Server\\MSSSQLSERVER", + "availabilityModeDescription": "SYNCHRONOUS_COMMIT", + "failoverModeDescription": "EXTERNAL", + "sessionTimeout": 10, + "primaryRoleAllowConnectionsDescription": "ALL", + "secondaryRoleAllowConnectionsDescription": "ALL", + "replicaCreateDate": null, + "replicaModifyDate": null, + "backupPriority": 50, + "readOnlyRoutingUrl": null, + "readWriteRoutingUrl": null, + "seedingModeDescription": "AUTOMATIC" + }, + "state": { + "availabilityGroupReplicaRole": "SECONDARY", + "operationalStateDescription": "ONLINE", + "recoveryHealthDescription": "ONLINE_IN_PROGRESS", + "synchronizationHealthDescription": "HEALTHY", + "connectedStateDescription": "CONNECTED", + "lastConnectErrorDescription": "", + "lastConnectErrorTimestamp": "2022-05-05T16:26:33.883Z" + } + } + ] + }, + "databases": { + "value": [ + { + "databaseName": "db1", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + }, + { + "databaseName": "db2", + "replicaName": "testSqlServer\\INST1", + "isLocal": true, + "isPrimaryReplica": true, + "synchronizationStateDescription": "SYNCHRONIZED", + "isCommitParticipant": true, + "synchronizationHealthDescription": "HEALTHY", + "databaseStateDescription": "ONLINE", + "isSuspended": false + } + ] + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + } + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/failoverGroups.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/failoverGroups.json new file mode 100644 index 000000000000..396d72260627 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/failoverGroups.json @@ -0,0 +1,157 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-05-01-preview", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "paths": {}, + "definitions": { + "FailoverGroupListResult": { + "description": "A list of failover groups.", + "type": "object", + "properties": { + "value": { + "description": "Array of failover group results.", + "type": "array", + "items": { + "$ref": "#/definitions/FailoverGroupResource" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "FailoverGroupResource": { + "type": "object", + "description": "A failover group resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/FailoverGroupProperties", + "description": "null", + "x-ms-client-flatten": false + } + }, + "required": [ + "properties" + ] + }, + "FailoverGroupProperties": { + "type": "object", + "description": "The properties of a failover group resource.", + "properties": { + "provisioningState": { + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Accepted" + ], + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + }, + "description": "The provisioning state of the failover group resource.", + "readOnly": true + }, + "partnerManagedInstanceId": { + "type": "string", + "description": "The resource ID of the partner SQL managed instance." + }, + "spec": { + "$ref": "#/definitions/FailoverGroupSpec", + "description": "The specifications of the failover group resource.", + "x-ms-client-flatten": false + }, + "status": { + "type": "object", + "description": "The status of the failover group custom resource." + } + }, + "additionalProperties": {}, + "required": [ + "partnerManagedInstanceId", + "spec" + ] + }, + "FailoverGroupSpec": { + "description": "The specifications of the failover group resource.", + "type": "object", + "properties": { + "sharedName": { + "type": "string", + "description": "The shared name of the failover group for this SQL managed instance. Both SQL managed instance and its partner have to use the same shared name." + }, + "sourceMI": { + "type": "string", + "description": "The name of the SQL managed instance with this failover group role." + }, + "partnerMI": { + "type": "string", + "description": "The name of the partner SQL managed instance." + }, + "partnerMirroringURL": { + "type": "string", + "description": "The mirroring endpoint URL of the partner SQL managed instance." + }, + "partnerMirroringCert": { + "type": "string", + "description": "The mirroring endpoint public certificate for the partner SQL managed instance. Only PEM format is supported." + }, + "partnerSyncMode": { + "type": "string", + "enum": [ + "async", + "sync" + ], + "x-ms-enum": { + "name": "failoverGroupPartnerSyncMode", + "modelAsString": true + }, + "default": "async", + "description": "The partner sync mode of the SQL managed instance." + }, + "role": { + "type": "string", + "enum": [ + "primary", + "secondary", + "force-primary-allow-data-loss", + "force-secondary" + ], + "x-ms-enum": { + "name": "instanceFailoverGroupRole", + "modelAsString": true + }, + "default": "primary", + "description": "The role of the SQL managed instance in this failover group." + } + }, + "additionalProperties": {}, + "required": [ + "role" + ] + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/operations.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/operations.json new file mode 100644 index 000000000000..70d26a7889e9 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/operations.json @@ -0,0 +1,125 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-05-01-preview", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "paths": {}, + "definitions": { + "Operation": { + "description": "Azure Data Services on Azure Arc operation definition.", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation being performed on this particular object.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "The localized display information for this particular operation / action." + }, + "origin": { + "description": "The intended executor of the operation.", + "enum": [ + "user", + "system" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "OperationOrigin", + "modelAsString": true + } + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "properties": { + "description": "Additional descriptions for the operation.", + "type": "object", + "additionalProperties": {}, + "readOnly": true, + "x-ms-client-flatten": false + } + }, + "required": [ + "name", + "display", + "isDataAction" + ] + }, + "OperationListResult": { + "description": "Result of the request to list Azure Data Services on Azure Arc operations.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "x-ms-identifiers": [ + "name" + ], + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "OperationDisplay": { + "description": "Display metadata associated with the operation.", + "type": "object", + "properties": { + "provider": { + "description": "The localized friendly form of the resource provider name.", + "type": "string" + }, + "resource": { + "description": "The localized friendly form of the resource type related to this action/operation.", + "type": "string" + }, + "operation": { + "description": "The localized friendly name for the operation.", + "type": "string" + }, + "description": { + "description": "The localized friendly description for the operation.", + "type": "string" + } + }, + "required": [ + "provider", + "resource", + "operation", + "description" + ] + } + }, + "parameters": { + "apiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the request", + "x-ms-parameter-location": "client" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/postgresInstances.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/postgresInstances.json new file mode 100644 index 000000000000..9a494464f170 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/postgresInstances.json @@ -0,0 +1,174 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-05-01-preview", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "paths": {}, + "definitions": { + "PostgresInstanceSku": { + "description": "The resource model definition representing SKU for Azure Database for PostgresSQL - Azure Arc", + "type": "object", + "properties": { + "tier": { + "type": "string", + "enum": [ + "Hyperscale" + ], + "x-ms-enum": { + "name": "PostgresInstanceSkuTier", + "modelAsString": false + }, + "default": "Hyperscale", + "description": "This field is required to be implemented by the Resource Provider if the service has more than one tier." + } + }, + "allOf": [ + { + "$ref": "./common.json#/definitions/CommonSku" + } + ] + }, + "PostgresInstanceProperties": { + "description": "Postgres Instance properties.", + "type": "object", + "properties": { + "dataControllerId": { + "type": "string", + "description": "The data controller id" + }, + "admin": { + "type": "string", + "description": "The instance admin" + }, + "basicLoginInformation": { + "$ref": "./common.json#/definitions/BasicLoginInformation", + "description": "Username and password for basic authentication." + }, + "k8sRaw": { + "type": "object", + "description": "The raw kubernetes information" + }, + "lastUploadedDate": { + "type": "string", + "format": "date-time", + "description": "Last uploaded date from Kubernetes cluster. Defaults to current date time" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The provisioning state of the Azure Arc-enabled PostgreSQL instance." + } + } + }, + "PostgresInstance": { + "description": "A Postgres Instance.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "extendedLocation": { + "$ref": "./common.json#/definitions/ExtendedLocation", + "description": "The extendedLocation of the resource." + }, + "properties": { + "$ref": "#/definitions/PostgresInstanceProperties", + "x-ms-client-flatten": false, + "description": "null" + }, + "sku": { + "$ref": "#/definitions/PostgresInstanceSku", + "description": "Resource sku." + } + }, + "required": [ + "properties" + ] + }, + "PostgresInstanceUpdate": { + "description": "An update to a Postgres Instance.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/PostgresInstanceProperties", + "x-ms-client-flatten": false + } + } + }, + "PostgresInstanceListResult": { + "description": "A list of PostgresInstance.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/PostgresInstance" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Azure subscription", + "x-ms-parameter-location": "client" + }, + "resourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure resource group", + "x-ms-parameter-location": "method" + }, + "location": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure region to use for the request", + "x-ms-parameter-location": "method" + }, + "apiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the request", + "x-ms-parameter-location": "client" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/sqlManagedInstances.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/sqlManagedInstances.json new file mode 100644 index 000000000000..86050e597106 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/sqlManagedInstances.json @@ -0,0 +1,403 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-05-01-preview", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "paths": {}, + "definitions": { + "SqlManagedInstance": { + "description": "A SqlManagedInstance.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SqlManagedInstanceProperties", + "description": "null", + "x-ms-client-flatten": false + }, + "extendedLocation": { + "$ref": "./common.json#/definitions/ExtendedLocation", + "description": "The extendedLocation of the resource." + }, + "sku": { + "$ref": "#/definitions/SqlManagedInstanceSku", + "description": "Resource sku." + } + }, + "required": [ + "properties" + ] + }, + "SqlManagedInstanceSku": { + "description": "The resource model definition representing SKU for Azure Managed Instance - Azure Arc", + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "vCore" + ], + "description": "The name of the SKU.", + "x-ms-enum": { + "name": "SqlManagedInstanceSkuName", + "modelAsString": false + } + }, + "tier": { + "type": "string", + "enum": [ + "GeneralPurpose", + "BusinessCritical" + ], + "x-ms-enum": { + "name": "SqlManagedInstanceSkuTier", + "modelAsString": false + }, + "default": "GeneralPurpose", + "description": "The pricing tier for the instance." + }, + "dev": { + "type": "boolean", + "default": true, + "description": "Whether dev/test is enabled. When the dev field is set to true, the resource is used for dev/test purpose. " + }, + "size": { + "type": "string", + "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. " + }, + "family": { + "type": "string", + "description": "The SKU family" + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "The SKU capacity" + } + }, + "required": [ + "name" + ] + }, + "SqlManagedInstanceProperties": { + "description": "Properties of sqlManagedInstance.", + "type": "object", + "properties": { + "dataControllerId": { + "type": "string", + "description": "null" + }, + "admin": { + "type": "string", + "description": "The instance admin user" + }, + "startTime": { + "type": "string", + "description": "The instance start time" + }, + "endTime": { + "type": "string", + "description": "The instance end time" + }, + "k8sRaw": { + "$ref": "#/definitions/SqlManagedInstanceK8sRaw", + "description": "The raw kubernetes information" + }, + "basicLoginInformation": { + "$ref": "./common.json#/definitions/BasicLoginInformation", + "description": "Username and password for basic authentication." + }, + "lastUploadedDate": { + "type": "string", + "format": "date-time", + "description": "Last uploaded date from Kubernetes cluster. Defaults to current date time" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The provisioning state of the Arc-enabled SQL Managed Instance resource." + }, + "activeDirectoryInformation": { + "description": "Active Directory information related to this SQL Managed Instance.", + "$ref": "#/definitions/ActiveDirectoryInformation" + }, + "licenseType": { + "type": "string", + "enum": [ + "BasePrice", + "LicenseIncluded", + "DisasterRecovery" + ], + "x-ms-enum": { + "name": "arcSqlManagedInstanceLicenseType", + "modelAsString": true + }, + "default": "BasePrice", + "description": "The license type to apply for this managed instance." + }, + "clusterId": { + "type": "string", + "description": "If a CustomLocation is provided, this contains the ARM id of the connected cluster the custom location belongs to." + }, + "extensionId": { + "type": "string", + "description": "If a CustomLocation is provided, this contains the ARM id of the extension the custom location belongs to." + } + } + }, + "SqlManagedInstanceUpdate": { + "description": "An update to a SQL Managed Instance.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "SqlManagedInstanceK8sRaw": { + "type": "object", + "description": "The raw kubernetes information.", + "properties": { + "spec": { + "$ref": "#/definitions/SqlManagedInstanceK8sSpec" + } + }, + "additionalProperties": {} + }, + "SqlManagedInstanceK8sSpec": { + "type": "object", + "description": "The kubernetes spec information.", + "properties": { + "scheduling": { + "$ref": "#/definitions/K8sScheduling" + }, + "replicas": { + "type": "integer", + "format": "int32", + "description": "This option specifies the number of SQL Managed Instance replicas that will be deployed in your Kubernetes cluster for high availability purposes. If sku.tier is BusinessCritical, allowed values are '2' or '3' with default of '3'. If sku.tier is GeneralPurpose, replicas must be '1'." + }, + "security": { + "$ref": "#/definitions/K8sSecurity" + }, + "settings": { + "$ref": "#/definitions/K8sSettings" + } + }, + "additionalProperties": {} + }, + "K8sScheduling": { + "type": "object", + "description": "The kubernetes scheduling information.", + "properties": { + "default": { + "$ref": "#/definitions/K8sSchedulingOptions" + } + }, + "additionalProperties": {} + }, + "K8sSchedulingOptions": { + "type": "object", + "description": "The kubernetes scheduling options. It describes restrictions used to help Kubernetes select appropriate nodes to host the database service", + "properties": { + "resources": { + "$ref": "#/definitions/K8sResourceRequirements" + } + }, + "additionalProperties": {} + }, + "K8sResourceRequirements": { + "type": "object", + "description": "The kubernetes resource limits and requests used to restrict or reserve resource usage.", + "properties": { + "requests": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Requests for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum 'memory' is '128Gi'." + }, + "limits": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Limits for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum 'memory' is '128Gi'." + } + }, + "additionalProperties": {} + }, + "K8sSecurity": { + "type": "object", + "description": "The kubernetes security information.", + "properties": { + "adminLoginSecret": { + "type": "string", + "description": "Admin login secret key" + }, + "serviceCertificateSecret": { + "type": "string", + "description": "Service certificate secret used" + }, + "activeDirectory": { + "$ref": "#/definitions/K8sActiveDirectory" + }, + "transparentDataEncryption": { + "$ref": "#/definitions/k8stransparentDataEncryption" + } + }, + "additionalProperties": {} + }, + "K8sActiveDirectory": { + "type": "object", + "description": "The kubernetes active directory information.", + "properties": { + "connector": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the connector" + }, + "namespace": { + "type": "string", + "description": "Name space of the connector" + } + } + }, + "accountName": { + "type": "string", + "description": "Account name for AAD" + }, + "keytabSecret": { + "type": "string", + "description": "Keytab secret used to authenticate with Active Directory." + }, + "encryptionTypes": { + "type": "array", + "description": "An array of encryption types", + "items": { + "type": "string" + } + } + } + }, + "k8stransparentDataEncryption": { + "type": "object", + "description": "Transparent data encryption information.", + "properties": { + "mode": { + "type": "string", + "description": "Transparent data encryption mode. Can be Service Managed, Customer managed or disabled" + }, + "protectorSecret": { + "type": "string", + "description": "Protector secret for customer managed Transparent data encryption mode" + } + } + }, + "K8sSettings": { + "type": "object", + "description": "The kubernetes settings information.", + "properties": { + "network": { + "$ref": "#/definitions/K8sNetworkSettings" + } + }, + "additionalProperties": {} + }, + "K8sNetworkSettings": { + "type": "object", + "description": "The kubernetes network settings information.", + "properties": { + "forceencryption": { + "type": "integer", + "format": "int32", + "description": "If 1, then SQL Server forces all connections to be encrypted. By default, this option is 0" + }, + "tlsciphers": { + "type": "string", + "description": "Specifies which ciphers are allowed by SQL Server for TLS" + }, + "tlsprotocols": { + "type": "string", + "description": "A comma-separated list of which TLS protocols are allowed by SQL Server" + } + } + }, + "KeytabInformation": { + "type": "object", + "description": "Keytab used for authenticate with Active Directory.", + "properties": { + "keytab": { + "type": "string", + "description": "A base64-encoded keytab.", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + }, + "ActiveDirectoryInformation": { + "type": "object", + "description": "Active Directory information that related to the resource.", + "properties": { + "keytabInformation": { + "description": "Keytab information that is used for the Sql Managed Instance when Active Directory authentication is used.", + "$ref": "#/definitions/KeytabInformation" + } + } + }, + "SqlManagedInstanceListResult": { + "description": "A list of SqlManagedInstance.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SqlManagedInstance" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "apiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the request", + "x-ms-parameter-location": "client" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/sqlServerAvailabilityGroups.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/sqlServerAvailabilityGroups.json new file mode 100644 index 000000000000..74120bb67ff2 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/sqlServerAvailabilityGroups.json @@ -0,0 +1,1573 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-05-01-preview", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}": { + "put": { + "tags": [ + "SqlServerAvailabilityGroups" + ], + "operationId": "SqlServerAvailabilityGroups_Create", + "description": "Creates or replaces an Arc Sql Server Availability Group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "sqlServerAvailabilityGroupResource", + "description": "The request body for availability group resource.", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/SqlServerAvailabilityGroupResource" + } + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "#/parameters/availabilityGroupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/SqlServerAvailabilityGroupResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SqlServerAvailabilityGroupResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create a Arc Sql Server availability group.": { + "$ref": "./examples/CreateOrUpdateArcSqlServerAvailabilityGroup.json" + } + } + }, + "delete": { + "tags": [ + "SqlServerAvailabilityGroups" + ], + "operationId": "SqlServerAvailabilityGroups_Delete", + "description": "Deletes an Arc Sql Server availability group resource.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "#/parameters/availabilityGroupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Resource deletion is in progress.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + } + }, + "204": { + "description": "The specified availability group does not exist." + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Deletes a availability group resource": { + "$ref": "./examples/DeleteArcSqlServerAvailabilityGroup.json" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "SqlServerAvailabilityGroups" + ], + "operationId": "SqlServerAvailabilityGroups_Get", + "description": "Retrieves an Arc Sql Server availability group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "#/parameters/availabilityGroupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SqlServerAvailabilityGroupResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Retrieves an Arc Sql Server availability group resource.": { + "$ref": "./examples/GetArcSqlServerAvailabilityGroup.json" + } + } + }, + "patch": { + "tags": [ + "SqlServerAvailabilityGroups" + ], + "description": "Updates an existing Availability Group.", + "operationId": "SqlServerAvailabilityGroups_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "#/parameters/availabilityGroupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "sqlServerAvailabilityGroupUpdate", + "in": "body", + "description": "The requested server availability group resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/SqlServerAvailabilityGroupUpdate" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated the Availability Group.", + "schema": { + "$ref": "#/definitions/SqlServerAvailabilityGroupResource" + } + }, + "202": { + "description": "Resource update is in progress.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update an availability group.": { + "$ref": "./examples/UpdateArcSqlServerAvailabilityGroup.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/getDetailView": { + "post": { + "tags": [ + "SqlServerAvailabilityGroups" + ], + "description": "Retrieves detailed properties of the Availability Group.", + "operationId": "SqlServerAvailabilityGroups_DetailView", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "#/parameters/availabilityGroupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the Run-time detailed properties of the Availability Group.", + "schema": { + "$ref": "#/definitions/SqlServerAvailabilityGroupResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "detail view for a server availability group.": { + "$ref": "./examples/ViewArcSqlServerAvailabilityGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/failover": { + "post": { + "tags": [ + "SqlServerAvailabilityGroups" + ], + "description": "Request manual failover of the availability group to this server.", + "operationId": "SqlServerAvailabilityGroups_Failover", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "#/parameters/availabilityGroupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully requested failover of the Availability Group.", + "schema": { + "$ref": "#/definitions/SqlServerAvailabilityGroupResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "availability group manual failover to this server.": { + "$ref": "./examples/FailoverArcSqlServerAvailabilityGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/forceFailoverAllowDataLoss": { + "post": { + "tags": [ + "SqlServerAvailabilityGroups" + ], + "description": "Request forced failover of the availability group to this server.", + "operationId": "SqlServerAvailabilityGroups_ForceFailoverAllowDataLoss", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "#/parameters/availabilityGroupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully requested forced failover of the Availability Group.", + "schema": { + "$ref": "#/definitions/SqlServerAvailabilityGroupResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "availability group force failover to this server.": { + "$ref": "./examples/ForceFailoverArcSqlServerAvailabilityGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/createAvailabilityGroup": { + "post": { + "tags": [ + "SqlServerAvailabilityGroups" + ], + "description": "Create a SQL Server availability group", + "operationId": "SqlServerAvailabilityGroups_CreateAvailabilityGroup", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createAgConfiguration", + "in": "body", + "description": "The configuration for the new SQL Server availability group resource.", + "required": true, + "schema": { + "$ref": "#/definitions/AvailabilityGroupCreateUpdateConfiguration" + } + } + ], + "responses": { + "200": { + "description": "Successfully created the Availability Group.", + "schema": { + "$ref": "#/definitions/SqlServerAvailabilityGroupResource" + } + }, + "202": { + "description": "Availability group creation is in progress.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create an availability group using this server for the primary replica.": { + "$ref": "./examples/CreateSqlServerAvailabilityGroup.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/createDistributedAvailabilityGroup": { + "post": { + "tags": [ + "SqlServerAvailabilityGroups" + ], + "description": "Create a SQL Server distributed availability group", + "operationId": "SqlServerAvailabilityGroups_CreateDistributedAvailabilityGroup", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createDagConfiguration", + "in": "body", + "description": "The configuration for the new SQL Server availability group resource.", + "required": true, + "schema": { + "$ref": "#/definitions/DistributedAvailabilityGroupCreateUpdateConfiguration" + } + } + ], + "responses": { + "200": { + "description": "Successfully created the Availability Group.", + "schema": { + "$ref": "#/definitions/SqlServerAvailabilityGroupResource" + } + }, + "202": { + "description": "Availability group creation is in progress.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create a distributed availability group using this server for the primary replica.": { + "$ref": "./examples/CreateSqlServerDistributedAvailabilityGroup.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/addDatabases": { + "post": { + "tags": [ + "SqlServerAvailabilityGroups" + ], + "description": "Request adding database(s) to an existing availability group.", + "operationId": "SqlServerAvailabilityGroups_AddDatabases", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "#/parameters/availabilityGroupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "databases", + "in": "body", + "description": "The database names to add to the SQL Server availability group resource.", + "required": true, + "schema": { + "$ref": "#/definitions/databases" + } + } + ], + "responses": { + "200": { + "description": "Successfully requested adding databases to Availability Group.", + "schema": { + "$ref": "#/definitions/SqlServerAvailabilityGroupResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "add databases to this availability group.": { + "$ref": "./examples/AddDatabasesToAvailabilityGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/removeDatabases": { + "post": { + "tags": [ + "SqlServerAvailabilityGroups" + ], + "description": "Request removing database(s) from an existing availability group.", + "operationId": "SqlServerAvailabilityGroups_RemoveDatabases", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "#/parameters/availabilityGroupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "databases", + "in": "body", + "description": "The database names to remove from the SQL Server availability group resource.", + "required": true, + "schema": { + "$ref": "#/definitions/databases" + } + } + ], + "responses": { + "200": { + "description": "Successfully requested removing databases from Availability Group.", + "schema": { + "$ref": "#/definitions/SqlServerAvailabilityGroupResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "remove databases from this availability group.": { + "$ref": "./examples/RemoveDatabasesFromAvailabilityGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups": { + "get": { + "tags": [ + "SqlServerAvailabilityGroups" + ], + "operationId": "SqlServerAvailabilityGroups_List", + "summary": "List the availability group associated with the given Arc Sql Server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ArcSqlServerAvailabilityGroupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all availability groups associated with an Arc Enabled Sql server.": { + "$ref": "./examples/ListBySqlServerInstanceAvailabilityGroup.json" + } + } + } + } + }, + "definitions": { + "AvailabilityGroupConfigure": { + "description": "The specifications of the availability group replica configuration", + "type": "object", + "properties": { + "endpointName": { + "type": "string", + "description": "Name of the mirroring endpoint URL" + }, + "endpointUrl": { + "type": "string", + "description": "Mirroring endpoint URL of availability group replica" + }, + "endpointAuthenticationMode": { + "description": "Permitted authentication modes for the mirroring endpoint.", + "$ref": "./common.json#/definitions/ConnectionAuth" + }, + "certificateName": { + "type": "string", + "description": "Name of certificate to use for authentication. Required if any CERTIFICATE authentication modes are specified." + }, + "endpointConnectLogin": { + "type": "string", + "description": "The login which will connect to the mirroring endpoint." + }, + "availabilityMode": { + "type": "string", + "description": "Property that determines whether a given availability replica can run in synchronous-commit mode", + "enum": [ + "SYNCHRONOUS_COMMIT", + "ASYNCHRONOUS_COMMIT" + ], + "x-ms-enum": { + "name": "arcSqlServerAvailabilityMode", + "modelAsString": true + } + }, + "availabilityModeDescription": { + "type": "string", + "description": "The Availability Synchronization mode of the availability group replica.", + "readOnly": true + }, + "failoverMode": { + "type": "string", + "description": "Property to set the failover mode of the availability group replica", + "enum": [ + "AUTOMATIC", + "MANUAL", + "EXTERNAL" + ], + "x-ms-enum": { + "name": "arcSqlServerFailoverMode", + "modelAsString": true + } + }, + "failoverModeDescription": { + "type": "string", + "description": "The failover mode of the availability group replica.", + "readOnly": true + }, + "sessionTimeout": { + "type": "integer", + "description": "The time-out period of availability group session replica, in seconds.", + "format": "int32" + }, + "primaryAllowConnections": { + "type": "string", + "description": "Whether the primary replica should allow all connections or only READ_WRITE connections (disallowing ReadOnly connections)", + "enum": [ + "ALL", + "READ_WRITE" + ], + "x-ms-enum": { + "name": "primaryAllowConnections", + "modelAsString": false + } + }, + "primaryRoleAllowConnectionsDescription": { + "type": "string", + "description": "Whether the availability allows all connections or only read-write connections.", + "readOnly": true + }, + "secondaryAllowConnections": { + "type": "string", + "description": "Whether the secondary replica should allow all connections, no connections, or only ReadOnly connections.", + "enum": [ + "NO", + "ALL", + "READ_ONLY" + ], + "x-ms-enum": { + "name": "secondaryAllowConnections", + "modelAsString": false + } + }, + "secondaryRoleAllowConnectionsDescription": { + "type": "string", + "description": "Whether an availability replica that is performing the secondary role (that is, a secondary replica) can accept connections from clients.", + "readOnly": true + }, + "replicaCreateDate": { + "type": "string", + "description": "Date that the replica was created.", + "format": "date-time", + "readOnly": true + }, + "replicaModifyDate": { + "type": "string", + "description": "Date that the replica was modified.", + "format": "date-time", + "readOnly": true + }, + "backupPriority": { + "type": "integer", + "description": "Represents the user-specified priority for performing backups on this replica relative to the other replicas in the same availability group.", + "format": "int32" + }, + "readOnlyRoutingUrl": { + "type": "string", + "description": "Connectivity endpoint (URL) of the read only availability replica." + }, + "readWriteRoutingUrl": { + "type": "string", + "description": "Connectivity endpoint (URL) of the read write availability replica." + }, + "seedingMode": { + "type": "string", + "description": "Specifies how the secondary replica will be initially seeded. AUTOMATIC enables direct seeding. This method will seed the secondary replica over the network. This method does not require you to backup and restore a copy of the primary database on the replica. MANUAL specifies manual seeding (default). This method requires you to create a backup of the database on the primary replica and manually restore that backup on the secondary replica.", + "enum": [ + "AUTOMATIC", + "MANUAL" + ], + "x-ms-enum": { + "name": "seedingMode", + "modelAsString": false + } + }, + "seedingModeDescription": { + "type": "string", + "description": "Describes seeding mode.", + "readOnly": true + } + } + }, + "AvailabilityGroupState": { + "description": "The specifications of the availability group state", + "type": "object", + "properties": { + "availabilityGroupReplicaRole": { + "type": "string", + "description": "Current Always On availability groups role of the availability group replica.", + "readOnly": true + }, + "operationalStateDescription": { + "type": "string", + "description": "Current operational state of the availability group replica", + "readOnly": true + }, + "recoveryHealthDescription": { + "type": "string", + "description": "Recovery health of the availability group replica.", + "readOnly": true + }, + "synchronizationHealthDescription": { + "type": "string", + "description": "Reflects a rollup of the database synchronization state (synchronization_state) of all joined availability databases (also known as replicas) and the availability mode of the replica (synchronous-commit or asynchronous-commit mode). The rollup will reflect the least healthy accumulated state the databases on the replica.", + "readOnly": true + }, + "connectedStateDescription": { + "type": "string", + "description": "Whether a secondary replica is currently connected to the primary replica.", + "readOnly": true + }, + "lastConnectErrorDescription": { + "type": "string", + "description": "Text description of the last connection error of the availability group replica.", + "readOnly": true + }, + "lastConnectErrorTimestamp": { + "type": "string", + "description": "Date and time timestamp indicating when the last connect error occurred.", + "format": "date-time", + "readOnly": true + } + } + }, + "AvailabilityGroupInfo": { + "description": "The specifications of the availability group state", + "type": "object", + "properties": { + "failureConditionLevel": { + "type": "integer", + "description": "User-defined failure condition level under which an automatic failover must be triggered.", + "format": "int32" + }, + "healthCheckTimeout": { + "type": "integer", + "description": "Wait time (in milliseconds) for the sp_server_diagnostics system stored procedure to return server-health information, before the server instance is assumed to be slow or not responding.", + "format": "int32" + }, + "automatedBackupPreferenceDescription": { + "type": "string", + "description": "Preferred location for performing backups on the availability databases in this availability group.", + "readOnly": true + }, + "version": { + "type": "integer", + "description": "SQL Server availability group current version.", + "format": "int32", + "readOnly": true + }, + "basicFeatures": { + "type": "boolean", + "description": "Specifies whether this is a basic availability group." + }, + "dtcSupport": { + "type": "boolean", + "description": "Specifies whether DTC support has been enabled for this availability group." + }, + "dbFailover": { + "type": "boolean", + "description": "Specifies whether the availability group supports failover for database health conditions." + }, + "isDistributed": { + "type": "boolean", + "description": "Specifies whether this is a distributed availability group." + }, + "clusterTypeDescription": { + "type": "string", + "description": "SQL Server availability group cluster type description", + "readOnly": true + }, + "requiredSynchronizedSecondariesToCommit": { + "type": "integer", + "description": "The number of secondary replicas that must be in a synchronized state for a commit to complete.", + "format": "int32" + }, + "isContained": { + "type": "boolean", + "description": "SQL Server availability group contained system databases." + }, + "primaryReplica": { + "type": "string", + "description": "Name of the server instance that is hosting the current primary replica.", + "readOnly": true + }, + "primaryRecoveryHealthDescription": { + "type": "string", + "description": "Indicates the recovery health of the primary replica.", + "readOnly": true + }, + "secondaryRecoveryHealthDescription": { + "type": "string", + "description": "Indicates the recovery health of a secondary replica.", + "readOnly": true + }, + "synchronizationHealthDescription": { + "type": "string", + "description": "Reflects a roll-up of the synchronization health of all availability replicas in the availability group.", + "readOnly": true + }, + "replicationPartnerType": { + "type": "string", + "enum": [ + "SQLServer", + "AzureSQLVM", + "AzureSQLManagedInstance", + "Unknown" + ], + "x-ms-enum": { + "name": "replicationPartnerType", + "modelAsString": false + }, + "readOnly": true + }, + "listener": { + "description": "The listener for the sql server availability group", + "$ref": "#/definitions/SqlAvailabilityGroupStaticIPListenerProperties" + } + } + }, + "AvailabilityGroupCreateUpdateConfiguration": { + "description": "Options used in creating an availability group", + "type": "object", + "properties": { + "availabilityGroupName": { + "type": "string", + "description": "Name of the availability group." + }, + "replicas": { + "type": "array", + "description": "List of availability group replicas.", + "items": { + "$ref": "#/definitions/AvailabilityGroupCreateUpdateReplicaConfiguration" + }, + "x-ms-identifiers": [ + "serverInstance" + ] + }, + "databases": { + "type": "array", + "description": "List of databases to include in the availability group.", + "items": { + "type": "string" + } + }, + "automatedBackupPreference": { + "type": "string", + "description": "Preferred replica for running automated backups.", + "enum": [ + "PRIMARY", + "SECONDARY_ONLY", + "SECONDARY", + "NONE" + ], + "x-ms-enum": { + "name": "automatedBackupPreference", + "modelAsString": false + } + }, + "failureConditionLevel": { + "type": "integer", + "enum": [ + 1, + 2, + 3, + 4, + 5 + ], + "x-ms-enum": { + "name": "failureConditionLevel", + "modelAsString": false + }, + "description": "User-defined failure condition level under which an automatic failover must be triggered.", + "format": "int32" + }, + "healthCheckTimeout": { + "type": "integer", + "description": "Wait time (in milliseconds) for the sp_server_diagnostics system stored procedure to return server-health information, before the server instance is assumed to be slow or not responding.", + "format": "int32" + }, + "dbFailover": { + "type": "string", + "description": "Specifies whether the availability group supports failover for database health conditions.", + "enum": [ + "ON", + "OFF" + ], + "x-ms-enum": { + "name": "dbFailover", + "modelAsString": false + } + }, + "dtcSupport": { + "type": "string", + "description": "Specifies whether DTC support has been enabled for this availability group.", + "enum": [ + "PER_DB", + "NONE" + ], + "x-ms-enum": { + "name": "dtcSupport", + "modelAsString": false + } + }, + "requiredSynchronizedSecondariesToCommit": { + "type": "integer", + "description": "The number of secondary replicas that must be in a synchronized state for a commit to complete.", + "format": "int32" + }, + "clusterType": { + "type": "string", + "description": "Set to WSFC when availability group is on a failover cluster instance on a Windows Server failover cluster. Set to NONE when availability group not using WSFC for cluster coordination.", + "enum": [ + "WSFC", + "NONE" + ], + "x-ms-enum": { + "name": "clusterType", + "modelAsString": false + } + }, + "listener": { + "description": "The listener for the sql server availability group", + "$ref": "#/definitions/SqlAvailabilityGroupStaticIPListenerProperties" + } + } + }, + "AvailabilityGroupCreateUpdateReplicaConfiguration": { + "description": "The specifications of the availability group replica configuration", + "type": "object", + "properties": { + "serverInstance": { + "type": "string", + "description": "the server instance hosting the replica." + }, + "endpointName": { + "type": "string", + "description": "Name of the database mirroring endpoint URL for the availability group replica" + }, + "endpointUrl": { + "type": "string", + "description": "Database mirroring endpoint URL of availability group replica" + }, + "endpointAuthenticationMode": { + "description": "Permitted authentication modes for the mirroring endpoint.", + "$ref": "./common.json#/definitions/ConnectionAuth" + }, + "certificateName": { + "type": "string", + "description": "Name of certificate to use for authentication. Required if any CERTIFICATE authentication modes are specified." + }, + "endpointConnectLogin": { + "type": "string", + "description": "The login which will connect to the mirroring endpoint" + }, + "availabilityMode": { + "type": "string", + "description": "Property that determines whether a given availability replica can run in synchronous-commit mode", + "enum": [ + "SYNCHRONOUS_COMMIT", + "ASYNCHRONOUS_COMMIT" + ], + "x-ms-enum": { + "name": "arcSqlServerAvailabilityMode", + "modelAsString": true + } + }, + "failoverMode": { + "type": "string", + "description": "Property to set the failover mode of the availability group replica", + "enum": [ + "AUTOMATIC", + "MANUAL", + "EXTERNAL" + ], + "x-ms-enum": { + "name": "arcSqlServerFailoverMode", + "modelAsString": true + } + }, + "seedingMode": { + "type": "string", + "description": "Specifies how the secondary replica will be initially seeded. AUTOMATIC enables direct seeding. This method will seed the secondary replica over the network. This method does not require you to backup and restore a copy of the primary database on the replica. MANUAL specifies manual seeding (default). This method requires you to create a backup of the database on the primary replica and manually restore that backup on the secondary replica.", + "enum": [ + "AUTOMATIC", + "MANUAL" + ], + "x-ms-enum": { + "name": "seedingMode", + "modelAsString": false + } + }, + "backupPriority": { + "type": "integer", + "description": "Represents the user-specified priority for performing backups on this replica relative to the other replicas in the same availability group.", + "format": "int32" + }, + "secondaryRoleAllowConnections": { + "type": "string", + "description": "Whether the secondary replica should allow all connections, no connections, or only ReadOnly connections.", + "enum": [ + "NO", + "ALL", + "READ_ONLY" + ], + "x-ms-enum": { + "name": "secondaryAllowConnections", + "modelAsString": false + } + }, + "secondaryRoleReadOnlyRoutingUrl": { + "type": "string", + "description": "Connectivity endpoint (URL) of the read only availability replica." + }, + "primaryRoleAllowConnections": { + "type": "string", + "description": "Whether the primary replica should allow all connections or only READ_WRITE connections (disallowing ReadOnly connections)", + "enum": [ + "ALL", + "READ_WRITE" + ], + "x-ms-enum": { + "name": "primaryAllowConnections", + "modelAsString": false + } + }, + "primaryRoleReadOnlyRoutingList": { + "type": "array", + "description": "List of read only routing URLs.", + "items": { + "type": "string" + } + }, + "sessionTimeout": { + "type": "integer", + "description": "The time-out period of availability group session replica, in seconds.", + "format": "int32" + } + } + }, + "databases": { + "description": "List of database names.", + "type": "object", + "properties": { + "values": { + "description": "List of database names.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ArcSqlServerAvailabilityGroupListResult": { + "description": "A list of Arc Sql Server Availability Groups.", + "type": "object", + "properties": { + "value": { + "description": "Array of Arc Sql Server Availability Groups.", + "type": "array", + "items": { + "$ref": "#/definitions/SqlServerAvailabilityGroupResource" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "DistributedAvailabilityGroupCreateUpdateConfiguration": { + "description": "Options used in creating a distributed availability group.", + "type": "object", + "properties": { + "availabilityGroupName": { + "type": "string", + "description": "Name of the availability group." + }, + "primaryAvailabilityGroup": { + "description": "The initial primary availability group for the distributed availability group.", + "$ref": "#/definitions/DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration" + }, + "secondaryAvailabilityGroup": { + "description": "The initial secondary availability group for the distributed availability group.", + "$ref": "#/definitions/DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration" + } + } + }, + "DistributedAvailabilityGroupCreateUpdateAvailabilityGroupConfiguration": { + "description": "The availability group configuration specification for a distributed availability group.", + "type": "object", + "properties": { + "availabilityGroup": { + "type": "string", + "format": "arm-id", + "description": "The azure resource identifier for the availability group." + }, + "listenerUrl": { + "type": "string", + "format": "uri", + "description": "The listener URL of the availability group." + }, + "availabilityMode": { + "type": "string", + "description": "The availability mode of the availability group.", + "enum": [ + "SYNCHRONOUS_COMMIT", + "ASYNCHRONOUS_COMMIT" + ], + "x-ms-enum": { + "name": "arcSqlServerAvailabilityMode", + "modelAsString": true + } + }, + "failoverMode": { + "type": "string", + "description": "The failover mode of the availability group.", + "enum": [ + "AUTOMATIC", + "MANUAL", + "EXTERNAL" + ], + "x-ms-enum": { + "name": "arcSqlServerFailoverMode", + "modelAsString": true + } + }, + "seedingMode": { + "type": "string", + "description": "The seeding mode of the availability group.", + "enum": [ + "AUTOMATIC", + "MANUAL" + ], + "x-ms-enum": { + "name": "seedingMode", + "modelAsString": false + } + }, + "certificateConfiguration": { + "description": "The certificate configuration for the availability group.", + "$ref": "#/definitions/DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration" + } + } + }, + "DistributedAvailabilityGroupCreateUpdateAvailabilityGroupCertificateConfiguration": { + "description": "The availability group certificate configuration.", + "type": "object", + "properties": { + "certificateName": { + "type": "string", + "description": "Name of the certificate." + } + } + }, + "SqlServerAvailabilityGroupResource": { + "type": "object", + "description": "Arc Sql Server Availability Group", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SqlServerAvailabilityGroupResourceProperties", + "description": "Properties of Arc Sql Server availability group", + "x-ms-client-flatten": false + } + }, + "required": [ + "properties" + ] + }, + "SqlServerAvailabilityGroupResourceProperties": { + "type": "object", + "description": "The properties of Arc Sql Server availability group resource", + "properties": { + "availabilityGroupId": { + "type": "string", + "description": "ID GUID of the availability group.", + "pattern": "^[A-Za-z0-9]{8}-([A-Za-z0-9]{4}-){3}[A-Za-z0-9]{12}$", + "readOnly": true + }, + "serverName": { + "type": "string", + "description": "the SQL server name.", + "readOnly": true + }, + "instanceName": { + "type": "string", + "description": "the SQL Server Instance name.", + "readOnly": true + }, + "collectionTimestamp": { + "description": "Timestamp for when the data was collected from the client machine.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "info": { + "$ref": "#/definitions/AvailabilityGroupInfo", + "description": "Availability Group Info", + "x-ms-client-flatten": false + }, + "replicas": { + "description": "A list of Availability Group Replicas.", + "type": "object", + "properties": { + "value": { + "description": "Array of Availability Group Replicas.", + "type": "array", + "items": { + "$ref": "#/definitions/SqlAvailabilityGroupReplicaResourceProperties" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "databases": { + "description": "A list of Availability Group Database Replicas.", + "type": "object", + "properties": { + "value": { + "description": "Array of Availability Group Database Replicas.", + "type": "array", + "items": { + "$ref": "#/definitions/SqlAvailabilityGroupDatabaseReplicaResourceProperties" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the Arc-enabled SQL Server availability group resource.", + "readOnly": true + } + } + }, + "SqlServerAvailabilityGroupUpdate": { + "description": "An update to availability group resource.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/SqlServerAvailabilityGroupResourceProperties", + "description": "The Server Availability Group's properties", + "x-ms-client-flatten": false + } + } + }, + "SqlAvailabilityGroupReplicaResourceProperties": { + "type": "object", + "description": "The properties of Arc Sql availability group replica resource", + "properties": { + "replicaId": { + "type": "string", + "description": "ID GUID of the availability group.", + "pattern": "^[A-Za-z0-9]{8}-([A-Za-z0-9]{4}-){3}[A-Za-z0-9]{12}$", + "readOnly": true + }, + "replicaName": { + "type": "string", + "description": "the replica name." + }, + "configure": { + "$ref": "#/definitions/AvailabilityGroupConfigure", + "description": "null", + "x-ms-client-flatten": false + }, + "state": { + "$ref": "#/definitions/AvailabilityGroupState", + "description": "null", + "x-ms-client-flatten": false + } + } + }, + "SqlAvailabilityGroupDatabaseReplicaResourceProperties": { + "type": "object", + "description": "The properties of Arc Sql availability group database replica resource", + "properties": { + "databaseName": { + "type": "string", + "description": "the database name." + }, + "replicaName": { + "type": "string", + "description": "the database replica name.", + "readOnly": true + }, + "isLocal": { + "type": "boolean", + "description": "Whether the availability database is local.", + "readOnly": true + }, + "isPrimaryReplica": { + "type": "boolean", + "description": "Returns 1 if the replica is primary, or 0 if it is a secondary replica.", + "readOnly": true + }, + "synchronizationStateDescription": { + "type": "string", + "description": "Description of the data-movement state.", + "readOnly": true + }, + "isCommitParticipant": { + "type": "boolean", + "description": "Whether this replica is transaction committer.", + "readOnly": true + }, + "synchronizationHealthDescription": { + "type": "string", + "description": "Description of the health of database.", + "readOnly": true + }, + "databaseStateDescription": { + "type": "string", + "description": "Description of the database state of the availability replica.", + "readOnly": true + }, + "isSuspended": { + "type": "boolean", + "description": "Whether this data movement is suspended.", + "readOnly": true + }, + "suspendReasonDescription": { + "type": "string", + "description": "Description of the database suspended state reason.", + "readOnly": true + } + } + }, + "SqlAvailabilityGroupStaticIPListenerProperties": { + "type": "object", + "description": "The properties of a static IP Arc Sql availability group listener", + "properties": { + "dnsName": { + "type": "string", + "description": "the DNS name for the listener." + }, + "ipV4AddressesAndMasks": { + "$ref": "#/definitions/SqlAvailabilityGroupIpV4AddressesAndMasksProperties", + "description": "IP V4 Addresses and masks for the listener." + }, + "ipV6Addresses": { + "type": "array", + "description": "IP V6 Addresses for the listener", + "items": { + "type": "string" + } + }, + "port": { + "type": "integer", + "description": "Network port for the listener. Default is 1433.", + "format": "int32" + } + } + }, + "SqlAvailabilityGroupIpV4AddressesAndMasksProperties": { + "type": "array", + "description": "Address and netmask information for an IPv4 AG listener.", + "items": { + "type": "object", + "properties": { + "ipAddress": { + "type": "string", + "description": "IPV4 address" + }, + "mask": { + "type": "string", + "description": "IPV4 netmask" + } + } + }, + "x-ms-identifiers": [ + "ipAddress" + ] + }, + "SqlAvailabilityGroupDhcpListenerProperties": { + "type": "object", + "description": "The properties of a DHCP Arc Sql availability group listener", + "properties": { + "dnsName": { + "type": "string", + "description": "the DNS name for the listener." + }, + "subnet": { + "type": "string", + "description": "The IPV4 subnet for the listener." + }, + "mask": { + "type": "string", + "description": "The netmask for the listener." + }, + "port": { + "type": "integer", + "description": "Network port for the listener. Default is 1433.", + "format": "int32" + } + } + } + }, + "parameters": { + "resourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure resource group", + "x-ms-parameter-location": "method" + }, + "sqlServerInstanceName": { + "name": "sqlServerInstanceName", + "description": "Name of SQL Server Instance", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "availabilityGroupName": { + "name": "availabilityGroupName", + "description": "Name of SQL Availability Group", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/sqlServerDatabases.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/sqlServerDatabases.json new file mode 100644 index 000000000000..7da3f90ec544 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/sqlServerDatabases.json @@ -0,0 +1,680 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-05-01-preview", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/databases/{databaseName}": { + "put": { + "tags": [ + "SqlServerDatabases" + ], + "operationId": "SqlServerDatabases_Create", + "description": "Creates or replaces an Arc Sql Server Database.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "sqlServerDatabaseResource", + "description": "The request body for database resource.", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/SqlServerDatabaseResource" + } + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "#/parameters/databaseName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SqlServerDatabaseResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SqlServerDatabaseResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create a Arc Sql Server database.": { + "$ref": "./examples/CreateOrUpdateArcSqlServerDatabase.json" + } + } + }, + "delete": { + "tags": [ + "SqlServerDatabases" + ], + "operationId": "SqlServerDatabases_Delete", + "description": "Deletes an Arc Sql Server database resource.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "#/parameters/databaseName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "202": { + "description": "Resource deletion is in progress.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + } + }, + "204": { + "description": "The specified database does not exist." + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Deletes a database resource": { + "$ref": "./examples/DeleteArcSqlServerDatabase.json" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "SqlServerDatabases" + ], + "operationId": "SqlServerDatabases_Get", + "description": "Retrieves an Arc Sql Server database.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "#/parameters/databaseName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SqlServerDatabaseResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Retrieves an Arc Sql Server database resource.": { + "$ref": "./examples/GetArcSqlServerDatabase.json" + } + } + }, + "patch": { + "tags": [ + "SqlServerDatabases" + ], + "description": "Updates an existing database.", + "operationId": "SqlServerDatabases_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "#/parameters/databaseName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "name": "sqlServerDatabaseUpdate", + "in": "body", + "description": "The requested database resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/SqlServerDatabaseUpdate" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated the database.", + "schema": { + "$ref": "#/definitions/SqlServerDatabaseResource" + } + }, + "202": { + "description": "Resource update is in progress.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update a database.": { + "$ref": "./examples/UpdateSqlServerDatabase.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/databases": { + "get": { + "tags": [ + "SqlServerDatabases" + ], + "operationId": "SqlServerDatabases_List", + "summary": "List the databases associated with the given Arc Sql Server.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ArcSqlServerDatabaseListResult" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all databases associated with an Arc Enabled Sql server.": { + "$ref": "./examples/ListBySqlServerInstanceDatabase.json" + } + } + } + } + }, + "definitions": { + "ArcSqlServerDatabaseListResult": { + "description": "A list of Arc Sql Server database.", + "type": "object", + "properties": { + "value": { + "description": "Array of Arc Sql Server database.", + "type": "array", + "items": { + "$ref": "#/definitions/SqlServerDatabaseResource" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "SqlServerDatabaseResource": { + "type": "object", + "description": "Arc Sql Server database", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SqlServerDatabaseResourceProperties", + "description": "Properties of Arc Sql Server database", + "x-ms-client-flatten": false + } + }, + "required": [ + "properties" + ] + }, + "SqlServerDatabaseResourceProperties": { + "type": "object", + "description": "The properties of Arc Sql Server database resource", + "properties": { + "collationName": { + "description": "Collation of the database.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "databaseCreationDate": { + "format": "date-time", + "description": "Creation date of the database.", + "type": "string" + }, + "compatibilityLevel": { + "type": "integer", + "minimum": 80, + "maximum": 200, + "format": "int32", + "description": "Compatibility level of the database" + }, + "sizeMB": { + "type": "number", + "format": "float", + "description": "Size of the database." + }, + "spaceAvailableMB": { + "type": "number", + "format": "float", + "description": "Space left of the database." + }, + "state": { + "description": "State of the database.", + "enum": [ + "Online", + "Restoring", + "Recovering", + "RecoveryPending", + "Suspect", + "Emergency", + "Offline", + "Copying", + "OfflineSecondary" + ], + "type": "string", + "x-ms-enum": { + "name": "DatabaseState", + "modelAsString": true + } + }, + "isReadOnly": { + "type": "boolean", + "description": "Whether the database is read only or not." + }, + "recoveryMode": { + "description": "Status of the database.", + "enum": [ + "Full", + "Bulk-logged", + "Simple" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryMode", + "modelAsString": true + } + }, + "databaseOptions": { + "type": "object", + "description": "List of features that are enabled for the database", + "properties": { + "isAutoCloseOn": { + "type": "boolean" + }, + "isAutoShrinkOn": { + "type": "boolean" + }, + "isAutoCreateStatsOn": { + "type": "boolean" + }, + "isAutoUpdateStatsOn": { + "type": "boolean" + }, + "isRemoteDataArchiveEnabled": { + "type": "boolean" + }, + "isMemoryOptimizationEnabled": { + "type": "boolean" + }, + "isEncrypted": { + "type": "boolean" + }, + "isTrustworthyOn": { + "type": "boolean" + } + } + }, + "backupInformation": { + "type": "object", + "properties": { + "lastFullBackup": { + "format": "date-time", + "description": "Date time of last full backup.", + "type": "string" + }, + "lastLogBackup": { + "format": "date-time", + "description": "Date time of last log backup.", + "type": "string" + } + } + }, + "backupPolicy": { + "description": "The backup profile for the SQL server.", + "$ref": "#/definitions/BackupPolicy" + }, + "earliestRestoreDate": { + "format": "date-time", + "description": "This records the earliest start date and time that restore is available for this database (ISO8601 format).", + "type": "string", + "readOnly": true + }, + "createMode": { + "description": "Database create mode. PointInTimeRestore: Create a database by restoring a point in time backup of an existing database. sourceDatabaseId and restorePointInTime must be specified.", + "enum": [ + "Default", + "PointInTimeRestore" + ], + "type": "string", + "x-ms-enum": { + "name": "DatabaseCreateMode", + "modelAsString": true + } + }, + "sourceDatabaseId": { + "description": "The name of the source database associated with create operation of this database.", + "type": "string", + "format": "arm-id" + }, + "restorePointInTime": { + "format": "date-time", + "description": "Conditional. If createMode is PointInTimeRestore, this value is required. Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.", + "type": "string" + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the Arc-enabled SQL Server database resource.", + "readOnly": true + }, + "lastDatabaseUploadTime": { + "type": "string", + "format": "date-time", + "description": "The time when last successful database upload was performed.", + "readOnly": true + }, + "migration": { + "$ref": "#/definitions/DataBaseMigration" + } + } + }, + "DataBaseMigration": { + "description": "Migration related configuration.", + "type": "object", + "properties": { + "assessment": { + "description": "Migration assessments related configuration.", + "$ref": "#/definitions/DataBaseMigrationAssessment" + } + } + }, + "DataBaseMigrationAssessment": { + "description": "The migration assessment related configuration.", + "type": "object", + "properties": { + "assessmentUploadTime": { + "type": "string", + "format": "date-time", + "description": "The time when Migration Assessment Report upload was last performed.", + "readOnly": true + }, + "databaseAssessments": { + "$ref": "#/definitions/DatabaseAssessments" + }, + "targetReadiness": { + "$ref": "#/definitions/TargetReadiness" + } + } + }, + "DatabaseAssessments": { + "description": "Issues and warnings impacting the migration of Database to particular Azure Migration Target.", + "readOnly": true, + "type": "array", + "items": { + "type": "object", + "properties": { + "appliesToMigrationTargetPlatform": { + "type": "string" + }, + "featureId": { + "type": "string" + }, + "issueCategory": { + "type": "string" + }, + "moreInformation": { + "type": "string" + } + } + } + }, + "TargetReadiness": { + "description": "The target readiness for migration for this database.", + "type": "object", + "readOnly": true, + "properties": { + "azureSqlDatabase": { + "$ref": "#/definitions/SkuRecommendationSummary" + }, + "azureSqlManagedInstance": { + "$ref": "#/definitions/SkuRecommendationSummary" + }, + "azureSqlVirtualMachine": { + "$ref": "#/definitions/SkuRecommendationSummary" + } + } + }, + "SkuRecommendationSummary": { + "description": "The SKU recommendation summary.", + "type": "object", + "properties": { + "numOfBlockerIssues": { + "$ref": "#/definitions/SkuRecommendationResultsNumberOfBlockerIssues" + }, + "recommendationStatus": { + "$ref": "./common.json#/definitions/SkuRecommendationResultsRecommendationStatus" + } + } + }, + "SkuRecommendationResultsNumberOfBlockerIssues": { + "description": "Number of blocker issues to fix before migrating this database to the target platform.", + "type": "integer", + "format": "int32" + }, + "SqlServerDatabaseUpdate": { + "description": "An update to database resource.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/SqlServerDatabaseResourceProperties", + "description": "The data controller's properties", + "x-ms-client-flatten": false + } + } + }, + "BackupPolicy": { + "description": "The backup profile for the SQL server.", + "type": "object", + "properties": { + "retentionPeriodDays": { + "type": "integer", + "description": "The retention period for all the databases in this managed instance.", + "minimum": 0, + "maximum": 35, + "format": "int32" + }, + "fullBackupDays": { + "type": "integer", + "description": "The value indicating days between full backups.", + "minimum": 0, + "maximum": 7, + "format": "int32" + }, + "differentialBackupHours": { + "description": "The differential backup interval in hours.", + "enum": [ + 12, + 24 + ], + "type": "integer", + "format": "int32", + "x-ms-enum": { + "name": "differentialBackupHours", + "modelAsString": false + } + }, + "transactionLogBackupMinutes": { + "type": "integer", + "description": "The value indicating minutes between transaction log backups.", + "minimum": 0, + "maximum": 60, + "format": "int32" + } + } + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Azure subscription", + "x-ms-parameter-location": "client" + }, + "resourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure resource group", + "x-ms-parameter-location": "method" + }, + "apiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the request", + "x-ms-parameter-location": "client" + }, + "sqlServerInstanceName": { + "name": "sqlServerInstanceName", + "description": "Name of SQL Server Instance", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "databaseName": { + "name": "databaseName", + "description": "Name of the database", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/sqlServerEsuLicenses.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/sqlServerEsuLicenses.json new file mode 100644 index 000000000000..61ac6e8af6e2 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/sqlServerEsuLicenses.json @@ -0,0 +1,545 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-05-01-preview", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlServerEsuLicenses": { + "get": { + "tags": [ + "SqlServerEsuLicenses" + ], + "operationId": "SqlServerEsuLicenses_List", + "summary": "List sqlServerEsuLicense resources in the subscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SqlServerEsuLicenseListResult" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL Server ESU licenses in a subscription.": { + "$ref": "./examples/ListSubscriptionSqlServerEsuLicense.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerEsuLicenses": { + "get": { + "tags": [ + "SqlServerEsuLicenses" + ], + "operationId": "SqlServerEsuLicenses_ListByResourceGroup", + "description": "Gets all sqlServerEsuLicenses in a resource group.", + "summary": "List sqlServerEsuLicense resources in the resource group", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SqlServerEsuLicenseListResult" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL Server ESU licenses in a resource group.": { + "$ref": "./examples/ListByResourceGroupSqlServerEsuLicense.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerEsuLicenses/{sqlServerEsuLicenseName}": { + "get": { + "tags": [ + "SqlServerEsuLicenses" + ], + "operationId": "SqlServerEsuLicenses_Get", + "description": "Retrieves a SQL Server ESU license resource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/sqlServerEsuLicenseName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SqlServerEsuLicense" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets a SQL Server ESU license.": { + "$ref": "./examples/GetSqlServerEsuLicense.json" + } + } + }, + "put": { + "tags": [ + "SqlServerEsuLicenses" + ], + "operationId": "SqlServerEsuLicenses_Create", + "description": "Creates or replaces a SQL Server ESU license resource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/sqlServerEsuLicenseName" + }, + { + "name": "sqlServerEsuLicense", + "in": "body", + "description": "The SQL Server ESU license to be created or updated.", + "required": true, + "schema": { + "$ref": "#/definitions/SqlServerEsuLicense" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SqlServerEsuLicense" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SqlServerEsuLicense" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Updates a SQL Server ESU license.": { + "$ref": "./examples/CreateOrUpdateSqlServerEsuLicense.json" + } + } + }, + "delete": { + "tags": [ + "SqlServerEsuLicenses" + ], + "operationId": "SqlServerEsuLicenses_Delete", + "description": "Deletes a SQL Server ESU license resource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/sqlServerEsuLicenseName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the SQL Server ESU license." + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + }, + "204": { + "description": "The specified SQL Server ESU license does not exist." + } + }, + "x-ms-examples": { + "Delete a SQL Server ESU license.": { + "$ref": "./examples/DeleteSqlServerEsuLicense.json" + } + } + }, + "patch": { + "tags": [ + "SqlServerEsuLicenses" + ], + "operationId": "SqlServerEsuLicenses_Update", + "description": "Updates a SQL Server ESU license resource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/sqlServerEsuLicenseName" + }, + { + "name": "parameters", + "in": "body", + "description": "The SQL Server ESU license.", + "required": true, + "schema": { + "$ref": "#/definitions/SqlServerEsuLicenseUpdate" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SqlServerEsuLicense" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch a SQL Server ESU license.": { + "$ref": "./examples/UpdateSqlServerEsuLicense.json" + } + } + } + } + }, + "definitions": { + "SqlServerEsuLicense": { + "description": "Describe SQL Server ESU license resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SqlServerEsuLicenseProperties", + "description": "SQL Server ESU license properties", + "x-ms-client-flatten": false + } + }, + "required": [ + "properties" + ] + }, + "SqlServerEsuLicenseProperties": { + "description": "Properties of SQL Server ESU license.", + "type": "object", + "properties": { + "billingPlan": { + "type": "string", + "description": "SQL Server ESU license type.", + "enum": [ + "PAYG" + ], + "x-ms-enum": { + "name": "billingPlan", + "modelAsString": true + } + }, + "version": { + "type": "string", + "description": "The SQL Server version the license covers.", + "enum": [ + "SQL Server 2012", + "SQL Server 2014" + ], + "x-ms-enum": { + "name": "version", + "modelAsString": true + } + }, + "uniqueId": { + "type": "string", + "description": "The unique ID of this license. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", + "pattern": "^[A-Za-z0-9]{8}-([A-Za-z0-9]{4}-){3}[A-Za-z0-9]{12}$", + "readOnly": true + }, + "physicalCores": { + "type": "integer", + "format": "int32", + "multipleOf": 2, + "minimum": 16, + "description": "The number of total cores of the license covers." + }, + "activationState": { + "type": "string", + "description": "The activation state of the license.", + "enum": [ + "Inactive", + "Active", + "Terminated" + ], + "x-ms-enum": { + "name": "state", + "modelAsString": true + } + }, + "scopeType": { + "type": "string", + "description": "The Azure scope to which the license will apply.", + "enum": [ + "Tenant", + "Subscription", + "ResourceGroup" + ], + "x-ms-enum": { + "name": "scopeType", + "modelAsString": true + } + }, + "activatedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of the activation of the SqlServerEsuLicense in ISO 8601 date-time format.", + "readOnly": true + }, + "terminatedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of the termination of the SqlServerEsuLicense in ISO 8601 date-time format.", + "readOnly": true + }, + "tenantId": { + "type": "string", + "description": "The tenantId the SQL Server ESU license resource subscription resides in.", + "readOnly": true + } + }, + "required": [ + "billingPlan", + "version", + "physicalCores", + "scopeType", + "activationState" + ] + }, + "SqlServerEsuLicenseUpdateProperties": { + "description": "Properties of update SqlServerEsuLicense.", + "type": "object", + "properties": { + "billingPlan": { + "type": "string", + "description": "SQL Server ESU license type.", + "enum": [ + "PAYG" + ], + "x-ms-enum": { + "name": "billingPlan", + "modelAsString": true + } + }, + "version": { + "type": "string", + "description": "The SQL Server version the license covers.", + "enum": [ + "SQL Server 2012", + "SQL Server 2014" + ], + "x-ms-enum": { + "name": "version", + "modelAsString": true + } + }, + "uniqueId": { + "type": "string", + "description": "The unique ID of this license. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", + "pattern": "^[A-Za-z0-9]{8}-([A-Za-z0-9]{4}-){3}[A-Za-z0-9]{12}$", + "readOnly": true + }, + "physicalCores": { + "type": "integer", + "format": "int32", + "multipleOf": 2, + "minimum": 16, + "description": "The number of total cores of the license covers." + }, + "activationState": { + "type": "string", + "description": "The activation state of the license.", + "enum": [ + "Inactive", + "Active", + "Terminated" + ], + "x-ms-enum": { + "name": "state", + "modelAsString": true + } + }, + "scopeType": { + "type": "string", + "description": "The Azure scope to which the license will apply.", + "enum": [ + "Tenant", + "Subscription", + "ResourceGroup" + ], + "x-ms-enum": { + "name": "scopeType", + "modelAsString": true + } + }, + "activatedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of the activation of the SqlServerEsuLicense in ISO 8601 date-time format.", + "readOnly": true + }, + "terminatedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of the termination of the SqlServerEsuLicense in ISO 8601 date-time format.", + "readOnly": true + }, + "tenantId": { + "type": "string", + "description": "The tenantId the SQL Server ESU license resource subscription resides in.", + "readOnly": true + } + } + }, + "SqlServerEsuLicenseUpdate": { + "description": "An update to a SQL Server ESU license resource.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/SqlServerEsuLicenseUpdateProperties", + "description": "null", + "x-ms-client-flatten": false + } + } + }, + "SqlServerEsuLicenseListResult": { + "description": "A list of SQL Server ESU licenses.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SqlServerEsuLicense" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "sqlServerEsuLicenseName": { + "name": "sqlServerEsuLicenseName", + "description": "Name of SQL Server ESU License", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/sqlServerInstances.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/sqlServerInstances.json new file mode 100644 index 000000000000..07fc363b51a2 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/sqlServerInstances.json @@ -0,0 +1,1367 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-05-01-preview", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "paths": {}, + "definitions": { + "SqlServerInstance": { + "description": "A SqlServerInstance.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SqlServerInstanceProperties", + "description": "null", + "x-ms-client-flatten": false + } + } + }, + "SqlServerInstanceProperties": { + "description": "Properties of SqlServerInstance.", + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "SQL Server version.", + "enum": [ + "SQL Server 2012", + "SQL Server 2014", + "SQL Server 2016", + "SQL Server 2017", + "SQL Server 2019", + "SQL Server 2022", + "Unknown" + ], + "x-ms-enum": { + "name": "sqlVersion", + "modelAsString": true + } + }, + "edition": { + "type": "string", + "description": "SQL Server edition.", + "enum": [ + "Evaluation", + "Enterprise", + "Standard", + "Web", + "Developer", + "Express", + "Business Intelligence" + ], + "x-ms-enum": { + "name": "editionType", + "modelAsString": true + } + }, + "containerResourceId": { + "type": "string", + "description": "ARM Resource id of the container resource (Azure Arc for Servers).", + "readOnly": true + }, + "createTime": { + "type": "string", + "description": "The time when the resource was created.", + "readOnly": true + }, + "vCore": { + "type": "string", + "description": "The number of logical processors used by the SQL Server instance.", + "readOnly": true + }, + "cores": { + "type": "string", + "description": "The number of total cores of the Operating System Environment (OSE) hosting the SQL Server instance." + }, + "status": { + "type": "string", + "description": "The cloud connectivity status.", + "readOnly": true, + "enum": [ + "Connected", + "Disconnected", + "Registered", + "Unknown" + ], + "x-ms-enum": { + "name": "ConnectionStatus", + "modelAsString": true + } + }, + "patchLevel": { + "type": "string", + "description": "SQL Server update level.", + "readOnly": true + }, + "collation": { + "type": "string", + "description": "SQL Server collation.", + "readOnly": true + }, + "dbMasterKeyExists": { + "type": "boolean", + "description": "Indicates whether database master key exists in SQL Server.", + "readOnly": true + }, + "isHadrEnabled": { + "type": "boolean", + "description": "Indicates whether always On availability groups is enabled in SQL Server.", + "readOnly": true + }, + "traceFlags": { + "type": "array", + "description": "An array of integers, where each value represents the enabled trace flags in SQL Server.", + "items": { + "type": "integer", + "format": "int32" + }, + "readOnly": true + }, + "currentVersion": { + "type": "string", + "description": "SQL Server current version.", + "readOnly": true + }, + "instanceName": { + "type": "string", + "description": "SQL Server instance name." + }, + "tcpDynamicPorts": { + "type": "string", + "description": "Dynamic TCP ports used by SQL Server.", + "readOnly": true + }, + "tcpStaticPorts": { + "type": "string", + "description": "Static TCP ports used by SQL Server.", + "readOnly": true + }, + "productId": { + "type": "string", + "description": "SQL Server product ID.", + "readOnly": true + }, + "licenseType": { + "type": "string", + "description": "SQL Server license type.", + "readOnly": true, + "enum": [ + "Undefined", + "Free", + "HADR", + "ServerCAL", + "LicenseOnly", + "PAYG", + "Paid" + ], + "x-ms-enum": { + "name": "arcSqlServerLicenseType", + "modelAsString": true + } + }, + "azureDefenderStatusLastUpdated": { + "type": "string", + "format": "date-time", + "description": "Timestamp of last Azure Defender status update.", + "readOnly": true + }, + "azureDefenderStatus": { + "type": "string", + "description": "Status of Azure Defender.", + "readOnly": true, + "enum": [ + "Protected", + "Unprotected", + "Unknown" + ], + "x-ms-enum": { + "name": "defenderStatus", + "modelAsString": true + } + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the Arc-enabled SQL Server resource.", + "readOnly": true + }, + "lastInventoryUploadTime": { + "type": "string", + "format": "date-time", + "description": "The time when last successful inventory upload was performed.", + "readOnly": true + }, + "lastUsageUploadTime": { + "type": "string", + "format": "date-time", + "description": "The time when last successful usage upload was performed.", + "readOnly": true + }, + "hostType": { + "type": "string", + "description": "Type of host for Azure Arc SQL Server", + "enum": [ + "Azure Virtual Machine", + "Azure VMWare Virtual Machine", + "Azure Kubernetes Service", + "AWS VMWare Virtual Machine", + "AWS Kubernetes Service", + "GCP VMWare Virtual Machine", + "GCP Kubernetes Service", + "Container", + "Virtual Machine", + "Physical Server", + "AWS Virtual Machine", + "GCP Virtual Machine", + "Other" + ], + "x-ms-enum": { + "name": "hostType", + "modelAsString": true + } + }, + "alwaysOnRole": { + "type": "string", + "description": "The role of the SQL Server, based on availability.", + "readOnly": true, + "enum": [ + "None", + "FailoverClusterInstance", + "FailoverClusterNode", + "AvailabilityGroupReplica" + ], + "x-ms-enum": { + "name": "alwaysOnRole", + "modelAsString": true + } + }, + "databaseMirroringEndpoint": { + "description": "Database mirroring endpoint related properties.", + "$ref": "#/definitions/DBMEndpoint" + }, + "failoverCluster": { + "description": "Failover Cluster Instance properties.", + "$ref": "#/definitions/FailoverCluster" + }, + "backupPolicy": { + "description": "The backup profile for the SQL server.", + "$ref": "#/definitions/BackupPolicy" + }, + "upgradeLockedUntil": { + "description": "Upgrade Action for this resource is locked until it expires. The Expiration time indicated by this value. It is not locked when it is empty.", + "type": "string", + "format": "date-time" + }, + "monitoring": { + "description": "The monitoring configuration.", + "$ref": "#/definitions/Monitoring" + }, + "migration": { + "description": "Migration related configuration.", + "$ref": "#/definitions/Migration" + }, + "clientConnection": { + "description": "Client connection related configuration.", + "$ref": "#/definitions/ClientConnection" + }, + "serviceType": { + "description": "Indicates if the resource represents a SQL Server engine or a SQL Server component service installed on the host.", + "$ref": "#/definitions/ServiceType" + } + } + }, + "SqlServerInstanceUpdateProperties": { + "description": "Properties of update SqlServerInstance.", + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "SQL Server version.", + "enum": [ + "SQL Server 2012", + "SQL Server 2014", + "SQL Server 2016", + "SQL Server 2017", + "SQL Server 2019", + "SQL Server 2022", + "Unknown" + ], + "x-ms-enum": { + "name": "sqlVersion", + "modelAsString": true + } + }, + "edition": { + "type": "string", + "description": "SQL Server edition.", + "enum": [ + "Evaluation", + "Enterprise", + "Standard", + "Web", + "Developer", + "Express", + "Business Intelligence" + ], + "x-ms-enum": { + "name": "editionType", + "modelAsString": true + } + }, + "containerResourceId": { + "type": "string", + "description": "ARM Resource id of the container resource (Azure Arc for Servers).", + "readOnly": true + }, + "createTime": { + "type": "string", + "description": "The time when the resource was created.", + "readOnly": true + }, + "vCore": { + "type": "string", + "description": "The number of logical processors used by the SQL Server instance.", + "readOnly": true + }, + "cores": { + "type": "string", + "description": "The number of total cores of the Operating System Environment (OSE) hosting the SQL Server instance." + }, + "status": { + "type": "string", + "description": "The cloud connectivity status.", + "readOnly": true, + "enum": [ + "Connected", + "Disconnected", + "Registered", + "Unknown" + ], + "x-ms-enum": { + "name": "ConnectionStatus", + "modelAsString": true + } + }, + "patchLevel": { + "type": "string", + "description": "SQL Server update level.", + "readOnly": true + }, + "collation": { + "type": "string", + "description": "SQL Server collation.", + "readOnly": true + }, + "dbMasterKeyExists": { + "type": "boolean", + "description": "Indicates whether database master key exists in SQL Server.", + "readOnly": true + }, + "isHadrEnabled": { + "type": "boolean", + "description": "Indicates whether always On availability groups is enabled in SQL Server.", + "readOnly": true + }, + "traceFlags": { + "type": "array", + "description": "An array of integers, where each value represents the enabled trace flags in SQL Server.", + "items": { + "type": "integer", + "format": "int32" + }, + "readOnly": true + }, + "currentVersion": { + "type": "string", + "description": "SQL Server current version.", + "readOnly": true + }, + "instanceName": { + "type": "string", + "description": "SQL Server instance name." + }, + "tcpDynamicPorts": { + "type": "string", + "description": "Dynamic TCP ports used by SQL Server.", + "readOnly": true + }, + "tcpStaticPorts": { + "type": "string", + "description": "Static TCP ports used by SQL Server.", + "readOnly": true + }, + "productId": { + "type": "string", + "description": "SQL Server product ID.", + "readOnly": true + }, + "licenseType": { + "type": "string", + "description": "SQL Server license type.", + "readOnly": true, + "enum": [ + "Undefined", + "Free", + "HADR", + "ServerCAL", + "LicenseOnly", + "PAYG", + "Paid" + ], + "x-ms-enum": { + "name": "arcSqlServerLicenseType", + "modelAsString": true + } + }, + "azureDefenderStatusLastUpdated": { + "type": "string", + "format": "date-time", + "description": "Timestamp of last Azure Defender status update.", + "readOnly": true + }, + "azureDefenderStatus": { + "type": "string", + "description": "Status of Azure Defender.", + "readOnly": true, + "enum": [ + "Protected", + "Unprotected", + "Unknown" + ], + "x-ms-enum": { + "name": "defenderStatus", + "modelAsString": true + } + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the Arc-enabled SQL Server resource.", + "readOnly": true + }, + "lastInventoryUploadTime": { + "type": "string", + "format": "date-time", + "description": "The time when last successful inventory upload was performed.", + "readOnly": true + }, + "lastUsageUploadTime": { + "type": "string", + "format": "date-time", + "description": "The time when last successful usage upload was performed.", + "readOnly": true + }, + "hostType": { + "type": "string", + "description": "Type of host for Azure Arc SQL Server", + "enum": [ + "Azure Virtual Machine", + "Azure VMWare Virtual Machine", + "Azure Kubernetes Service", + "AWS VMWare Virtual Machine", + "AWS Kubernetes Service", + "GCP VMWare Virtual Machine", + "GCP Kubernetes Service", + "Container", + "Virtual Machine", + "Physical Server", + "AWS Virtual Machine", + "GCP Virtual Machine", + "Other" + ], + "x-ms-enum": { + "name": "hostType", + "modelAsString": true + } + }, + "alwaysOnRole": { + "type": "string", + "description": "The role of the SQL Server, based on availability.", + "readOnly": true, + "enum": [ + "None", + "FailoverClusterInstance", + "FailoverClusterNode", + "AvailabilityGroupReplica" + ], + "x-ms-enum": { + "name": "alwaysOnRole", + "modelAsString": true + } + }, + "failoverCluster": { + "description": "Failover Cluster Instance properties.", + "$ref": "#/definitions/FailoverCluster" + }, + "backupPolicy": { + "description": "The backup profile for the SQL server.", + "$ref": "#/definitions/BackupPolicy" + }, + "upgradeLockedUntil": { + "description": "Upgrade Action for this resource is locked until it expires. The Expiration time indicated by this value. It is not locked when it is empty.", + "type": "string", + "format": "date-time" + }, + "monitoring": { + "description": "The monitoring configuration.", + "$ref": "#/definitions/Monitoring" + }, + "migration": { + "description": "Migration related configuration.", + "$ref": "#/definitions/Migration" + }, + "clientConnection": { + "description": "Client connection related configuration.", + "$ref": "#/definitions/ClientConnection" + }, + "serviceType": { + "description": "Indicates if the resource represents a SQL Server engine or a SQL Server component service installed on the host.", + "$ref": "#/definitions/ServiceType" + } + } + }, + "DBMEndpoint": { + "type": "object", + "description": "Database mirroring endpoint related properties.", + "properties": { + "endpointName": { + "type": "string", + "description": "Name of the database mirroring endpoint.", + "readOnly": true + }, + "role": { + "type": "string", + "description": "Mirroring Role", + "readOnly": true, + "enum": [ + "NONE", + "PARTNER", + "WITNESS", + "ALL" + ], + "x-ms-enum": { + "name": "role", + "modelAsString": true + } + }, + "isEncryptionEnabled": { + "type": "boolean", + "description": "Is Encryption enabled", + "readOnly": true + }, + "encryptionAlgorithm": { + "description": "Encryption Algorithm", + "$ref": "./common.json#/definitions/EncryptionAlgorithm", + "readOnly": true + }, + "connectionAuth": { + "description": "The type of connection authentication required for connections to this endpoint", + "$ref": "./common.json#/definitions/ConnectionAuth", + "readOnly": true + }, + "port": { + "type": "integer", + "format": "int32", + "description": "The port number that the endpoint is listening on.", + "readOnly": true + }, + "isDynamicPort": { + "type": "boolean", + "description": "Is the port number dynamically assigned.", + "readOnly": true + }, + "ipAddress": { + "type": "string", + "description": "Listener IP address.", + "readOnly": true + }, + "certificateName": { + "type": "string", + "description": "Name of the certificate.", + "readOnly": true + } + } + }, + "FailoverCluster": { + "type": "object", + "description": "Failover Cluster Instance properties.", + "properties": { + "id": { + "type": "string", + "description": "The GUID of the SQL Server's underlying Failover Cluster.", + "readOnly": true + }, + "networkName": { + "type": "string", + "description": "The network name to connect to the SQL FCI.", + "readOnly": true + }, + "sqlInstanceIds": { + "type": "array", + "description": "The ARM IDs of the Arc SQL Server resources, belonging to the current server's Failover cluster.", + "readOnly": true, + "items": { + "type": "string" + } + }, + "hostNames": { + "type": "array", + "description": "The host names which are part of the SQL FCI resource group.", + "readOnly": true, + "items": { + "type": "string" + } + } + } + }, + "SqlServerInstanceUpdate": { + "description": "An update to a SQL Server Instance.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/SqlServerInstanceUpdateProperties", + "description": "null", + "x-ms-client-flatten": false + } + } + }, + "SqlServerInstanceListResult": { + "description": "A list of SqlServerInstance.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SqlServerInstance" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "BackupPolicy": { + "description": "The backup profile for the SQL server.", + "type": "object", + "properties": { + "retentionPeriodDays": { + "type": "integer", + "description": "The retention period for all the databases in this managed instance.", + "minimum": 0, + "maximum": 35, + "format": "int32" + }, + "fullBackupDays": { + "type": "integer", + "description": "The value indicating days between full backups.", + "minimum": 0, + "maximum": 7, + "format": "int32" + }, + "differentialBackupHours": { + "description": "The differential backup interval in hours.", + "enum": [ + 12, + 24 + ], + "type": "integer", + "format": "int32", + "x-ms-enum": { + "name": "differentialBackupHours", + "modelAsString": false + } + }, + "transactionLogBackupMinutes": { + "type": "integer", + "description": "The value indicating minutes between transaction log backups.", + "minimum": 0, + "maximum": 60, + "format": "int32" + } + } + }, + "Monitoring": { + "description": "The monitoring configuration.", + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates if monitoring is enabled for this SQL Server instance." + } + } + }, + "Migration": { + "description": "Migration related configuration.", + "type": "object", + "properties": { + "assessment": { + "description": "Migration assessments related configuration.", + "$ref": "#/definitions/MigrationAssessment" + } + } + }, + "MigrationAssessment": { + "description": "The migration assessment related configuration.", + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates if migration assessment is enabled for this SQL Server instance." + }, + "assessmentUploadTime": { + "type": "string", + "format": "date-time", + "description": "The time when Migration Assessment Report upload was last performed.", + "readOnly": true + }, + "serverAssessments": { + "$ref": "#/definitions/ServerAssessments" + }, + "skuRecommendationResults": { + "$ref": "#/definitions/SkuRecommendationResults" + } + } + }, + "ClientConnection": { + "description": "Client connection related configuration.", + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates if client connection is enabled for this SQL Server instance." + } + } + }, + "ServiceType": { + "description": "Indicates if the resource represents a SQL Server engine or a SQL Server component service installed on the host.", + "type": "string", + "enum": [ + "Engine", + "SSRS", + "SSAS", + "SSIS", + "PBIRS" + ], + "x-ms-enum": { + "name": "serviceType", + "modelAsString": true, + "values": [ + { + "value": "Engine", + "description": "SQL Server Database Services." + }, + { + "value": "SSRS", + "description": "SQL Server Reporting Services." + }, + { + "value": "SSAS", + "description": "SQL Server Analysis Services." + }, + { + "value": "SSIS", + "description": "SQL Server Integration Services." + }, + { + "value": "PBIRS", + "description": "Power BI Report Server." + } + ] + } + }, + "ServerAssessments": { + "description": "Issues and warnings impacting the migration of SQL Server instance to particular Azure Migration Target.", + "readOnly": true, + "type": "array", + "items": { + "type": "object", + "properties": { + "appliesToMigrationTargetPlatform": { + "type": "string" + }, + "featureId": { + "type": "string" + }, + "impactedObjects": { + "type": "array", + "items": { + "type": "object", + "properties": { + "impactDetail": { + "type": "string" + }, + "name": { + "type": "string" + }, + "objectType": { + "type": "string" + } + } + } + }, + "issueCategory": { + "type": "string" + }, + "moreInformation": { + "type": "string" + } + } + } + }, + "SkuRecommendationResults": { + "description": "SKU Recommendation results for Azure migration targets for SQL Server.", + "readOnly": true, + "type": "object", + "properties": { + "azureSqlDatabase": { + "$ref": "#/definitions/SkuRecommendationResultsAzureSqlDatabase" + }, + "azureSqlManagedInstance": { + "$ref": "#/definitions/SkuRecommendationResultsAzureSqlManagedInstance" + }, + "azureSqlVirtualMachine": { + "$ref": "#/definitions/SkuRecommendationResultsAzureSqlVirtualMachine" + } + } + }, + "SkuRecommendationResultsAzureSqlDatabase": { + "description": "SKU Recommendation results for Azure SQL Database.", + "type": "object", + "properties": { + "recommendationStatus": { + "$ref": "./common.json#/definitions/SkuRecommendationResultsRecommendationStatus" + }, + "numberOfServerBlockerIssues": { + "$ref": "#/definitions/SkuRecommendationResultsNumberOfServerBlockerIssues" + }, + "monthlyCost": { + "$ref": "#/definitions/SkuRecommendationResultsMonthlyCost" + }, + "targetSku": { + "type": "object", + "properties": { + "category": { + "type": "object", + "properties": { + "computeTier": { + "type": "string", + "description": "The compute tier of the target SKU." + }, + "hardwareType": { + "type": "string", + "description": "The hardware type of the target SKU." + }, + "sqlPurchasingModel": { + "type": "string", + "description": "The SQL purchasing model of the target SKU." + }, + "sqlServiceTier": { + "type": "string", + "description": "The SQL service tier of the target SKU." + }, + "zoneRedundancyAvailable": { + "type": "boolean", + "description": "Indicates if zone redundancy is available for the target SKU." + } + } + } + } + } + } + }, + "SkuRecommendationResultsAzureSqlManagedInstance": { + "description": "SKU Recommendation results for Azure SQL Managed Instance.", + "type": "object", + "properties": { + "recommendationStatus": { + "$ref": "./common.json#/definitions/SkuRecommendationResultsRecommendationStatus" + }, + "numberOfServerBlockerIssues": { + "$ref": "#/definitions/SkuRecommendationResultsNumberOfServerBlockerIssues" + }, + "monthlyCost": { + "$ref": "#/definitions/SkuRecommendationResultsMonthlyCost" + }, + "targetSku": { + "type": "object", + "properties": { + "category": { + "type": "object", + "properties": { + "computeTier": { + "type": "string", + "description": "The compute tier of the target SKU." + }, + "hardwareType": { + "type": "string", + "description": "The hardware type of the target SKU." + }, + "sqlPurchasingModel": { + "type": "string", + "description": "The SQL purchasing model of the target SKU." + }, + "sqlServiceTier": { + "type": "string", + "description": "The SQL service tier of the target SKU." + }, + "zoneRedundancyAvailable": { + "type": "boolean", + "description": "Indicates if zone redundancy is available for the target SKU." + } + } + } + } + } + } + }, + "SkuRecommendationResultsAzureSqlVirtualMachine": { + "description": "SKU Recommendation results for Azure SQL Virtual Machine.", + "type": "object", + "properties": { + "recommendationStatus": { + "$ref": "./common.json#/definitions/SkuRecommendationResultsRecommendationStatus" + }, + "numberOfServerBlockerIssues": { + "$ref": "#/definitions/SkuRecommendationResultsNumberOfServerBlockerIssues" + }, + "monthlyCost": { + "$ref": "#/definitions/SkuRecommendationResultsMonthlyCost" + }, + "targetSku": { + "type": "object", + "properties": { + "category": { + "type": "object", + "properties": { + "availableVmSkus": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Available VM SKUs for the Azure SQL Virtual Machine." + }, + "virtualMachineFamily": { + "type": "string", + "description": "The virtual machine family of the target SKU." + } + } + } + } + } + } + }, + "SkuRecommendationResultsNumberOfServerBlockerIssues": { + "description": "Number of blocker issues to fix before migrating to the target platform.", + "type": "integer", + "format": "int32" + }, + "SkuRecommendationResultsMonthlyCost": { + "description": "The Monthly cost of the particular SKU.", + "type": "object", + "properties": { + "computeCost": { + "format": "float", + "description": "Represents the Cost of Compute.", + "type": "number" + }, + "storageCost": { + "format": "float", + "description": "Represents the Cost of Storage.", + "type": "number" + }, + "totalCost": { + "format": "float", + "description": "Represents the Total Cost.", + "type": "number" + } + } + }, + "SqlServerInstanceTelemetryRequest": { + "description": "The Arc SQL Server instance telemetry retrieval request.", + "type": "object", + "properties": { + "datasetName": { + "type": "string", + "description": "The name of the telemetry dataset to retrieve." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time for the time range to fetch telemetry for. If not specified, the current time minus 1 hour is used." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end time for the time range to fetch telemetry for. If not specified, the current time is used." + }, + "interval": { + "type": "string", + "format": "duration", + "description": "The time granularity to fetch telemetry for. This is an ISO8601 duration. Examples: PT15M, PT1H, P1D", + "default": "PT1H" + }, + "aggregationType": { + "type": "string", + "description": "The aggregation type to use for the numerical columns in the dataset.", + "enum": [ + "Average", + "Minimum", + "Maximum", + "Sum", + "Count" + ], + "x-ms-enum": { + "name": "aggregationType", + "modelAsString": true + }, + "default": "Average" + }, + "databaseNames": { + "type": "array", + "description": "The list of database names to return telemetry for. If not specified, telemetry for all databases will be aggregated and returned.", + "items": { + "type": "string" + } + } + }, + "required": [ + "datasetName" + ] + }, + "SqlServerInstanceTelemetryColumn": { + "description": "The telemetry column for the SQL Server instance.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the telemetry column." + }, + "type": { + "type": "string", + "description": "The type of the telemetry column.", + "enum": [ + "bool", + "datetime", + "int", + "long", + "double", + "string", + "guid", + "timespan" + ], + "x-ms-enum": { + "name": "SqlServerInstanceTelemetryColumnType", + "modelAsString": true + } + } + } + }, + "SqlServerInstanceTelemetryRow": { + "description": "An array of values representing a telemetry row for the SQL Server instance.", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + }, + "SqlServerInstanceTelemetryResponse": { + "description": "A section of the telemetry response for the SQL Server instance.", + "type": "object", + "properties": { + "columns": { + "description": "The columns of the result telemetry table for the SQL Server instance.", + "type": "array", + "items": { + "$ref": "#/definitions/SqlServerInstanceTelemetryColumn" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "rows": { + "description": "A list of rows from the result telemetry table for the SQL Server instance.", + "type": "array", + "items": { + "$ref": "#/definitions/SqlServerInstanceTelemetryRow" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "description": "The link to the next section of rows of the telemetry response for the SQL Server instance. Null if no more sections are available.", + "readOnly": true + } + }, + "required": [ + "columns", + "rows" + ] + }, + "SqlServerInstanceRunMigrationAssessmentResponse": { + "description": "The response for running migration assessment on the SQL Server instance.", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier of the job." + }, + "instanceName": { + "type": "string", + "description": "The name of the SQL Server instance." + }, + "jobStatus": { + "type": "string", + "description": "The status of the job.", + "enum": [ + "NotStarted", + "InProgress", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "jobStatus", + "modelAsString": true + } + }, + "jobException": { + "type": "string", + "description": "The exception message if the job failed." + }, + "backgroundJob": { + "type": "object", + "description": "The background job details.", + "$ref": "#/definitions/BackgroundJob" + }, + "sequencerActions": { + "type": "array", + "description": "The list of sequencer actions.", + "items": { + "$ref": "#/definitions/SequencerAction" + }, + "x-ms-identifiers": [ + "actionId" + ] + } + } + }, + "SqlServerInstanceJobsStatusRequest": { + "description": "The request for the status of the jobs running on the SQL Server instance.", + "type": "object", + "properties": { + "featureName": { + "type": "string", + "description": "The name of the feature to retrieve the job status for." + }, + "jobType": { + "type": "string", + "description": "The type of the job to retrieve the status for." + } + } + }, + "SqlServerInstanceJobsStatusResponse": { + "description": "The response for the status of the jobs running on the SQL Server instance.", + "type": "object", + "properties": { + "jobsStatus": { + "type": "array", + "description": "The list of jobs status running on the SQL Server instance.", + "items": { + "$ref": "#/definitions/SqlServerInstanceJobStatus" + }, + "x-ms-identifiers": [ + "id" + ] + } + } + }, + "SqlServerInstanceJobStatus": { + "description": "The status of the job running on the SQL Server instance.", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier of the job." + }, + "instanceName": { + "type": "string", + "description": "The name of the SQL Server instance." + }, + "jobStatus": { + "type": "string", + "description": "The status of the job.", + "enum": [ + "NotStarted", + "InProgress", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "jobStatus", + "modelAsString": true + } + }, + "jobException": { + "type": "string", + "description": "The exception message if the job failed." + }, + "backgroundJob": { + "type": "object", + "description": "The background job details.", + "$ref": "#/definitions/BackgroundJob" + }, + "sequencerActions": { + "type": "array", + "description": "The list of sequencer actions.", + "items": { + "$ref": "#/definitions/SequencerAction" + }, + "x-ms-identifiers": [ + "actionId" + ] + } + } + }, + "BackgroundJob": { + "description": "The background job details.", + "type": "object", + "properties": { + "state": { + "type": "string", + "description": "The state of the background job.", + "enum": [ + "Enabled", + "Disabled", + "Deleted", + "Completed", + "Faulted", + "Suspended" + ], + "x-ms-enum": { + "name": "state", + "modelAsString": true + } + }, + "executionState": { + "type": "string", + "description": "The execution state of the background job.", + "enum": [ + "Waiting", + "Running" + ], + "x-ms-enum": { + "name": "executionState", + "modelAsString": true + } + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the background job." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end time of the background job." + }, + "lastExecutionStatus": { + "type": "string", + "description": "The last execution status of the background job.", + "enum": [ + "Succeeded", + "Completed", + "Failed", + "Faulted", + "Postponed", + "Rescheduled" + ], + "x-ms-enum": { + "name": "lastExecutionStatus", + "modelAsString": true + } + }, + "lastExecutionTime": { + "type": "string", + "format": "date-time", + "description": "The last execution time of the background job." + } + } + }, + "SequencerAction": { + "description": "The sequencer action details.", + "type": "object", + "properties": { + "actionId": { + "type": "string", + "description": "The unique identifier of the sequencer action." + }, + "state": { + "type": "string", + "description": "The state of the sequencer action.", + "enum": [ + "NotStarted", + "WaitingPredecessors", + "ExecutingAction", + "CreatingSuccessors", + "Completed" + ], + "x-ms-enum": { + "name": "sequencerState", + "modelAsString": true + } + }, + "result": { + "type": "string", + "description": "The result of the sequencer action.", + "enum": [ + "NotCompleted", + "Succeeded", + "Failed", + "TimedOut", + "Skipped" + ], + "x-ms-enum": { + "name": "result", + "modelAsString": true + } + } + } + } + }, + "parameters": { + "apiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the request", + "x-ms-parameter-location": "client" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/sqlServerLicenses.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/sqlServerLicenses.json new file mode 100644 index 000000000000..a54c9f98d397 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2024-05-01-preview/sqlServerLicenses.json @@ -0,0 +1,259 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-05-01-preview", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "paths": {}, + "definitions": { + "SqlServerLicense": { + "description": "Describe SQL Server license resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SqlServerLicenseProperties", + "description": "SQL Server license properties", + "x-ms-client-flatten": false + } + }, + "required": [ + "properties" + ] + }, + "SqlServerLicenseProperties": { + "description": "Properties of SQL Server License.", + "type": "object", + "properties": { + "billingPlan": { + "type": "string", + "description": "SQL Server license type.", + "enum": [ + "PAYG", + "Paid" + ], + "x-ms-enum": { + "name": "billingPlan", + "modelAsString": true + } + }, + "physicalCores": { + "type": "integer", + "format": "int32", + "multipleOf": 2, + "minimum": 16, + "description": "The number of total cores of the license covers." + }, + "licenseCategory": { + "type": "string", + "description": "This property represents the choice between SQL Server Core and ESU licenses.", + "enum": [ + "Core" + ], + "x-ms-enum": { + "name": "licenseCategory", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "activationState": { + "type": "string", + "description": "The activation state of the license.", + "enum": [ + "Activated", + "Deactivated" + ], + "x-ms-enum": { + "name": "activationState", + "modelAsString": true + } + }, + "scopeType": { + "type": "string", + "description": "The Azure scope to which the license will apply.", + "enum": [ + "Tenant", + "Subscription", + "ResourceGroup" + ], + "x-ms-enum": { + "name": "scopeType", + "modelAsString": true + } + }, + "lastActivatedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of the most recent activation of the SqlServerLicense.", + "readOnly": true + }, + "lastDeactivatedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of the most recent deactivation of the SqlServerLicense.", + "readOnly": true + }, + "tenantId": { + "type": "string", + "description": "The tenantId the SQL Server license resource subscription resides in.", + "readOnly": true + } + }, + "required": [ + "billingPlan", + "physicalCores", + "licenseCategory", + "scopeType", + "activationState" + ] + }, + "SqlServerLicenseUpdateProperties": { + "description": "Properties of update SqlServerLicense.", + "type": "object", + "properties": { + "billingPlan": { + "type": "string", + "description": "SQL Server license type.", + "enum": [ + "PAYG", + "Paid" + ], + "x-ms-enum": { + "name": "billingPlan", + "modelAsString": true + } + }, + "physicalCores": { + "type": "integer", + "format": "int32", + "multipleOf": 2, + "minimum": 16, + "description": "The number of total cores of the license covers." + }, + "licenseCategory": { + "type": "string", + "description": "This property represents the choice between SQL Server Core and ESU licenses.", + "enum": [ + "Core" + ], + "x-ms-enum": { + "name": "licenseCategory", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "activationState": { + "type": "string", + "description": "The activation state of the license.", + "enum": [ + "Activated", + "Deactivated" + ], + "x-ms-enum": { + "name": "activationState", + "modelAsString": true + } + }, + "scopeType": { + "type": "string", + "description": "The Azure scope to which the license will apply.", + "enum": [ + "Tenant", + "Subscription", + "ResourceGroup" + ], + "x-ms-enum": { + "name": "scopeType", + "modelAsString": true + } + }, + "lastActivatedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of the most recent activation of the SqlServerLicense.", + "readOnly": true + }, + "lastDeactivatedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of the most recent deactivation of the SqlServerLicense.", + "readOnly": true + }, + "tenantId": { + "type": "string", + "description": "The tenantId the SQL Server license resource subscription resides in.", + "readOnly": true + } + } + }, + "SqlServerLicenseUpdate": { + "description": "An update to a SQL Server license resource.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/SqlServerLicenseUpdateProperties", + "description": "null", + "x-ms-client-flatten": false + } + } + }, + "SqlServerLicenseListResult": { + "description": "A list of SQL Server licenses.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SqlServerLicense" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "apiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the request", + "x-ms-parameter-location": "client" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/readme.md b/specification/azurearcdata/resource-manager/readme.md index a8737cff2a94..f422b91b3609 100644 --- a/specification/azurearcdata/resource-manager/readme.md +++ b/specification/azurearcdata/resource-manager/readme.md @@ -27,7 +27,7 @@ These are the global settings for the azurearcdata. ``` yaml openapi-type: arm openapi-subtype: rpaas -tag: package-2024-01 +tag: package-preview-2024-05 ``` ``` yaml @@ -44,6 +44,27 @@ directive: reason: No Unicode support for attribute pattern regex on sqlServerInstanceName and others. This should be fixed by tooling. ``` +### Tag: package-preview-2024-05 + +These settings apply only when `--tag=package-preview-2024-05` is specified on the command line. + +```yaml $(tag) == 'package-preview-2024-05' +input-file: + - Microsoft.AzureArcData/preview/2024-05-01-preview/activeDirectoryConnectors.json + - Microsoft.AzureArcData/preview/2024-05-01-preview/azurearcdata.json + - Microsoft.AzureArcData/preview/2024-05-01-preview/common.json + - Microsoft.AzureArcData/preview/2024-05-01-preview/dataControllers.json + - Microsoft.AzureArcData/preview/2024-05-01-preview/failoverGroups.json + - Microsoft.AzureArcData/preview/2024-05-01-preview/operations.json + - Microsoft.AzureArcData/preview/2024-05-01-preview/postgresInstances.json + - Microsoft.AzureArcData/preview/2024-05-01-preview/sqlManagedInstances.json + - Microsoft.AzureArcData/preview/2024-05-01-preview/sqlServerAvailabilityGroups.json + - Microsoft.AzureArcData/preview/2024-05-01-preview/sqlServerDatabases.json + - Microsoft.AzureArcData/preview/2024-05-01-preview/sqlServerEsuLicenses.json + - Microsoft.AzureArcData/preview/2024-05-01-preview/sqlServerInstances.json + - Microsoft.AzureArcData/preview/2024-05-01-preview/sqlServerLicenses.json +``` + ### Tag: package-2024-01 These settings apply only when `--tag=package-2024-01` is specified on the command line.