By clicking the Create button, I acknowledge that I am getting this software from Canonical and that the legal terms of Canonical apply to it. Microsoft does not provide rights for third-party software. Also see the privacy statement from Canonical.
\"},\"extendedProperties\":{\"osType\":\"Linux\",\"offer\":\"UbuntuServer\",\"offerVersion\":\"1.0.52\",\"sku\":\"14.04.5-LTS\",\"galleryItemIdentity\":\"Canonical.UbuntuServer1404LTS-ARM.1.0.52\"},\"links\":[{\"name\":[],\"uri\":[]},{\"name\":[],\"uri\":[]},{\"name\":[],\"uri\":[]},{\"name\":[],\"uri\":[]}],\"iconUris\":{\"medium\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Medium.png\",\"wide\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Wide.png\",\"large\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Large.png\",\"small\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Small.png\"},\"payloadLength\":32212288276,\"compatibility\":{\"isCompatible\":true,\"message\":\"None\",\"description\":\"None\",\"issues\":[]}}",
+ "contentVersion": "2018-01-01",
+ "publisherId": "publisher1",
+ "provisioningState": "Succeeded",
+ "skuMappings": [
+ {
+ "catalogPlanId": "microsoftsqlserver.sql2019-ubuntu2004enterprise-arm",
+ "marketplaceSkuId": "enterprise",
+ "marketplaceSkuVersions": [
+ "15.0.220208"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2023-08-01-preview/examples/GetPublisher.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2023-08-01-preview/examples/GetPublisher.json
new file mode 100644
index 000000000000..f89e6e03dc66
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2023-08-01-preview/examples/GetPublisher.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "publisherName": "publisher1",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/publishers/publisher1",
+ "type": "Microsoft.AzureStackHCI/clusters/publishers",
+ "name": "publisher1"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2023-08-01-preview/examples/GetSku.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2023-08-01-preview/examples/GetSku.json
new file mode 100644
index 000000000000..fdd7d980ccb2
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2023-08-01-preview/examples/GetSku.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "publisherName": "publisher1",
+ "offerName": "offer1",
+ "skuName": "sku1",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/publishers/publisher1/offers/offer1/skus/sku1",
+ "type": "Microsoft.AzureStackHCI/clusters/publishers/offers/skus",
+ "name": "sku1",
+ "properties": {
+ "publisherId": "publisher1",
+ "offerId": "offer1",
+ "content": "{\"id\":\"canonical.ubuntuserver1404lts-arm-14.04.201808140\",\"displayName\":\"Ubuntu Server 14.04 LTS\",\"publisherId\":\"Canonical\",\"publisherName\":\"Canonical\",\"type\":\"VirtualMachine\",\"version\":\"14.04.201808140\",\"properties\":{\"description\":\"Ubuntu Server 14.04.5 LTS amd64. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04 LTS will be available until 2019-04-17. Ubuntu Server is the perfect virtual machine (VM) platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see Ubuntu on Azure and using Juju to deploy your workloads.
Legal Terms
By clicking the Create button, I acknowledge that I am getting this software from Canonical and that the legal terms of Canonical apply to it. Microsoft does not provide rights for third-party software. Also see the privacy statement from Canonical.
By clicking the Create button, I acknowledge that I am getting this software from Canonical and that the legal terms of Canonical apply to it. Microsoft does not provide rights for third-party software. Also see the privacy statement from Canonical.
\"},\"extendedProperties\":{\"osType\":\"Linux\",\"offer\":\"UbuntuServer\",\"offerVersion\":\"1.0.52\",\"sku\":\"14.04.5-LTS\",\"galleryItemIdentity\":\"Canonical.UbuntuServer1404LTS-ARM.1.0.52\"},\"links\":[{\"name\":[],\"uri\":[]},{\"name\":[],\"uri\":[]},{\"name\":[],\"uri\":[]},{\"name\":[],\"uri\":[]}],\"iconUris\":{\"medium\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Medium.png\",\"wide\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Wide.png\",\"large\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Large.png\",\"small\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Small.png\"},\"payloadLength\":32212288276,\"compatibility\":{\"isCompatible\":true,\"message\":\"None\",\"description\":\"None\",\"issues\":[]}}",
+ "contentVersion": "2018-01-01",
+ "publisherId": "publisher1",
+ "provisioningState": "Succeeded",
+ "skuMappings": [
+ {
+ "catalogPlanId": "microsoftsqlserver.sql2019-ubuntu2004enterprise-arm",
+ "marketplaceSkuId": "enterprise",
+ "marketplaceSkuVersions": [
+ "15.0.220208"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2023-08-01-preview/examples/ListOffersByPublisher.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2023-08-01-preview/examples/ListOffersByPublisher.json
new file mode 100644
index 000000000000..e448562e16b2
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2023-08-01-preview/examples/ListOffersByPublisher.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "publisherName": "publisher1",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/publishers/publisher1/offers/offer1",
+ "type": "Microsoft.AzureStackHCI/clusters/publishers/offers",
+ "name": "offer1",
+ "properties": {
+ "content": "{\"id\":\"canonical.ubuntuserver1404lts-arm-14.04.201808140\",\"displayName\":\"Ubuntu Server 14.04 LTS\",\"publisherId\":\"Canonical\",\"publisherName\":\"Canonical\",\"type\":\"VirtualMachine\",\"version\":\"14.04.201808140\",\"properties\":{\"description\":\"Ubuntu Server 14.04.5 LTS amd64. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04 LTS will be available until 2019-04-17. Ubuntu Server is the perfect virtual machine (VM) platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see Ubuntu on Azure and using Juju to deploy your workloads.
Legal Terms
By clicking the Create button, I acknowledge that I am getting this software from Canonical and that the legal terms of Canonical apply to it. Microsoft does not provide rights for third-party software. Also see the privacy statement from Canonical.
By clicking the Create button, I acknowledge that I am getting this software from Canonical and that the legal terms of Canonical apply to it. Microsoft does not provide rights for third-party software. Also see the privacy statement from Canonical.
**Max-length:** 20 characters"
+ },
+ "adminPassword": {
+ "type": "string",
+ "description": "Specifies the password of the administrator account.
**Minimum-length:** 8 characters
**Max-length:** 123 characters
**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\\W_])
**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\""
+ },
+ "licenseType": {
+ "type": "string",
+ "enum": [
+ "None",
+ "Windows_Server"
+ ],
+ "x-ms-enum": {
+ "name": "licenseType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "No additional licensing is applied."
+ },
+ {
+ "value": "Windows_Server",
+ "description": "Enables Azure Hybrid User Benefits for Windows VMs."
+ }
+ ]
+ },
+ "description": "The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details."
+ },
+ "enableCSIProxy": {
+ "type": "boolean",
+ "title": "Whether to enable CSI proxy.",
+ "description": "For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy)."
+ },
+ "gmsaProfile": {
+ "$ref": "#/definitions/WindowsGmsaProfile",
+ "description": "The Windows gMSA Profile in the Managed Cluster."
+ }
+ },
+ "required": [
+ "adminUsername"
+ ],
+ "description": "Profile for Windows VMs in the managed cluster."
+ },
+ "WindowsGmsaProfile": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "title": "Whether to enable Windows gMSA.",
+ "description": "Specifies whether to enable Windows gMSA in the managed cluster."
+ },
+ "dnsServer": {
+ "type": "string",
+ "description": "Specifies the DNS server for Windows gMSA.
Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster."
+ },
+ "rootDomainName": {
+ "type": "string",
+ "description": "Specifies the root domain name for Windows gMSA.
Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster."
+ }
+ },
+ "description": "Windows gMSA Profile in the managed cluster."
+ },
+ "ContainerServiceLinuxProfile": {
+ "type": "object",
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "The administrator username to use for Linux VMs.",
+ "pattern": "^[A-Za-z][-A-Za-z0-9_]*$"
+ },
+ "ssh": {
+ "$ref": "#/definitions/ContainerServiceSshConfiguration",
+ "description": "The SSH configuration for Linux-based VMs running on Azure."
+ }
+ },
+ "required": [
+ "adminUsername",
+ "ssh"
+ ],
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "ManagedClusterNodeResourceGroupProfile": {
+ "type": "object",
+ "properties": {
+ "restrictionLevel": {
+ "type": "string",
+ "enum": [
+ "Unrestricted",
+ "ReadOnly"
+ ],
+ "x-ms-enum": {
+ "name": "RestrictionLevel",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unrestricted",
+ "description": "All RBAC permissions are allowed on the managed node resource group"
+ },
+ {
+ "value": "ReadOnly",
+ "description": "Only */read RBAC permissions allowed on the managed node resource group"
+ }
+ ]
+ },
+ "description": "The restriction level applied to the cluster's node resource group"
+ }
+ },
+ "description": "Node resource group lockdown profile for a managed cluster."
+ },
+ "ContainerServiceNetworkProfile": {
+ "type": "object",
+ "properties": {
+ "networkPlugin": {
+ "$ref": "#/definitions/NetworkPlugin",
+ "description": "Network plugin used for building the Kubernetes network."
+ },
+ "networkPluginMode": {
+ "$ref": "#/definitions/NetworkPluginMode",
+ "description": "Network plugin mode used for building the Kubernetes network."
+ },
+ "networkPolicy": {
+ "$ref": "#/definitions/NetworkPolicy",
+ "description": "Network policy used for building the Kubernetes network."
+ },
+ "networkMode": {
+ "$ref": "#/definitions/NetworkMode",
+ "title": "The network mode Azure CNI is configured with.",
+ "description": "This cannot be specified if networkPlugin is anything other than 'azure'."
+ },
+ "networkDataplane": {
+ "$ref": "#/definitions/NetworkDataplane",
+ "description": "Network dataplane used in the Kubernetes cluster."
+ },
+ "podCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.244.0.0/16",
+ "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used."
+ },
+ "serviceCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.0.0.0/16",
+ "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges."
+ },
+ "dnsServiceIP": {
+ "type": "string",
+ "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
+ "default": "10.0.0.10",
+ "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr."
+ },
+ "outboundType": {
+ "type": "string",
+ "enum": [
+ "loadBalancer",
+ "userDefinedRouting",
+ "managedNATGateway",
+ "userAssignedNATGateway"
+ ],
+ "x-ms-enum": {
+ "name": "outboundType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "loadBalancer",
+ "description": "The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer)."
+ },
+ {
+ "value": "userDefinedRouting",
+ "description": "Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting)."
+ },
+ {
+ "value": "managedNATGateway",
+ "description": "The AKS-managed NAT gateway is used for egress."
+ },
+ {
+ "value": "userAssignedNATGateway",
+ "description": "The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration."
+ }
+ ]
+ },
+ "default": "loadBalancer",
+ "title": "The outbound (egress) routing method.",
+ "description": "This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype)."
+ },
+ "loadBalancerSku": {
+ "$ref": "#/definitions/LoadBalancerSku",
+ "title": "The load balancer sku for the managed cluster.",
+ "description": "The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs."
+ },
+ "loadBalancerProfile": {
+ "$ref": "#/definitions/ManagedClusterLoadBalancerProfile",
+ "description": "Profile of the cluster load balancer."
+ },
+ "natGatewayProfile": {
+ "$ref": "#/definitions/ManagedClusterNATGatewayProfile",
+ "description": "Profile of the cluster NAT gateway."
+ },
+ "podCidrs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The CIDR notation IP ranges from which to assign pod IPs.",
+ "description": "One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking."
+ },
+ "serviceCidrs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The CIDR notation IP ranges from which to assign service cluster IPs.",
+ "description": "One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges."
+ },
+ "ipFamilies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ipFamily",
+ "description": "The IP version to use for cluster networking and IP assignment."
+ },
+ "title": "The IP families used to specify IP versions available to the cluster.",
+ "description": "IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6."
+ },
+ "kubeProxyConfig": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by default without these customizations)."
+ },
+ "mode": {
+ "type": "string",
+ "enum": [
+ "IPTABLES",
+ "IPVS"
+ ],
+ "x-ms-enum": {
+ "name": "mode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "IPTABLES",
+ "description": "IPTables proxy mode"
+ },
+ {
+ "value": "IPVS",
+ "description": "IPVS proxy mode. Must be using Kubernetes version >= 1.22."
+ }
+ ]
+ },
+ "description": "Specify which proxy mode to use ('IPTABLES' or 'IPVS')"
+ },
+ "ipvsConfig": {
+ "type": "object",
+ "properties": {
+ "scheduler": {
+ "type": "string",
+ "enum": [
+ "RoundRobin",
+ "LeastConnection"
+ ],
+ "x-ms-enum": {
+ "name": "ipvsScheduler",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "RoundRobin",
+ "description": "Round Robin"
+ },
+ {
+ "value": "LeastConnection",
+ "description": "Least Connection"
+ }
+ ]
+ },
+ "description": "IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html."
+ },
+ "tcpTimeoutSeconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value."
+ },
+ "tcpFinTimeoutSeconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive integer value."
+ },
+ "udpTimeoutSeconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value."
+ }
+ },
+ "description": "Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'."
+ }
+ },
+ "description": "Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'."
+ },
+ "monitoring": {
+ "$ref": "#/definitions/NetworkMonitoring"
+ }
+ },
+ "description": "Profile of network configuration."
+ },
+ "MaintenanceConfigurationListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
+ },
+ "description": "The list of maintenance configurations."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of maintenance configuration results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List maintenance configurations operation."
+ },
+ "MaintenanceConfiguration": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/systemData",
+ "readOnly": true,
+ "description": "The system metadata relating to this resource."
+ },
+ "properties": {
+ "description": "Properties of a default maintenance configuration.",
+ "$ref": "#/definitions/MaintenanceConfigurationProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "title": "Planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster.",
+ "description": "See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance."
+ },
+ "MaintenanceConfigurationProperties": {
+ "type": "object",
+ "properties": {
+ "timeInWeek": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeInWeek"
+ },
+ "title": "Time slots during the week when planned maintenance is allowed to proceed.",
+ "x-ms-identifiers": [],
+ "description": "If two array entries specify the same day of the week, the applied configuration is the union of times in both entries."
+ },
+ "notAllowedTime": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSpan"
+ },
+ "x-ms-identifiers": [],
+ "description": "Time slots on which upgrade is not allowed."
+ },
+ "maintenanceWindow": {
+ "type": "object",
+ "$ref": "#/definitions/MaintenanceWindow",
+ "description": "Maintenance window for the maintenance configuration."
+ }
+ },
+ "description": "Properties used to configure planned maintenance for a Managed Cluster."
+ },
+ "MaintenanceWindow": {
+ "type": "object",
+ "properties": {
+ "schedule": {
+ "$ref": "#/definitions/Schedule",
+ "description": "Recurrence schedule for the maintenance window."
+ },
+ "durationHours": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 4,
+ "maximum": 24,
+ "default": 24,
+ "description": "Length of maintenance window range from 4 to 24 hours."
+ },
+ "utcOffset": {
+ "type": "string",
+ "pattern": "^(-|\\+)[0-9]{2}:[0-9]{2}$",
+ "description": "The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'."
+ },
+ "startDate": {
+ "type": "string",
+ "format": "date",
+ "description": "The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away."
+ },
+ "startTime": {
+ "type": "string",
+ "pattern": "^\\d{2}:\\d{2}$",
+ "description": "The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'."
+ },
+ "notAllowedDates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DateSpan"
+ },
+ "x-ms-identifiers": [],
+ "description": "Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time."
+ }
+ },
+ "description": "Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster.",
+ "required": [
+ "schedule",
+ "durationHours",
+ "startTime"
+ ]
+ },
+ "Schedule": {
+ "type": "object",
+ "properties": {
+ "daily": {
+ "$ref": "#/definitions/DailySchedule"
+ },
+ "weekly": {
+ "$ref": "#/definitions/WeeklySchedule"
+ },
+ "absoluteMonthly": {
+ "$ref": "#/definitions/AbsoluteMonthlySchedule"
+ },
+ "relativeMonthly": {
+ "$ref": "#/definitions/RelativeMonthlySchedule"
+ }
+ },
+ "description": "One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or 'relativeMonthly' for your maintenance schedule."
+ },
+ "DailySchedule": {
+ "type": "object",
+ "properties": {
+ "intervalDays": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 7,
+ "description": "Specifies the number of days between each set of occurrences."
+ }
+ },
+ "description": "For schedules like: 'recur every day' or 'recur every 3 days'.",
+ "required": [
+ "intervalDays"
+ ]
+ },
+ "WeeklySchedule": {
+ "type": "object",
+ "properties": {
+ "intervalWeeks": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 4,
+ "description": "Specifies the number of weeks between each set of occurrences."
+ },
+ "dayOfWeek": {
+ "$ref": "#/definitions/WeekDay",
+ "description": "Specifies on which day of the week the maintenance occurs."
+ }
+ },
+ "description": "For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'.",
+ "required": [
+ "intervalWeeks",
+ "dayOfWeek"
+ ]
+ },
+ "AbsoluteMonthlySchedule": {
+ "type": "object",
+ "properties": {
+ "intervalMonths": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 6,
+ "description": "Specifies the number of months between each set of occurrences."
+ },
+ "dayOfMonth": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 31,
+ "description": "The date of the month."
+ }
+ },
+ "description": "For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'.",
+ "required": [
+ "intervalMonths",
+ "dayOfMonth"
+ ]
+ },
+ "RelativeMonthlySchedule": {
+ "type": "object",
+ "properties": {
+ "intervalMonths": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 6,
+ "description": "Specifies the number of months between each set of occurrences."
+ },
+ "weekIndex": {
+ "type": "string",
+ "enum": [
+ "First",
+ "Second",
+ "Third",
+ "Fourth",
+ "Last"
+ ],
+ "x-ms-enum": {
+ "name": "type",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "First",
+ "description": "First."
+ },
+ {
+ "value": "Second",
+ "description": "Second."
+ },
+ {
+ "value": "Third",
+ "description": "Third."
+ },
+ {
+ "value": "Fourth",
+ "description": "Fourth."
+ },
+ {
+ "value": "Last",
+ "description": "Last."
+ }
+ ]
+ },
+ "title": "The week index.",
+ "description": "Specifies on which instance of the allowed days specified in daysOfWeek the maintenance occurs."
+ },
+ "dayOfWeek": {
+ "$ref": "#/definitions/WeekDay",
+ "description": "Specifies on which day of the week the maintenance occurs."
+ }
+ },
+ "description": "For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'.",
+ "required": [
+ "intervalMonths",
+ "weekIndex",
+ "dayOfWeek"
+ ]
+ },
+ "DateSpan": {
+ "type": "object",
+ "properties": {
+ "start": {
+ "type": "string",
+ "format": "date",
+ "description": "The start date of the date span."
+ },
+ "end": {
+ "type": "string",
+ "format": "date",
+ "description": "The end date of the date span."
+ }
+ },
+ "title": "A date range.",
+ "description": "For example, between '2022-12-23' and '2023-01-05'.",
+ "required": [
+ "start",
+ "end"
+ ]
+ },
+ "TimeInWeek": {
+ "type": "object",
+ "properties": {
+ "day": {
+ "$ref": "#/definitions/WeekDay",
+ "description": "The day of the week."
+ },
+ "hourSlots": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HourInDay"
+ },
+ "title": "A list of hours in the day used to identify a time range.",
+ "description": "Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range."
+ }
+ },
+ "description": "Time in a week."
+ },
+ "WeekDay": {
+ "type": "string",
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "x-ms-enum": {
+ "name": "WeekDay",
+ "modelAsString": true
+ },
+ "description": "The weekday enum."
+ },
+ "HourInDay": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 23,
+ "minimum": 0,
+ "description": "Hour in a day."
+ },
+ "TimeSpan": {
+ "type": "object",
+ "properties": {
+ "start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The start of a time span"
+ },
+ "end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end of a time span"
+ }
+ },
+ "title": "A time range.",
+ "description": "For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z."
+ },
+ "RunCommandRequest": {
+ "type": "object",
+ "properties": {
+ "command": {
+ "type": "string",
+ "description": "The command to run."
+ },
+ "context": {
+ "type": "string",
+ "description": "A base64 encoded zip file containing the files required by the command."
+ },
+ "clusterToken": {
+ "type": "string",
+ "description": "AuthToken issued for AKS AAD Server App."
+ }
+ },
+ "description": "A run command request",
+ "required": [
+ "command"
+ ]
+ },
+ "RunCommandResult": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The command id.",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "Properties of command result.",
+ "$ref": "#/definitions/CommandResultProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "description": "run command result."
+ },
+ "CommandResultProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "provisioning State"
+ },
+ "exitCode": {
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true,
+ "description": "The exit code of the command"
+ },
+ "startedAt": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The time when the command started."
+ },
+ "finishedAt": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The time when the command finished."
+ },
+ "logs": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The command output."
+ },
+ "reason": {
+ "type": "string",
+ "readOnly": true,
+ "description": "An explanation of why provisioningState is set to failed (if so)."
+ }
+ },
+ "description": "The results of a run command"
+ },
+ "ManagedClusterNATGatewayProfile": {
+ "type": "object",
+ "properties": {
+ "managedOutboundIPProfile": {
+ "$ref": "#/definitions/ManagedClusterManagedOutboundIPProfile",
+ "description": "Profile of the managed outbound IP resources of the cluster NAT gateway."
+ },
+ "effectiveOutboundIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "The effective outbound IP resources of the cluster NAT gateway."
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 120,
+ "minimum": 4,
+ "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.",
+ "default": 4
+ }
+ },
+ "description": "Profile of the managed cluster NAT gateway."
+ },
+ "ManagedClusterManagedOutboundIPProfile": {
+ "type": "object",
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 16,
+ "minimum": 1,
+ "description": "The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. ",
+ "default": 1
+ }
+ },
+ "description": "Profile of the managed outbound IP resources of the managed cluster."
+ },
+ "ManagedClusterLoadBalancerProfile": {
+ "type": "object",
+ "properties": {
+ "managedOutboundIPs": {
+ "type": "object",
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 100,
+ "minimum": 1,
+ "description": "The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
+ "default": 1
+ },
+ "countIPv6": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 100,
+ "minimum": 0,
+ "description": "The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. ",
+ "default": 0
+ }
+ },
+ "description": "Desired managed outbound IPs for the cluster load balancer."
+ },
+ "outboundIPPrefixes": {
+ "type": "object",
+ "properties": {
+ "publicIPPrefixes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP prefix resources."
+ }
+ },
+ "description": "Desired outbound IP Prefix resources for the cluster load balancer."
+ },
+ "outboundIPs": {
+ "type": "object",
+ "properties": {
+ "publicIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP resources."
+ }
+ },
+ "description": "Desired outbound IP resources for the cluster load balancer."
+ },
+ "effectiveOutboundIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "The effective outbound IP resources of the cluster load balancer."
+ },
+ "allocatedOutboundPorts": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 64000,
+ "minimum": 0,
+ "description": "The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.",
+ "default": 0
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 120,
+ "minimum": 4,
+ "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.",
+ "default": 30
+ },
+ "enableMultipleStandardLoadBalancers": {
+ "type": "boolean",
+ "description": "Enable multiple standard load balancers per AKS cluster or not."
+ },
+ "backendPoolType": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackendPoolType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "NodeIPConfiguration",
+ "description": "The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend."
+ },
+ {
+ "value": "NodeIP",
+ "description": "The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend."
+ }
+ ]
+ },
+ "enum": [
+ "NodeIPConfiguration",
+ "NodeIP"
+ ],
+ "description": "The type of the managed inbound Load Balancer BackendPool.",
+ "default": "NodeIPConfiguration"
+ }
+ },
+ "description": "Profile of the managed cluster load balancer."
+ },
+ "ResourceReference": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "arm-id",
+ "description": "The fully qualified Azure resource id."
+ }
+ },
+ "description": "A reference to an Azure resource."
+ },
+ "ContainerServiceSshConfiguration": {
+ "type": "object",
+ "properties": {
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerServiceSshPublicKey"
+ },
+ "x-ms-identifiers": [],
+ "description": "The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified."
+ }
+ },
+ "description": "SSH configuration for Linux-based VMs running on Azure.",
+ "required": [
+ "publicKeys"
+ ]
+ },
+ "ContainerServiceSshPublicKey": {
+ "type": "object",
+ "properties": {
+ "keyData": {
+ "type": "string",
+ "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers."
+ }
+ },
+ "required": [
+ "keyData"
+ ],
+ "description": "Contains information about SSH certificate public key data."
+ },
+ "ManagedClusterListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "The list of managed clusters."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of managed cluster results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Managed Clusters operation."
+ },
+ "ManagedCluster": {
+ "type": "object",
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/ManagedClusterSKU",
+ "description": "The managed cluster SKU."
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The extended location of the Virtual Machine."
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedClusterIdentity",
+ "description": "The identity of the managed cluster, if configured."
+ },
+ "properties": {
+ "description": "Properties of a managed cluster.",
+ "$ref": "#/definitions/ManagedClusterProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Managed cluster."
+ },
+ "ManagedClusterProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current provisioning state."
+ },
+ "powerState": {
+ "$ref": "#/definitions/PowerState",
+ "description": "The Power State of the cluster.",
+ "readOnly": true
+ },
+ "creationData": {
+ "$ref": "#/definitions/CreationData",
+ "description": "CreationData to be used to specify the source Snapshot ID if the cluster will be created/upgraded using a snapshot."
+ },
+ "maxAgentPools": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The max number of agent pools for the managed cluster."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "title": "The version of Kubernetes the Managed Cluster is requested to run.",
+ "description": "When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details."
+ },
+ "currentKubernetesVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The version of Kubernetes the Managed Cluster is running."
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "title": "The DNS prefix of the Managed Cluster.",
+ "description": "This cannot be updated once the Managed Cluster has been created."
+ },
+ "fqdnSubdomain": {
+ "type": "string",
+ "title": "The FQDN subdomain of the private cluster with custom private dns zone.",
+ "description": "This cannot be updated once the Managed Cluster has been created."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The FQDN of the master pool."
+ },
+ "privateFQDN": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The FQDN of private cluster."
+ },
+ "azurePortalFQDN": {
+ "readOnly": true,
+ "type": "string",
+ "title": "The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients.",
+ "description": "The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfile"
+ },
+ "x-ms-identifiers": [],
+ "description": "The agent pool properties."
+ },
+ "linuxProfile": {
+ "$ref": "#/definitions/ContainerServiceLinuxProfile",
+ "description": "The profile for Linux VMs in the Managed Cluster."
+ },
+ "windowsProfile": {
+ "$ref": "#/definitions/ManagedClusterWindowsProfile",
+ "description": "The profile for Windows VMs in the Managed Cluster."
+ },
+ "servicePrincipalProfile": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile",
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs."
+ },
+ "addonProfiles": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/ManagedClusterAddonProfile"
+ },
+ "description": "The profile of managed cluster add-on."
+ },
+ "podIdentityProfile": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProfile",
+ "title": "The pod identity profile of the Managed Cluster.",
+ "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration."
+ },
+ "oidcIssuerProfile": {
+ "$ref": "#/definitions/ManagedClusterOIDCIssuerProfile",
+ "description": "The OIDC issuer profile of the Managed Cluster."
+ },
+ "nodeResourceGroup": {
+ "type": "string",
+ "description": "The name of the resource group containing agent pool nodes."
+ },
+ "nodeResourceGroupProfile": {
+ "$ref": "#/definitions/ManagedClusterNodeResourceGroupProfile",
+ "description": "The node resource group configuration profile."
+ },
+ "enableRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Kubernetes Role-Based Access Control."
+ },
+ "supportPlan": {
+ "$ref": "#/definitions/KubernetesSupportPlan",
+ "description": "The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'."
+ },
+ "enablePodSecurityPolicy": {
+ "type": "boolean",
+ "description": "(DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and https://aka.ms/aks/psp."
+ },
+ "enableNamespaceResources": {
+ "type": "boolean",
+ "title": "Enable namespace as Azure resource.",
+ "description": "The default value is false. It can be enabled/disabled on creation and updating of the managed cluster. See [https://aka.ms/NamespaceARMResource](https://aka.ms/NamespaceARMResource) for more details on Namespace as a ARM Resource."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/ContainerServiceNetworkProfile",
+ "description": "The network configuration profile."
+ },
+ "aadProfile": {
+ "$ref": "#/definitions/ManagedClusterAADProfile",
+ "description": "The Azure Active Directory configuration."
+ },
+ "autoUpgradeProfile": {
+ "$ref": "#/definitions/ManagedClusterAutoUpgradeProfile",
+ "description": "The auto upgrade configuration."
+ },
+ "upgradeSettings": {
+ "$ref": "#/definitions/ClusterUpgradeSettings",
+ "description": "Settings for upgrading a cluster."
+ },
+ "autoScalerProfile": {
+ "type": "object",
+ "properties": {
+ "balance-similar-node-groups": {
+ "type": "string",
+ "title": "Detects similar node pools and balances the number of nodes between them.",
+ "description": "Valid values are 'true' and 'false'"
+ },
+ "daemonset-eviction-for-empty-nodes": {
+ "type": "boolean",
+ "title": "DaemonSet pods will be gracefully terminated from empty nodes",
+ "description": "If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted."
+ },
+ "daemonset-eviction-for-occupied-nodes": {
+ "type": "boolean",
+ "title": "DaemonSet pods will be gracefully terminated from non-empty nodes",
+ "description": "If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted."
+ },
+ "ignore-daemonsets-utilization": {
+ "type": "boolean",
+ "title": "Should CA ignore DaemonSet pods when calculating resource utilization for scaling down",
+ "description": "If set to true, the resources used by daemonset will be taken into account when making scaling down decisions."
+ },
+ "expander": {
+ "type": "string",
+ "title": "Type of node group expander to be used in scale up. Set to be deprecated, please use 'expanders' flag in the future.",
+ "description": "Available values are: 'least-waste', 'most-pods', 'priority', 'random'.",
+ "$ref": "#/definitions/expander"
+ },
+ "expanders": {
+ "type": "array",
+ "title": "Type of node group expander to be used in scale up.",
+ "description": "Available values are: 'least-waste', 'most-pods', 'priority', 'random'. If multiple expanders are configured, they will be considered in the order in which they are listed, with the first one being considered first.",
+ "items": {
+ "$ref": "#/definitions/expander"
+ }
+ },
+ "max-empty-bulk-delete": {
+ "type": "string",
+ "title": "The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer.",
+ "description": "The default is 10."
+ },
+ "max-graceful-termination-sec": {
+ "type": "string",
+ "title": "The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node.",
+ "description": "The default is 600."
+ },
+ "max-node-provision-time": {
+ "type": "string",
+ "title": "The maximum time the autoscaler waits for a node to be provisioned.",
+ "description": "The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "max-total-unready-percentage": {
+ "type": "string",
+ "title": "The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations.",
+ "description": "The default is 45. The maximum is 100 and the minimum is 0."
+ },
+ "new-pod-scale-up-delay": {
+ "type": "string",
+ "title": "Ignore unscheduled pods before they're a certain age.",
+ "description": "For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc)."
+ },
+ "ok-total-unready-count": {
+ "type": "string",
+ "title": "The number of allowed unready nodes, irrespective of max-total-unready-percentage.",
+ "description": "This must be an integer. The default is 3."
+ },
+ "scan-interval": {
+ "type": "string",
+ "title": "How often cluster is reevaluated for scale up or down.",
+ "description": "The default is '10'. Values must be an integer number of seconds."
+ },
+ "scale-down-delay-after-add": {
+ "type": "string",
+ "title": "How long after scale up that scale down evaluation resumes",
+ "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-delay-after-delete": {
+ "type": "string",
+ "title": "How long after node deletion that scale down evaluation resumes.",
+ "description": "The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-delay-after-failure": {
+ "type": "string",
+ "title": "How long after scale down failure that scale down evaluation resumes.",
+ "description": "The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-unneeded-time": {
+ "type": "string",
+ "title": "How long a node should be unneeded before it is eligible for scale down.",
+ "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-unready-time": {
+ "type": "string",
+ "title": "How long an unready node should be unneeded before it is eligible for scale down",
+ "description": "The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-utilization-threshold": {
+ "type": "string",
+ "title": "Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down.",
+ "description": "The default is '0.5'."
+ },
+ "skip-nodes-with-local-storage": {
+ "type": "string",
+ "title": "If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath.",
+ "description": "The default is true."
+ },
+ "skip-nodes-with-system-pods": {
+ "type": "string",
+ "title": "If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods)",
+ "description": "The default is true."
+ }
+ },
+ "description": "Parameters to be applied to the cluster-autoscaler when enabled"
+ },
+ "apiServerAccessProfile": {
+ "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile",
+ "description": "The access profile for managed cluster API server."
+ },
+ "diskEncryptionSetID": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.Compute/diskEncryptionSets"
+ }
+ ]
+ },
+ "title": "The Resource ID of the disk encryption set to use for enabling encryption at rest.",
+ "description": "This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'"
+ },
+ "identityProfile": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ },
+ "description": "Identities associated with the cluster."
+ },
+ "privateLinkResources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ },
+ "description": "Private link resources associated with the cluster."
+ },
+ "disableLocalAccounts": {
+ "type": "boolean",
+ "title": "If local accounts should be disabled on the Managed Cluster.",
+ "description": "If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview)."
+ },
+ "httpProxyConfig": {
+ "$ref": "#/definitions/ManagedClusterHTTPProxyConfig",
+ "description": "Configurations for provisioning the cluster with HTTP proxy servers."
+ },
+ "securityProfile": {
+ "$ref": "#/definitions/ManagedClusterSecurityProfile",
+ "description": "Security profile for the managed cluster."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/ManagedClusterStorageProfile",
+ "description": "Storage profile for the managed cluster."
+ },
+ "ingressProfile": {
+ "$ref": "#/definitions/ManagedClusterIngressProfile",
+ "description": "Ingress profile for the managed cluster."
+ },
+ "publicNetworkAccess": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled",
+ "SecuredByPerimeter"
+ ],
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Enabled",
+ "description": "Inbound/Outbound to the managedCluster is allowed."
+ },
+ {
+ "value": "Disabled",
+ "description": "Inbound traffic to managedCluster is disabled, traffic from managedCluster is allowed."
+ },
+ {
+ "value": "SecuredByPerimeter",
+ "description": "Inbound/Outbound traffic is managed by Microsoft.Network/NetworkSecurityPerimeters."
+ }
+ ]
+ },
+ "title": "PublicNetworkAccess of the managedCluster",
+ "description": "Allow or deny public network access for AKS"
+ },
+ "workloadAutoScalerProfile": {
+ "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfile"
+ },
+ "azureMonitorProfile": {
+ "$ref": "#/definitions/ManagedClusterAzureMonitorProfile"
+ },
+ "guardrailsProfile": {
+ "$ref": "#/definitions/GuardrailsProfile",
+ "description": "The guardrails profile holds all the guardrails information for a given cluster"
+ },
+ "serviceMeshProfile": {
+ "$ref": "#/definitions/ServiceMeshProfile"
+ },
+ "resourceUID": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create sequence)"
+ },
+ "metricsProfile": {
+ "$ref": "#/definitions/ManagedClusterMetricsProfile",
+ "description": "Optional cluster metrics configuration."
+ },
+ "aiToolchainOperatorProfile": {
+ "$ref": "#/definitions/ManagedClusterAIToolchainOperatorProfile",
+ "description": "AI toolchain operator settings that apply to the whole cluster."
+ },
+ "nodeProvisioningProfile": {
+ "$ref": "#/definitions/ManagedClusterNodeProvisioningProfile",
+ "description": "Node provisioning settings that apply to the whole cluster."
+ }
+ },
+ "description": "Properties of the managed cluster."
+ },
+ "PowerState": {
+ "type": "object",
+ "description": "Describes the Power State of the cluster",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Tells whether the cluster is Running or Stopped",
+ "enum": [
+ "Running",
+ "Stopped"
+ ],
+ "x-ms-enum": {
+ "name": "code",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Running",
+ "description": "The cluster is running."
+ },
+ {
+ "value": "Stopped",
+ "description": "The cluster is stopped."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "expander": {
+ "type": "string",
+ "enum": [
+ "least-waste",
+ "most-pods",
+ "priority",
+ "random"
+ ],
+ "x-ms-enum": {
+ "name": "expander",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "least-waste",
+ "description": "Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources."
+ },
+ {
+ "value": "most-pods",
+ "description": "Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once."
+ },
+ {
+ "value": "priority",
+ "description": "Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md)."
+ },
+ {
+ "value": "random",
+ "description": "Used when you don't have a particular need for the node groups to scale differently."
+ }
+ ]
+ },
+ "title": "The expander to use when scaling up",
+ "description": "If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information."
+ },
+ "ManagedClusterAPIServerAccessProfile": {
+ "type": "object",
+ "properties": {
+ "authorizedIPRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The IP ranges authorized to access the Kubernetes API server.",
+ "description": "IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges)."
+ },
+ "enablePrivateCluster": {
+ "type": "boolean",
+ "title": "Whether to create the cluster as a private cluster or not.",
+ "description": "For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters)."
+ },
+ "privateDNSZone": {
+ "type": "string",
+ "title": "The private DNS zone mode for the cluster.",
+ "description": "The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'."
+ },
+ "enablePrivateClusterPublicFQDN": {
+ "type": "boolean",
+ "description": "Whether to create additional public FQDN for private cluster or not."
+ },
+ "disableRunCommand": {
+ "type": "boolean",
+ "description": "Whether to disable run command for the cluster or not."
+ },
+ "enableVnetIntegration": {
+ "type": "boolean",
+ "description": "Whether to enable apiserver vnet integration for the cluster or not."
+ },
+ "subnetId": {
+ "type": "string",
+ "title": "The subnet to be used when apiserver vnet integration is enabled.",
+ "description": "It is required when: 1. creating a new cluster with BYO Vnet; 2. updating an existing cluster to enable apiserver vnet integration."
+ }
+ },
+ "description": "Access profile for managed cluster API server."
+ },
+ "ManagedClusterIdentity": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the system assigned identity which is used by master components."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the system assigned identity which is used by master components."
+ },
+ "type": {
+ "type": "string",
+ "title": "The type of identity used for the managed cluster.",
+ "description": "For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity).",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "SystemAssigned",
+ "description": "Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources."
+ },
+ {
+ "value": "UserAssigned",
+ "description": "Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources."
+ },
+ {
+ "value": "None",
+ "description": "Do not use a managed identity for the Managed Cluster, service principal will be used instead."
+ }
+ ]
+ }
+ },
+ "delegatedResources": {
+ "$ref": "../../../../../../common-types/resource-management/v4/managedidentitywithdelegation.json#/definitions/DelegatedResources",
+ "description": "The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only."
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "x-ms-client-name": "ManagedServiceIdentityUserAssignedIdentitiesValue",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "title": "The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed.",
+ "description": "The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
+ }
+ },
+ "description": "Identity for the managed cluster."
+ },
+ "UserAssignedIdentity": {
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.ManagedIdentity/userAssignedIdentities"
+ }
+ ]
+ },
+ "description": "The resource ID of the user assigned identity."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "The client ID of the user assigned identity."
+ },
+ "objectId": {
+ "type": "string",
+ "description": "The object ID of the user assigned identity."
+ }
+ },
+ "description": "Details about a user assigned identity."
+ },
+ "ManagedClusterAccessProfile": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "AccessProfile of a managed cluster.",
+ "$ref": "#/definitions/AccessProfile",
+ "x-ms-client-flatten": true
+ }
+ },
+ "description": "Managed cluster Access Profile.",
+ "x-ms-azure-resource": false
+ },
+ "AccessProfile": {
+ "type": "object",
+ "properties": {
+ "kubeConfig": {
+ "type": "string",
+ "format": "byte",
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "Profile for enabling a user to access a managed cluster."
+ },
+ "ManagedClusterPoolUpgradeProfile": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "name": {
+ "type": "string",
+ "description": "The Agent Pool name."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType"
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether the Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "x-ms-identifiers": [],
+ "description": "List of orchestrator types and versions available for upgrade."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "ManagedClusterUpgradeProfileProperties": {
+ "type": "object",
+ "properties": {
+ "controlPlaneProfile": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile",
+ "description": "The list of available upgrade versions for the control plane."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile"
+ },
+ "x-ms-identifiers": [],
+ "description": "The list of available upgrade versions for agent pools."
+ }
+ },
+ "required": [
+ "controlPlaneProfile",
+ "agentPoolProfiles"
+ ],
+ "description": "Control plane and agent pool upgrade profiles."
+ },
+ "ManagedClusterAutoUpgradeProfile": {
+ "type": "object",
+ "properties": {
+ "upgradeChannel": {
+ "type": "string",
+ "enum": [
+ "rapid",
+ "stable",
+ "patch",
+ "node-image",
+ "none"
+ ],
+ "x-ms-enum": {
+ "name": "upgradeChannel",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "rapid",
+ "description": "Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1."
+ },
+ {
+ "value": "stable",
+ "description": "Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6."
+ },
+ {
+ "value": "patch",
+ "description": "Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9."
+ },
+ {
+ "value": "node-image",
+ "description": "Automatically upgrade the node image to the latest version available. Consider using nodeOSUpgradeChannel instead as that allows you to configure node OS patching separate from Kubernetes version patching"
+ },
+ {
+ "value": "none",
+ "description": "Disables auto-upgrades and keeps the cluster at its current version of Kubernetes."
+ }
+ ]
+ },
+ "title": "The upgrade channel for auto upgrade. The default is 'none'.",
+ "description": "For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel)."
+ },
+ "nodeOSUpgradeChannel": {
+ "type": "string",
+ "enum": [
+ "Unmanaged",
+ "None",
+ "SecurityPatch",
+ "NodeImage"
+ ],
+ "x-ms-enum": {
+ "name": "nodeOSUpgradeChannel",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "No attempt to update your machines OS will be made either by OS or by rolling VHDs. This means you are responsible for your security updates"
+ },
+ {
+ "value": "Unmanaged",
+ "description": "OS updates will be applied automatically through the OS built-in patching infrastructure. Newly scaled in machines will be unpatched initially, and will be patched at some later time by the OS's infrastructure. Behavior of this option depends on the OS in question. Ubuntu and Mariner apply security patches through unattended upgrade roughly once a day around 06:00 UTC. Windows does not apply security patches automatically and so for them this option is equivalent to None till further notice"
+ },
+ {
+ "value": "SecurityPatch",
+ "description": "AKS will update the nodes VHD with patches from the image maintainer labelled \"security only\" on a regular basis. Where possible, patches will also be applied without reimaging to existing nodes. Some patches, such as kernel patches, cannot be applied to existing nodes without disruption. For such patches, the VHD will be updated, and machines will be rolling reimaged to that VHD following maintenance windows and surge settings. This option incurs the extra cost of hosting the VHDs in your node resource group."
+ },
+ {
+ "value": "NodeImage",
+ "description": "AKS will update the nodes with a newly patched VHD containing security fixes and bugfixes on a weekly cadence. With the VHD update machines will be rolling reimaged to that VHD following maintenance windows and surge settings. No extra VHD cost is incurred when choosing this option as AKS hosts the images."
+ }
+ ]
+ },
+ "title": "Manner in which the OS on your nodes is updated",
+ "description": "The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA."
+ }
+ },
+ "description": "Auto upgrade profile for a managed cluster."
+ },
+ "UpgradeOverrideSettings": {
+ "type": "object",
+ "properties": {
+ "forceUpgrade": {
+ "type": "boolean",
+ "description": "Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade protections such as checking for deprecated API usage. Enable this option only with caution."
+ },
+ "until": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set by default. It must be set for the overrides to take effect."
+ }
+ },
+ "description": "Settings for overrides when upgrading a cluster."
+ },
+ "ClusterUpgradeSettings": {
+ "type": "object",
+ "properties": {
+ "overrideSettings": {
+ "$ref": "#/definitions/UpgradeOverrideSettings",
+ "description": "Settings for overrides."
+ }
+ },
+ "description": "Settings for upgrading a cluster."
+ },
+ "ManagedClusterAADProfile": {
+ "type": "object",
+ "properties": {
+ "managed": {
+ "type": "boolean",
+ "description": "Whether to enable managed AAD."
+ },
+ "enableAzureRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Azure RBAC for Kubernetes authorization."
+ },
+ "adminGroupObjectIDs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of AAD group object IDs that will have admin role of the cluster."
+ },
+ "clientAppID": {
+ "type": "string",
+ "description": "(DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy."
+ },
+ "serverAppID": {
+ "type": "string",
+ "description": "(DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy."
+ },
+ "serverAppSecret": {
+ "type": "string",
+ "description": "(DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy."
+ },
+ "tenantID": {
+ "type": "string",
+ "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription."
+ }
+ },
+ "title": "AADProfile specifies attributes for Azure Active Directory integration.",
+ "description": "For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad)."
+ },
+ "ManagedClusterAddonProfile": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the add-on is enabled or not."
+ },
+ "config": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Key-value pairs for configuring an add-on."
+ },
+ "identity": {
+ "readOnly": true,
+ "description": "Information of user assigned identity used by this add-on.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "A Kubernetes add-on profile for a managed cluster."
+ },
+ "ManagedClusterPodIdentity": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the pod identity."
+ },
+ "namespace": {
+ "type": "string",
+ "description": "The namespace of the pod identity."
+ },
+ "bindingSelector": {
+ "type": "string",
+ "description": "The binding selector to use for the AzureIdentityBinding resource."
+ },
+ "identity": {
+ "$ref": "#/definitions/UserAssignedIdentity",
+ "description": "The user assigned identity details."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state of the pod identity.",
+ "enum": [
+ "Assigned",
+ "Canceled",
+ "Deleting",
+ "Failed",
+ "Succeeded",
+ "Updating"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterPodIdentityProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "provisioningInfo": {
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningError",
+ "description": "Pod identity assignment error (if any)."
+ }
+ }
+ }
+ },
+ "required": [
+ "name",
+ "namespace",
+ "identity"
+ ],
+ "description": "Details about the pod identity assigned to the Managed Cluster."
+ },
+ "ManagedClusterPodIdentityProvisioningError": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody",
+ "description": "Details about the error."
+ }
+ },
+ "description": "An error response from the pod identity provisioning."
+ },
+ "ManagedClusterPodIdentityProvisioningErrorBody": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody"
+ },
+ "x-ms-identifiers": [],
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the pod identity provisioning."
+ },
+ "ManagedClusterPodIdentityException": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the pod identity exception."
+ },
+ "namespace": {
+ "type": "string",
+ "description": "The namespace of the pod identity exception."
+ },
+ "podLabels": {
+ "type": "object",
+ "description": "The pod labels to match.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "namespace",
+ "podLabels"
+ ],
+ "title": "A pod identity exception, which allows pods with certain labels to access the Azure Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity (NMI) server.",
+ "description": "See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details."
+ },
+ "ManagedClusterPodIdentityProfile": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the pod identity addon is enabled."
+ },
+ "allowNetworkPluginKubenet": {
+ "type": "boolean",
+ "title": "Whether pod identity is allowed to run on clusters with Kubenet networking.",
+ "description": "Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information."
+ },
+ "userAssignedIdentities": {
+ "description": "The pod identities to use in the cluster.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPodIdentity"
+ },
+ "x-ms-identifiers": []
+ },
+ "userAssignedIdentityExceptions": {
+ "description": "The pod identity exceptions to allow.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityException"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "title": "The pod identity profile of the Managed Cluster.",
+ "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration."
+ },
+ "ManagedClusterOIDCIssuerProfile": {
+ "type": "object",
+ "properties": {
+ "issuerURL": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The OIDC issuer url of the Managed Cluster."
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the OIDC issuer is enabled."
+ }
+ },
+ "description": "The OIDC issuer profile of the Managed Cluster."
+ },
+ "ManagedClusterUpgradeProfile": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties",
+ "description": "The properties of the upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for compute pools."
+ },
+ "AgentPoolUpgradeProfile": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the agent pool upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the agent pool upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the agent pool upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfileProperties",
+ "description": "The properties of the agent pool upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for an agent pool."
+ },
+ "AgentPoolUpgradeProfileProperties": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType"
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether the Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "x-ms-identifiers": [],
+ "description": "List of orchestrator types and versions available for upgrade."
+ },
+ "latestNodeImageVersion": {
+ "type": "string",
+ "description": "The latest AKS supported node image version."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "AgentPoolAvailableVersions": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the agent pool version list."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the agent pool version list."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool version list."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolAvailableVersionsProperties",
+ "description": "Properties of agent pool available versions.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available versions for an agent pool."
+ },
+ "AgentPoolAvailableVersionsProperties": {
+ "type": "object",
+ "properties": {
+ "agentPoolVersions": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "default": {
+ "type": "boolean",
+ "description": "Whether this version is the default agent pool version."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "x-ms-identifiers": [],
+ "description": "List of versions available for agent pool."
+ }
+ },
+ "description": "The list of available agent pool versions."
+ },
+ "OSType": {
+ "type": "string",
+ "default": "Linux",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "OSType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Linux",
+ "description": "Use Linux."
+ },
+ {
+ "value": "Windows",
+ "description": "Use Windows."
+ }
+ ]
+ },
+ "description": "The operating system type. The default is Linux."
+ },
+ "OSSKU": {
+ "type": "string",
+ "enum": [
+ "Ubuntu",
+ "CBLMariner",
+ "Mariner",
+ "AzureLinux",
+ "Windows2019",
+ "Windows2022",
+ "WindowsAnnual"
+ ],
+ "x-ms-enum": {
+ "name": "OSSKU",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Ubuntu",
+ "description": "Use Ubuntu as the OS for node images."
+ },
+ {
+ "value": "Mariner",
+ "description": "Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead."
+ },
+ {
+ "value": "AzureLinux",
+ "description": "Use AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information."
+ },
+ {
+ "value": "CBLMariner",
+ "description": "Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead."
+ },
+ {
+ "value": "Windows2019",
+ "description": "Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa."
+ },
+ {
+ "value": "Windows2022",
+ "description": "Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa."
+ },
+ {
+ "value": "WindowsAnnual",
+ "description": "Use Windows Annual Channel version as the OS for node images. Unsupported for system node pools. Details about supported container images and kubernetes versions under different AKS Annual Channel versions could be seen in https://aka.ms/aks/windows-annual-channel-details."
+ }
+ ]
+ },
+ "description": "Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated."
+ },
+ "ScaleSetPriority": {
+ "type": "string",
+ "default": "Regular",
+ "enum": [
+ "Spot",
+ "Regular"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetPriority",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Spot",
+ "description": "Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information."
+ },
+ {
+ "value": "Regular",
+ "description": "Regular VMs will be used."
+ }
+ ]
+ },
+ "description": "The Virtual Machine Scale Set priority."
+ },
+ "ScaleSetEvictionPolicy": {
+ "type": "string",
+ "default": "Delete",
+ "enum": [
+ "Delete",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetEvictionPolicy",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Delete",
+ "description": "Nodes in the underlying Scale Set of the node pool are deleted when they're evicted."
+ },
+ {
+ "value": "Deallocate",
+ "description": "Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading."
+ }
+ ]
+ },
+ "title": "The Virtual Machine Scale Set eviction policy.",
+ "description": "The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms)"
+ },
+ "SpotMaxPrice": {
+ "type": "number",
+ "default": -1,
+ "title": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.",
+ "description": "Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)"
+ },
+ "ScaleDownMode": {
+ "type": "string",
+ "enum": [
+ "Delete",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleDownMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Delete",
+ "description": "Create new instances during scale up and remove instances during scale down."
+ },
+ {
+ "value": "Deallocate",
+ "description": "Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down."
+ }
+ ]
+ },
+ "description": "Describes how VMs are added to or removed from Agent Pools. See [billing states](https://docs.microsoft.com/azure/virtual-machines/states-billing)."
+ },
+ "ProximityPlacementGroupID": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.Compute/proximityPlacementGroups"
+ }
+ ]
+ },
+ "description": "The ID for Proximity Placement Group."
+ },
+ "CredentialResults": {
+ "type": "object",
+ "properties": {
+ "kubeconfigs": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/CredentialResult"
+ },
+ "x-ms-identifiers": [],
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The list credential result response."
+ },
+ "CredentialResult": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the credential."
+ },
+ "value": {
+ "type": "string",
+ "format": "byte",
+ "readOnly": true,
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The credential result response."
+ },
+ "CloudError": {
+ "type": "object",
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "CloudErrorBody": {
+ "type": "object",
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "x-ms-identifiers": [],
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "ManagedClusterSKU": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of a managed cluster SKU.",
+ "enum": [
+ "Base"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUName",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Base",
+ "description": "Base option for the AKS control plane."
+ }
+ ]
+ }
+ },
+ "tier": {
+ "type": "string",
+ "title": "The tier of a managed cluster SKU.",
+ "description": "If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details.",
+ "enum": [
+ "Premium",
+ "Standard",
+ "Free"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUTier",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Premium",
+ "description": "Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms/aks/lts) for certain Kubernetes versions."
+ },
+ {
+ "value": "Standard",
+ "description": "Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones."
+ },
+ {
+ "value": "Free",
+ "description": "The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases."
+ }
+ ]
+ }
+ }
+ },
+ "description": "The SKU of a Managed Cluster."
+ },
+ "PrivateEndpointConnectionListResult": {
+ "type": "object",
+ "description": "A list of private endpoint connections",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "A private endpoint connection",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the private endpoint connection."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-naming-rules"
+ }
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "The properties of a private endpoint connection.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PrivateEndpointConnectionProperties": {
+ "type": "object",
+ "description": "Properties of a private endpoint connection.",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Canceled",
+ "Creating",
+ "Deleting",
+ "Failed",
+ "Succeeded"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointConnectionProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "The resource of private endpoint."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ]
+ },
+ "PrivateEndpoint": {
+ "type": "object",
+ "description": "Private endpoint which a connection belongs to.",
+ "properties": {
+ "id": {
+ "description": "The resource ID of the private endpoint",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "The state of a private link service connection.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "description": "The private link service connection status.",
+ "x-ms-enum": {
+ "name": "ConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "The private link service connection description."
+ }
+ }
+ },
+ "PrivateLinkResourcesListResult": {
+ "type": "object",
+ "description": "A list of private link resources",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "description": "A private link resource",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ID of the private link resource."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the private link resource.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-naming-rules"
+ }
+ },
+ "type": {
+ "type": "string",
+ "description": "The resource type."
+ },
+ "groupId": {
+ "type": "string",
+ "description": "The group ID of the resource."
+ },
+ "requiredMembers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The RequiredMembers of the resource"
+ },
+ "privateLinkServiceID": {
+ "readOnly": true,
+ "type": "string",
+ "format": "arm-id",
+ "description": "The private link service ID of the resource, this field is exposed only to NRP internally."
+ }
+ }
+ },
+ "OSDiskType": {
+ "type": "string",
+ "enum": [
+ "Managed",
+ "Ephemeral"
+ ],
+ "x-ms-enum": {
+ "name": "OSDiskType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Managed",
+ "description": "Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency."
+ },
+ {
+ "value": "Ephemeral",
+ "description": "Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades."
+ }
+ ]
+ },
+ "title": "The OS disk type to be used for machines in the agent pool.",
+ "description": "The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os)."
+ },
+ "KubeletDiskType": {
+ "type": "string",
+ "enum": [
+ "OS",
+ "Temporary"
+ ],
+ "x-ms-enum": {
+ "name": "KubeletDiskType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "OS",
+ "description": "Kubelet will use the OS disk for its data."
+ },
+ {
+ "value": "Temporary",
+ "description": "Kubelet will use the temporary disk for its data."
+ }
+ ]
+ },
+ "description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage."
+ },
+ "WorkloadRuntime": {
+ "type": "string",
+ "enum": [
+ "OCIContainer",
+ "WasmWasi",
+ "KataMshvVmIsolation"
+ ],
+ "x-ms-enum": {
+ "name": "WorkloadRuntime",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "OCIContainer",
+ "description": "Nodes will use Kubelet to run standard OCI container workloads."
+ },
+ {
+ "value": "WasmWasi",
+ "description": "Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview)."
+ },
+ {
+ "value": "KataMshvVmIsolation",
+ "description": "Nodes can use (Kata + Cloud Hypervisor + Hyper-V) to enable Nested VM-based pods (Preview). Due to the use Hyper-V, AKS node OS itself is a nested VM (the root OS) of Hyper-V. Thus it can only be used with VM series that support Nested Virtualization such as Dv3 series."
+ }
+ ]
+ },
+ "description": "Determines the type of workload a node can run."
+ },
+ "KubeletConfig": {
+ "title": "Kubelet configurations of agent nodes.",
+ "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.",
+ "type": "object",
+ "properties": {
+ "cpuManagerPolicy": {
+ "type": "string",
+ "title": "The CPU Manager policy to use.",
+ "description": "The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'."
+ },
+ "cpuCfsQuota": {
+ "type": "boolean",
+ "title": "If CPU CFS quota enforcement is enabled for containers that specify CPU limits.",
+ "description": "The default is true."
+ },
+ "cpuCfsQuotaPeriod": {
+ "type": "string",
+ "title": "The CPU CFS quota period value.",
+ "description": "The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'."
+ },
+ "imageGcHighThreshold": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The percent of disk usage after which image garbage collection is always run.",
+ "description": "To disable image garbage collection, set to 100. The default is 85%"
+ },
+ "imageGcLowThreshold": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The percent of disk usage before which image garbage collection is never run.",
+ "description": "This cannot be set higher than imageGcHighThreshold. The default is 80%"
+ },
+ "topologyManagerPolicy": {
+ "type": "string",
+ "title": "The Topology Manager policy to use.",
+ "description": "For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'."
+ },
+ "allowedUnsafeSysctls": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`)."
+ },
+ "failSwapOn": {
+ "type": "boolean",
+ "description": "If set to true it will make the Kubelet fail to start if swap is enabled on the node."
+ },
+ "containerLogMaxSizeMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum size (e.g. 10Mi) of container log file before it is rotated."
+ },
+ "containerLogMaxFiles": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of container log files that can be present for a container. The number must be ≥ 2.",
+ "minimum": 2
+ },
+ "podMaxPids": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of processes per pod."
+ }
+ }
+ },
+ "LinuxOSConfig": {
+ "title": "OS configurations of Linux agent nodes.",
+ "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.",
+ "type": "object",
+ "properties": {
+ "sysctls": {
+ "$ref": "#/definitions/SysctlConfig",
+ "description": "Sysctl settings for Linux agent nodes."
+ },
+ "transparentHugePageEnabled": {
+ "type": "string",
+ "title": "Whether transparent hugepages are enabled.",
+ "description": "Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)."
+ },
+ "transparentHugePageDefrag": {
+ "type": "string",
+ "title": "Whether the kernel should make aggressive use of memory compaction to make more hugepages available.",
+ "description": "Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)."
+ },
+ "swapFileSizeMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The size in MB of a swap file that will be created on each node."
+ }
+ }
+ },
+ "AgentPoolWindowsProfile": {
+ "type": "object",
+ "description": "The Windows agent pool's specific profile.",
+ "properties": {
+ "disableOutboundNat": {
+ "type": "boolean",
+ "title": "Whether to disable OutboundNAT in windows nodes",
+ "description": "The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled."
+ }
+ }
+ },
+ "AgentPoolSecurityProfile": {
+ "type": "object",
+ "properties": {
+ "sshAccess": {
+ "$ref": "#/definitions/AgentPoolSSHAccess",
+ "description": "SSH access method of an agent pool."
+ }
+ },
+ "description": "The security settings of an agent pool."
+ },
+ "AgentPoolGPUProfile": {
+ "type": "object",
+ "properties": {
+ "installGPUDriver": {
+ "type": "boolean",
+ "title": "Whether to auto install GPU drivers or not.",
+ "description": "The default value is true when the vmSize of the agent pool contains a GPU, false otherwise. GPU Driver Installation can only be set true when VM has an associated GPU resource. Setting this field to false prevents automatic GPU driver installation. In that case, in order for the GPU to be usable, the user must perform GPU driver installation themselves."
+ }
+ }
+ },
+ "AgentPoolArtifactStreamingProfile": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Artifact streaming speeds up the cold-start of containers on a node through on-demand image loading. To use this feature, container images must also enable artifact streaming on ACR. If not specified, the default is false."
+ }
+ }
+ },
+ "AgentPoolSSHAccess": {
+ "type": "string",
+ "enum": [
+ "LocalUser",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "AgentPoolSSHAccess",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "LocalUser",
+ "description": "Can SSH onto the node as a local user using private key."
+ },
+ {
+ "value": "Disabled",
+ "description": "SSH service will be turned off on the node."
+ }
+ ]
+ },
+ "description": "SSH access method of an agent pool."
+ },
+ "SysctlConfig": {
+ "description": "Sysctl settings for Linux agent nodes.",
+ "type": "object",
+ "properties": {
+ "netCoreSomaxconn": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.somaxconn."
+ },
+ "netCoreNetdevMaxBacklog": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.netdev_max_backlog."
+ },
+ "netCoreRmemDefault": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.rmem_default."
+ },
+ "netCoreRmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.rmem_max."
+ },
+ "netCoreWmemDefault": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.wmem_default."
+ },
+ "netCoreWmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.wmem_max."
+ },
+ "netCoreOptmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.optmem_max."
+ },
+ "netIpv4TcpMaxSynBacklog": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_max_syn_backlog."
+ },
+ "netIpv4TcpMaxTwBuckets": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_max_tw_buckets."
+ },
+ "netIpv4TcpFinTimeout": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_fin_timeout."
+ },
+ "netIpv4TcpKeepaliveTime": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_time."
+ },
+ "netIpv4TcpKeepaliveProbes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_probes."
+ },
+ "netIpv4TcpkeepaliveIntvl": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 10,
+ "maximum": 90,
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_intvl."
+ },
+ "netIpv4TcpTwReuse": {
+ "type": "boolean",
+ "description": "Sysctl setting net.ipv4.tcp_tw_reuse."
+ },
+ "netIpv4IpLocalPortRange": {
+ "type": "string",
+ "description": "Sysctl setting net.ipv4.ip_local_port_range."
+ },
+ "netIpv4NeighDefaultGcThresh1": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh1."
+ },
+ "netIpv4NeighDefaultGcThresh2": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh2."
+ },
+ "netIpv4NeighDefaultGcThresh3": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh3."
+ },
+ "netNetfilterNfConntrackMax": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 131072,
+ "maximum": 2097152,
+ "description": "Sysctl setting net.netfilter.nf_conntrack_max."
+ },
+ "netNetfilterNfConntrackBuckets": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 65536,
+ "maximum": 524288,
+ "description": "Sysctl setting net.netfilter.nf_conntrack_buckets."
+ },
+ "fsInotifyMaxUserWatches": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.inotify.max_user_watches."
+ },
+ "fsFileMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.file-max."
+ },
+ "fsAioMaxNr": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.aio-max-nr."
+ },
+ "fsNrOpen": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.nr_open."
+ },
+ "kernelThreadsMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting kernel.threads-max."
+ },
+ "vmMaxMapCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.max_map_count."
+ },
+ "vmSwappiness": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.swappiness."
+ },
+ "vmVfsCachePressure": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.vfs_cache_pressure."
+ }
+ }
+ },
+ "ManagedClusterHTTPProxyConfig": {
+ "description": "Cluster HTTP proxy configuration.",
+ "type": "object",
+ "properties": {
+ "httpProxy": {
+ "type": "string",
+ "description": "The HTTP proxy server endpoint to use."
+ },
+ "httpsProxy": {
+ "type": "string",
+ "description": "The HTTPS proxy server endpoint to use."
+ },
+ "noProxy": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The endpoints that should not go through proxy."
+ },
+ "effectiveNoProxy": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "A read-only list of all endpoints for which traffic should not be sent to the proxy. This list is a superset of noProxy and values injected by AKS."
+ },
+ "trustedCa": {
+ "type": "string",
+ "description": "Alternative CA cert to use for connecting to proxy servers."
+ }
+ }
+ },
+ "GPUInstanceProfile": {
+ "type": "string",
+ "enum": [
+ "MIG1g",
+ "MIG2g",
+ "MIG3g",
+ "MIG4g",
+ "MIG7g"
+ ],
+ "x-ms-enum": {
+ "name": "GPUInstanceProfile ",
+ "modelAsString": true
+ },
+ "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU."
+ },
+ "ExtendedLocationType": {
+ "type": "string",
+ "description": "The type of extendedLocation.",
+ "enum": [
+ "EdgeZone"
+ ],
+ "x-ms-enum": {
+ "name": "ExtendedLocationTypes",
+ "modelAsString": true
+ }
+ },
+ "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."
+ }
+ }
+ },
+ "OSOptionProperty": {
+ "type": "object",
+ "properties": {
+ "os-type": {
+ "type": "string",
+ "description": "The OS type."
+ },
+ "enable-fips-image": {
+ "type": "boolean",
+ "description": "Whether the image is FIPS-enabled."
+ }
+ },
+ "required": [
+ "os-type",
+ "enable-fips-image"
+ ],
+ "description": "OS option property."
+ },
+ "OSOptionPropertyList": {
+ "type": "object",
+ "properties": {
+ "osOptionPropertyList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OSOptionProperty"
+ },
+ "x-ms-identifiers": [],
+ "description": "The list of OS options."
+ }
+ },
+ "required": [
+ "osOptionPropertyList"
+ ],
+ "description": "The list of OS option properties."
+ },
+ "OSOptionProfile": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the OS option resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the OS option resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the OS option resource."
+ },
+ "properties": {
+ "$ref": "#/definitions/OSOptionPropertyList",
+ "description": "The list of OS options.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The OS option profile."
+ },
+ "GuardrailsAvailableVersionsProperties": {
+ "type": "object",
+ "description": "Whether the version is default or not and support info.",
+ "properties": {
+ "isDefaultVersion": {
+ "type": "boolean",
+ "readOnly": true
+ },
+ "support": {
+ "type": "string",
+ "enum": [
+ "Preview",
+ "Stable"
+ ],
+ "x-ms-enum": {
+ "name": "GuardrailsSupport",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Preview",
+ "description": "The version is preview. It is not recommended to use preview versions on critical production clusters. The preview version may not support all use-cases."
+ },
+ {
+ "value": "Stable",
+ "description": "The version is stable and can be used on critical production clusters."
+ }
+ ]
+ },
+ "description": "Whether the version is preview or stable.",
+ "readOnly": true
+ }
+ }
+ },
+ "GuardrailsAvailableVersion": {
+ "type": "object",
+ "description": "Available Guardrails Version",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/GuardrailsAvailableVersionsProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "GuardrailsAvailableVersionsList": {
+ "type": "object",
+ "description": "Hold values properties, which is array of GuardrailsVersions",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GuardrailsAvailableVersion"
+ },
+ "description": "Array of AKS supported Guardrails versions."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next Guardrails available version.",
+ "readOnly": true
+ }
+ }
+ },
+ "EndpointDependency": {
+ "description": "A domain name that AKS agent nodes are reaching at.",
+ "type": "object",
+ "properties": {
+ "domainName": {
+ "description": "The domain name of the dependency.",
+ "type": "string"
+ },
+ "endpointDetails": {
+ "description": "The Ports and Protocols used when connecting to domainName.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointDetail"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "EndpointDetail": {
+ "description": "connect information from the AKS agent nodes to a single endpoint.",
+ "type": "object",
+ "properties": {
+ "ipAddress": {
+ "description": "An IP Address that Domain Name currently resolves to.",
+ "type": "string"
+ },
+ "port": {
+ "format": "int32",
+ "description": "The port an endpoint is connected to.",
+ "type": "integer"
+ },
+ "protocol": {
+ "description": "The protocol used for connection",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the detail",
+ "type": "string"
+ }
+ }
+ },
+ "OutboundEnvironmentEndpoint": {
+ "description": "Egress endpoints which AKS agent nodes connect to for common purpose.",
+ "type": "object",
+ "properties": {
+ "category": {
+ "description": "The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management, apiserver, etc.",
+ "type": "string"
+ },
+ "endpoints": {
+ "description": "The endpoints that AKS agent nodes connect to",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointDependency"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "OutboundEnvironmentEndpointCollection": {
+ "description": "Collection of OutboundEnvironmentEndpoint",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OutboundEnvironmentEndpoint"
+ },
+ "x-ms-identifiers": []
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ManagedClusterSecurityProfile": {
+ "type": "object",
+ "properties": {
+ "defender": {
+ "$ref": "#/definitions/ManagedClusterSecurityProfileDefender",
+ "description": "Microsoft Defender settings for the security profile."
+ },
+ "azureKeyVaultKms": {
+ "$ref": "#/definitions/AzureKeyVaultKms",
+ "description": "Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile."
+ },
+ "workloadIdentity": {
+ "$ref": "#/definitions/ManagedClusterSecurityProfileWorkloadIdentity",
+ "description": "Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details."
+ },
+ "imageCleaner": {
+ "$ref": "#/definitions/ManagedClusterSecurityProfileImageCleaner",
+ "description": "Image Cleaner settings for the security profile."
+ },
+ "imageIntegrity": {
+ "$ref": "#/definitions/ManagedClusterSecurityProfileImageIntegrity",
+ "description": "Image integrity is a feature that works with Azure Policy to verify image integrity by signature. This will not have any effect unless Azure Policy is applied to enforce image signatures. See https://aka.ms/aks/image-integrity for how to use this feature via policy."
+ },
+ "nodeRestriction": {
+ "$ref": "#/definitions/ManagedClusterSecurityProfileNodeRestriction",
+ "description": "[Node Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings for the security profile."
+ },
+ "customCATrustCertificates": {
+ "$ref": "#/definitions/ManagedClusterSecurityProfileCustomCATrustCertificates",
+ "description": "A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the Custom CA Trust feature enabled. For more information see [Custom CA Trust Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority)"
+ }
+ },
+ "description": "Security profile for the container service cluster."
+ },
+ "ManagedClusterSecurityProfileDefender": {
+ "type": "object",
+ "properties": {
+ "logAnalyticsWorkspaceResourceId": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.OperationalInsights/workspaces"
+ }
+ ]
+ },
+ "description": "Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty."
+ },
+ "securityMonitoring": {
+ "$ref": "#/definitions/ManagedClusterSecurityProfileDefenderSecurityMonitoring",
+ "description": "Microsoft Defender threat detection for Cloud settings for the security profile."
+ }
+ },
+ "description": "Microsoft Defender settings for the security profile."
+ },
+ "ManagedClusterSecurityProfileDefenderSecurityMonitoring": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable Defender threat detection"
+ }
+ },
+ "description": "Microsoft Defender settings for the security profile threat detection."
+ },
+ "ManagedClusterStorageProfile": {
+ "type": "object",
+ "properties": {
+ "diskCSIDriver": {
+ "$ref": "#/definitions/ManagedClusterStorageProfileDiskCSIDriver",
+ "description": "AzureDisk CSI Driver settings for the storage profile."
+ },
+ "fileCSIDriver": {
+ "$ref": "#/definitions/ManagedClusterStorageProfileFileCSIDriver",
+ "description": "AzureFile CSI Driver settings for the storage profile."
+ },
+ "snapshotController": {
+ "$ref": "#/definitions/ManagedClusterStorageProfileSnapshotController",
+ "description": "Snapshot Controller settings for the storage profile."
+ },
+ "blobCSIDriver": {
+ "$ref": "#/definitions/ManagedClusterStorageProfileBlobCSIDriver",
+ "description": "AzureBlob CSI Driver settings for the storage profile."
+ }
+ },
+ "description": "Storage profile for the container service cluster."
+ },
+ "AzureKeyVaultKms": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable Azure Key Vault key management service. The default is false."
+ },
+ "keyId": {
+ "type": "string",
+ "description": "Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty."
+ },
+ "keyVaultNetworkAccess": {
+ "type": "string",
+ "enum": [
+ "Public",
+ "Private"
+ ],
+ "default": "Public",
+ "x-ms-enum": {
+ "name": "KeyVaultNetworkAccessTypes",
+ "modelAsString": true
+ },
+ "title": "Network access of the key vault",
+ "description": "Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`."
+ },
+ "keyVaultResourceId": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.KeyVault/vaults"
+ }
+ ]
+ },
+ "description": "Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty."
+ }
+ },
+ "description": "Azure Key Vault key management service settings for the security profile."
+ },
+ "ManagedClusterIngressProfile": {
+ "type": "object",
+ "properties": {
+ "webAppRouting": {
+ "$ref": "#/definitions/ManagedClusterIngressProfileWebAppRouting",
+ "description": "Web App Routing settings for the ingress profile."
+ }
+ },
+ "description": "Ingress profile for the container service cluster."
+ },
+ "ManagedClusterIngressProfileWebAppRouting": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable Web App Routing."
+ },
+ "dnsZoneResourceIds": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.Network/dnszones"
+ }
+ ]
+ }
+ },
+ "maxItems": 5,
+ "description": "Resource IDs of the public DNS zones to be associated with the Web App Routing add-on. Used only when Web App Routing is enabled. All public DNS zones must be in the same resource group."
+ },
+ "identity": {
+ "readOnly": true,
+ "type": "object",
+ "$ref": "#/definitions/UserAssignedIdentity",
+ "description": "Managed identity of the Web Application Routing add-on. This is the identity that should be granted permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See [this overview of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more instructions."
+ }
+ },
+ "description": "Web App Routing settings for the ingress profile."
+ },
+ "ManagedClusterSecurityProfileWorkloadIdentity": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable workload identity."
+ }
+ },
+ "description": "Workload identity settings for the security profile."
+ },
+ "ManagedClusterSecurityProfileImageCleaner": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable Image Cleaner on AKS cluster."
+ },
+ "intervalHours": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Image Cleaner scanning interval in hours."
+ }
+ },
+ "description": "Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile."
+ },
+ "ManagedClusterSecurityProfileImageIntegrity": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable image integrity. The default value is false."
+ }
+ },
+ "description": "Image integrity related settings for the security profile."
+ },
+ "ManagedClusterSecurityProfileNodeRestriction": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable Node Restriction"
+ }
+ },
+ "description": "Node Restriction settings for the security profile."
+ },
+ "ManagedClusterSecurityProfileCustomCATrustCertificates": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "byte"
+ },
+ "minItems": 0,
+ "maxItems": 10,
+ "title": "The list of base64 encoded certificate strings that will be added to the node trust store. At most 10 strings can be provided.",
+ "description": "Certificates will only be added to trust stores on node pools that have enableCustomCATrust field set to true. If updated, the new list of certificates will be installed in the trust store in place of the old certificates. The certificates are applied asynchronously and will be available a short time after the list is updated."
+ },
+ "ManagedClusterStorageProfileDiskCSIDriver": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable AzureDisk CSI Driver. The default value is true."
+ },
+ "version": {
+ "type": "string",
+ "description": "The version of AzureDisk CSI Driver. The default value is v1."
+ }
+ },
+ "description": "AzureDisk CSI Driver settings for the storage profile."
+ },
+ "ManagedClusterStorageProfileFileCSIDriver": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable AzureFile CSI Driver. The default value is true."
+ }
+ },
+ "description": "AzureFile CSI Driver settings for the storage profile."
+ },
+ "ManagedClusterStorageProfileSnapshotController": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable Snapshot Controller. The default value is true."
+ }
+ },
+ "description": "Snapshot Controller settings for the storage profile."
+ },
+ "ManagedClusterStorageProfileBlobCSIDriver": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable AzureBlob CSI Driver. The default value is false."
+ }
+ },
+ "description": "AzureBlob CSI Driver settings for the storage profile."
+ },
+ "CreationData": {
+ "description": "Data used when creating a target resource from a source resource.",
+ "type": "object",
+ "properties": {
+ "sourceResourceId": {
+ "type": "string",
+ "format": "arm-id",
+ "description": "This is the ARM ID of the source object to be used to create the target object."
+ }
+ }
+ },
+ "SnapshotListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Snapshot"
+ },
+ "description": "The list of snapshots."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of snapshot results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Snapshots operation."
+ },
+ "ManagedClusterSnapshotListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterSnapshot"
+ },
+ "description": "The list of managed cluster snapshots."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of managed cluster snapshot results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Managed Cluster Snapshots operation."
+ },
+ "Snapshot": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Properties of a snapshot.",
+ "$ref": "#/definitions/SnapshotProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "A node pool snapshot resource."
+ },
+ "ManagedClusterSnapshot": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Properties of a managed cluster snapshot.",
+ "$ref": "#/definitions/ManagedClusterSnapshotProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "A managed cluster snapshot resource."
+ },
+ "SnapshotProperties": {
+ "type": "object",
+ "properties": {
+ "creationData": {
+ "$ref": "#/definitions/CreationData",
+ "description": "CreationData to be used to specify the source agent pool resource ID to create this snapshot."
+ },
+ "snapshotType": {
+ "$ref": "#/definitions/SnapshotType"
+ },
+ "kubernetesVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The version of Kubernetes."
+ },
+ "nodeImageVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The version of node image."
+ },
+ "osType": {
+ "readOnly": true,
+ "$ref": "#/definitions/OSType"
+ },
+ "osSku": {
+ "readOnly": true,
+ "$ref": "#/definitions/OSSKU"
+ },
+ "vmSize": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The size of the VM."
+ },
+ "enableFIPS": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "Whether to use a FIPS-enabled OS."
+ }
+ },
+ "description": "Properties used to configure a node pool snapshot."
+ },
+ "ManagedClusterSnapshotProperties": {
+ "type": "object",
+ "properties": {
+ "creationData": {
+ "$ref": "#/definitions/CreationData",
+ "description": "CreationData to be used to specify the source resource ID to create this snapshot."
+ },
+ "snapshotType": {
+ "$ref": "#/definitions/SnapshotType"
+ },
+ "managedClusterPropertiesReadOnly": {
+ "$ref": "#/definitions/ManagedClusterPropertiesForSnapshot",
+ "description": "What the properties will be showed when getting managed cluster snapshot. Those properties are read-only."
+ }
+ },
+ "description": "Properties for a managed cluster snapshot."
+ },
+ "ManagedClusterPropertiesForSnapshot": {
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The current kubernetes version."
+ },
+ "sku": {
+ "type": "object",
+ "$ref": "#/definitions/ManagedClusterSKU",
+ "description": "The current managed cluster sku."
+ },
+ "enableRbac": {
+ "type": "boolean",
+ "description": "Whether the cluster has enabled Kubernetes Role-Based Access Control or not."
+ },
+ "networkProfile": {
+ "type": "object",
+ "$ref": "#/definitions/NetworkProfileForSnapshot",
+ "description": "The current network profile."
+ }
+ },
+ "description": "managed cluster properties for snapshot, these properties are read only."
+ },
+ "NetworkProfileForSnapshot": {
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "networkPlugin": {
+ "$ref": "#/definitions/NetworkPlugin",
+ "description": "networkPlugin for managed cluster snapshot."
+ },
+ "networkPluginMode": {
+ "$ref": "#/definitions/NetworkPluginMode",
+ "description": "NetworkPluginMode for managed cluster snapshot."
+ },
+ "networkPolicy": {
+ "$ref": "#/definitions/NetworkPolicy",
+ "description": "networkPolicy for managed cluster snapshot."
+ },
+ "networkMode": {
+ "$ref": "#/definitions/NetworkMode",
+ "description": "networkMode for managed cluster snapshot."
+ },
+ "loadBalancerSku": {
+ "$ref": "#/definitions/LoadBalancerSku",
+ "description": "loadBalancerSku for managed cluster snapshot."
+ }
+ },
+ "description": "network profile for managed cluster snapshot, these properties are read only."
+ },
+ "NetworkPlugin": {
+ "type": "string",
+ "enum": [
+ "azure",
+ "kubenet",
+ "none"
+ ],
+ "default": "kubenet",
+ "x-ms-enum": {
+ "name": "NetworkPlugin",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "azure",
+ "description": "Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information."
+ },
+ {
+ "value": "kubenet",
+ "description": "Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information."
+ },
+ {
+ "value": "none",
+ "description": "Do not use a network plugin. A custom CNI will need to be installed after cluster creation for networking functionality."
+ }
+ ]
+ },
+ "description": "Network plugin used for building the Kubernetes network."
+ },
+ "NetworkPluginMode": {
+ "type": "string",
+ "enum": [
+ "overlay"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkPluginMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "overlay",
+ "description": "Pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet reference plugins host-local and bridge."
+ }
+ ]
+ },
+ "description": "The mode the network plugin should use."
+ },
+ "NetworkPolicy": {
+ "type": "string",
+ "enum": [
+ "none",
+ "calico",
+ "azure",
+ "cilium"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkPolicy",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "none",
+ "description": "Network policies will not be enforced. This is the default value when NetworkPolicy is not specified."
+ },
+ {
+ "value": "calico",
+ "description": "Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information."
+ },
+ {
+ "value": "azure",
+ "description": "Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information."
+ },
+ {
+ "value": "cilium",
+ "description": "Use Cilium to enforce network policies. This requires networkDataplane to be 'cilium'."
+ }
+ ]
+ },
+ "description": "Network policy used for building the Kubernetes network."
+ },
+ "NetworkMode": {
+ "type": "string",
+ "enum": [
+ "transparent",
+ "bridge"
+ ],
+ "x-ms-enum": {
+ "name": "networkMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "transparent",
+ "description": "No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information."
+ },
+ {
+ "value": "bridge",
+ "description": "This is no longer supported"
+ }
+ ]
+ },
+ "title": "The network mode Azure CNI is configured with.",
+ "description": "This cannot be specified if networkPlugin is anything other than 'azure'."
+ },
+ "NetworkDataplane": {
+ "type": "string",
+ "enum": [
+ "azure",
+ "cilium"
+ ],
+ "x-ms-enum": {
+ "name": "networkDataplane",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "azure",
+ "description": "Use Azure network dataplane."
+ },
+ {
+ "value": "cilium",
+ "description": "Use Cilium network dataplane. See [Azure CNI Powered by Cilium](https://learn.microsoft.com/azure/aks/azure-cni-powered-by-cilium) for more information."
+ }
+ ]
+ },
+ "description": "Network dataplane used in the Kubernetes cluster."
+ },
+ "NetworkMonitoring": {
+ "type": "object",
+ "description": "This addon can be used to configure network monitoring and generate network monitoring data in Prometheus format",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Enable or disable the network monitoring plugin on the cluster"
+ }
+ }
+ },
+ "LoadBalancerSku": {
+ "type": "string",
+ "enum": [
+ "standard",
+ "basic"
+ ],
+ "x-ms-enum": {
+ "name": "loadBalancerSku",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "standard",
+ "description": "Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article."
+ },
+ {
+ "value": "basic",
+ "description": "Use a basic Load Balancer with limited functionality."
+ }
+ ]
+ },
+ "title": "The load balancer sku for the managed cluster.",
+ "description": "The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs."
+ },
+ "SnapshotType": {
+ "type": "string",
+ "default": "NodePool",
+ "enum": [
+ "NodePool",
+ "ManagedCluster"
+ ],
+ "x-ms-enum": {
+ "name": "SnapshotType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "NodePool",
+ "description": "The snapshot is a snapshot of a node pool."
+ },
+ {
+ "value": "ManagedCluster",
+ "description": "The snapshot is a snapshot of a managed cluster."
+ }
+ ]
+ },
+ "description": "The type of a snapshot. The default is NodePool."
+ },
+ "CapacityReservationGroupID": {
+ "description": "Capacity Reservation Group ID for AgentPool to associate",
+ "type": "string"
+ },
+ "TrustedAccessRoleRule": {
+ "type": "object",
+ "description": "Rule for trusted access role",
+ "properties": {
+ "verbs": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "List of allowed verbs"
+ },
+ "apiGroups": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "List of allowed apiGroups"
+ },
+ "resources": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "List of allowed resources"
+ },
+ "resourceNames": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "List of allowed names"
+ },
+ "nonResourceURLs": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "List of allowed nonResourceURLs"
+ }
+ }
+ },
+ "TrustedAccessRole": {
+ "type": "object",
+ "description": "Trusted access role definition.",
+ "properties": {
+ "sourceResourceType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type of Azure resource"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Name of role, name is unique under a source resource type"
+ },
+ "rules": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/TrustedAccessRoleRule"
+ },
+ "x-ms-identifiers": [],
+ "description": "List of rules for the role. This maps to 'rules' property of [Kubernetes Cluster Role](https://kubernetes.io/docs/reference/kubernetes-api/authorization-resources/cluster-role-v1/#ClusterRole)."
+ }
+ }
+ },
+ "TrustedAccessRoleListResult": {
+ "type": "object",
+ "description": "List of trusted access roles",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/TrustedAccessRole"
+ },
+ "x-ms-identifiers": [
+ "sourceResourceType",
+ "name"
+ ],
+ "description": "Role list"
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "TrustedAccessRoleBindingProperties": {
+ "type": "object",
+ "description": "Properties for trusted access role binding",
+ "required": [
+ "sourceResourceId",
+ "roles"
+ ],
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state of trusted access role binding.",
+ "enum": [
+ "Canceled",
+ "Deleting",
+ "Failed",
+ "Succeeded",
+ "Updating"
+ ],
+ "x-ms-enum": {
+ "name": "TrustedAccessRoleBindingProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "sourceResourceId": {
+ "type": "string",
+ "format": "arm-id",
+ "description": "The ARM resource ID of source resource that trusted access is configured for."
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of roles to bind, each item is a resource type qualified role name. For example: 'Microsoft.MachineLearningServices/workspaces/reader'."
+ }
+ }
+ },
+ "TrustedAccessRoleBinding": {
+ "type": "object",
+ "description": "Defines binding between a resource and role",
+ "required": [
+ "properties"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TrustedAccessRoleBindingProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "TrustedAccessRoleBindingListResult": {
+ "type": "object",
+ "description": "List of trusted access role bindings",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrustedAccessRoleBinding"
+ },
+ "description": "Role binding list"
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ManagedClusterWorkloadAutoScalerProfile": {
+ "type": "object",
+ "description": "Workload Auto-scaler profile for the managed cluster.",
+ "properties": {
+ "keda": {
+ "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfileKeda"
+ },
+ "verticalPodAutoscaler": {
+ "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler"
+ }
+ }
+ },
+ "ManagedClusterWorkloadAutoScalerProfileKeda": {
+ "type": "object",
+ "description": "KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable KEDA."
+ }
+ },
+ "required": [
+ "enabled"
+ ]
+ },
+ "ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable VPA add-on in cluster. Default value is false.",
+ "default": false
+ },
+ "addonAutoscaling": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "AddonAutoscaling",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Enabled",
+ "description": "Feature to autoscale AKS-managed add-ons is enabled. The default VPA update mode is Initial mode."
+ },
+ {
+ "value": "Disabled",
+ "description": "Feature to autoscale AKS-managed add-ons is disabled."
+ }
+ ]
+ },
+ "description": "Whether VPA add-on is enabled and configured to scale AKS-managed add-ons.",
+ "default": "Disabled"
+ }
+ },
+ "required": [
+ "enabled"
+ ]
+ },
+ "ManagedClusterAzureMonitorProfile": {
+ "type": "object",
+ "description": "Prometheus addon profile for the container service cluster",
+ "properties": {
+ "metrics": {
+ "$ref": "#/definitions/ManagedClusterAzureMonitorProfileMetrics"
+ },
+ "logs": {
+ "$ref": "#/definitions/ManagedClusterAzureMonitorProfileLogs"
+ }
+ }
+ },
+ "ManagedClusterAzureMonitorProfileKubeStateMetrics": {
+ "type": "object",
+ "description": "Kube State Metrics for prometheus addon profile for the container service cluster",
+ "properties": {
+ "metricLabelsAllowlist": {
+ "type": "string",
+ "description": "Comma-separated list of Kubernetes annotations keys that will be used in the resource's labels metric. "
+ },
+ "metricAnnotationsAllowList": {
+ "type": "string",
+ "description": "Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric."
+ }
+ }
+ },
+ "ManagedClusterAzureMonitorProfileMetrics": {
+ "type": "object",
+ "description": "Metrics profile for the prometheus service addon",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable the Prometheus collector"
+ },
+ "kubeStateMetrics": {
+ "$ref": "#/definitions/ManagedClusterAzureMonitorProfileKubeStateMetrics"
+ },
+ "appMonitoringOpenTelemetryMetrics": {
+ "$ref": "#/definitions/ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics"
+ }
+ },
+ "required": [
+ "enabled"
+ ]
+ },
+ "GuardrailsProfile": {
+ "type": "object",
+ "properties": {
+ "systemExcludedNamespaces": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of namespaces specified by AKS to be excluded from Guardrails",
+ "items": {
+ "type": "string"
+ }
+ },
+ "version": {
+ "type": "string",
+ "description": "The version of constraints to use"
+ },
+ "level": {
+ "type": "string",
+ "enum": [
+ "Off",
+ "Warning",
+ "Enforcement"
+ ],
+ "x-ms-enum": {
+ "name": "level",
+ "modelAsString": true
+ },
+ "description": "The guardrails level to be used. By default, Guardrails is enabled for all namespaces except those that AKS excludes via systemExcludedNamespaces"
+ },
+ "excludedNamespaces": {
+ "description": "List of namespaces excluded from guardrails checks",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "level"
+ ],
+ "description": "The Guardrails profile."
+ },
+ "ServiceMeshProfile": {
+ "type": "object",
+ "description": "Service mesh profile for a managed cluster.",
+ "properties": {
+ "mode": {
+ "type": "string",
+ "description": "Mode of the service mesh.",
+ "enum": [
+ "Istio",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceMeshMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Istio",
+ "description": "Istio deployed as an AKS addon."
+ },
+ {
+ "value": "Disabled",
+ "description": "Mesh is disabled."
+ }
+ ]
+ }
+ },
+ "istio": {
+ "$ref": "#/definitions/IstioServiceMesh"
+ }
+ },
+ "required": [
+ "mode"
+ ]
+ },
+ "IstioServiceMesh": {
+ "type": "object",
+ "description": "Istio service mesh configuration.",
+ "properties": {
+ "components": {
+ "$ref": "#/definitions/IstioComponents"
+ },
+ "certificateAuthority": {
+ "$ref": "#/definitions/IstioCertificateAuthority"
+ },
+ "revisions": {
+ "type": "array",
+ "description": "The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true,
+ "maxItems": 2
+ }
+ }
+ },
+ "IstioComponents": {
+ "type": "object",
+ "description": "Istio components configuration.",
+ "properties": {
+ "ingressGateways": {
+ "type": "array",
+ "description": "Istio ingress gateways.",
+ "items": {
+ "$ref": "#/definitions/IstioIngressGateway"
+ },
+ "x-ms-identifiers": []
+ },
+ "egressGateways": {
+ "type": "array",
+ "description": "Istio egress gateways.",
+ "items": {
+ "$ref": "#/definitions/IstioEgressGateway"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "IstioIngressGateway": {
+ "type": "object",
+ "description": "Istio ingress gateway configuration. For now, we support up to one external ingress gateway named `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`.",
+ "properties": {
+ "mode": {
+ "type": "string",
+ "description": "Mode of an ingress gateway.",
+ "enum": [
+ "External",
+ "Internal"
+ ],
+ "x-ms-enum": {
+ "name": "IstioIngressGatewayMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "External",
+ "description": "The ingress gateway is assigned a public IP address and is publicly accessible."
+ },
+ {
+ "value": "Internal",
+ "description": "The ingress gateway is assigned an internal IP address and cannot is accessed publicly."
+ }
+ ]
+ }
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable the ingress gateway."
+ }
+ },
+ "required": [
+ "mode",
+ "enabled"
+ ]
+ },
+ "IstioCertificateAuthority": {
+ "type": "object",
+ "description": "Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca",
+ "properties": {
+ "plugin": {
+ "$ref": "#/definitions/IstioPluginCertificateAuthority"
+ }
+ }
+ },
+ "IstioPluginCertificateAuthority": {
+ "type": "object",
+ "description": "Plugin certificates information for Service Mesh.",
+ "properties": {
+ "keyVaultId": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.KeyVault/vaults"
+ }
+ ]
+ },
+ "description": "The resource ID of the Key Vault."
+ },
+ "certObjectName": {
+ "type": "string",
+ "description": "Intermediate certificate object name in Azure Key Vault."
+ },
+ "keyObjectName": {
+ "type": "string",
+ "description": "Intermediate certificate private key object name in Azure Key Vault."
+ },
+ "rootCertObjectName": {
+ "type": "string",
+ "description": "Root certificate object name in Azure Key Vault."
+ },
+ "certChainObjectName": {
+ "type": "string",
+ "description": "Certificate chain object name in Azure Key Vault."
+ }
+ }
+ },
+ "IstioEgressGateway": {
+ "type": "object",
+ "description": "Istio egress gateway configuration.",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable the egress gateway."
+ },
+ "nodeSelector": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "NodeSelector for scheduling the egress gateway."
+ }
+ },
+ "required": [
+ "enabled"
+ ]
+ },
+ "MeshRevisionProfileList": {
+ "type": "object",
+ "description": "Holds an array of MeshRevisionsProfiles",
+ "properties": {
+ "value": {
+ "type": "array",
+ "x-ms-identifiers": [],
+ "items": {
+ "$ref": "#/definitions/MeshRevisionProfile"
+ },
+ "description": "Array of service mesh add-on revision profiles for all supported mesh modes."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of mesh revision profile.",
+ "readOnly": true
+ }
+ }
+ },
+ "MeshRevisionProfile": {
+ "type": "object",
+ "description": "Mesh revision profile for a mesh.",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MeshRevisionProfileProperties"
+ }
+ }
+ },
+ "MeshRevisionProfileProperties": {
+ "type": "object",
+ "description": "Mesh revision profile properties for a mesh",
+ "properties": {
+ "meshRevisions": {
+ "type": "array",
+ "x-ms-identifiers": [],
+ "items": {
+ "$ref": "#/definitions/MeshRevision"
+ }
+ }
+ }
+ },
+ "MeshUpgradeProfileList": {
+ "type": "object",
+ "description": "Holds an array of MeshUpgradeProfiles",
+ "properties": {
+ "value": {
+ "type": "array",
+ "x-ms-identifiers": [],
+ "items": {
+ "$ref": "#/definitions/MeshUpgradeProfile"
+ },
+ "description": "Array of supported service mesh add-on upgrade profiles."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of mesh upgrade profile.",
+ "readOnly": true
+ }
+ }
+ },
+ "MeshUpgradeProfile": {
+ "type": "object",
+ "description": "Upgrade profile for given mesh.",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MeshUpgradeProfileProperties"
+ }
+ }
+ },
+ "MeshUpgradeProfileProperties": {
+ "type": "object",
+ "description": "Mesh upgrade profile properties for a major.minor release.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MeshRevision"
+ }
+ ]
+ },
+ "MeshRevision": {
+ "type": "object",
+ "description": "Holds information on upgrades and compatibility for given major.minor mesh release.",
+ "properties": {
+ "revision": {
+ "type": "string",
+ "description": "The revision of the mesh release."
+ },
+ "upgrades": {
+ "type": "array",
+ "description": "List of revisions available for upgrade of a specific mesh revision",
+ "items": {
+ "type": "string",
+ "description": "An upgradeable mesh revision"
+ }
+ },
+ "compatibleWith": {
+ "type": "array",
+ "description": "List of items this revision of service mesh is compatible with, and their associated versions.",
+ "items": {
+ "$ref": "#/definitions/CompatibleVersions"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "CompatibleVersions": {
+ "type": "object",
+ "description": "Version information about a product/service that is compatible with a service mesh revision.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The product/service name."
+ },
+ "versions": {
+ "type": "array",
+ "description": "Product/service versions compatible with a service mesh add-on revision.",
+ "items": {
+ "type": "string",
+ "description": "A compatible product/service version."
+ }
+ }
+ }
+ },
+ "KubernetesSupportPlan": {
+ "type": "string",
+ "description": "Different support tiers for AKS managed clusters",
+ "enum": [
+ "KubernetesOfficial",
+ "AKSLongTermSupport"
+ ],
+ "x-ms-enum": {
+ "name": "KubernetesSupportPlan",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "KubernetesOfficial",
+ "description": "Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release."
+ },
+ {
+ "value": "AKSLongTermSupport",
+ "description": "Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support."
+ }
+ ]
+ }
+ },
+ "KubernetesVersionCapabilities": {
+ "type": "object",
+ "description": "Capabilities on this Kubernetes version.",
+ "properties": {
+ "supportPlan": {
+ "type": "array",
+ "x-ms-identifiers": [],
+ "items": {
+ "$ref": "#/definitions/KubernetesSupportPlan"
+ }
+ }
+ }
+ },
+ "KubernetesPatchVersion": {
+ "type": "object",
+ "description": "Kubernetes patch version profile",
+ "properties": {
+ "upgrades": {
+ "type": "array",
+ "description": "Possible upgrade path for given patch version",
+ "x-ms-identifiers": [],
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "KubernetesVersion": {
+ "type": "object",
+ "description": "Kubernetes version profile for given major.minor release.",
+ "properties": {
+ "version": {
+ "type": "string",
+ "description": "major.minor version of Kubernetes release"
+ },
+ "capabilities": {
+ "$ref": "#/definitions/KubernetesVersionCapabilities",
+ "description": "Capabilities on this Kubernetes version."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether this version is in preview mode."
+ },
+ "patchVersions": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/KubernetesPatchVersion"
+ },
+ "description": "Patch versions of Kubernetes release"
+ }
+ }
+ },
+ "KubernetesVersionListResult": {
+ "type": "object",
+ "description": "Hold values properties, which is array of KubernetesVersion",
+ "properties": {
+ "values": {
+ "type": "array",
+ "x-ms-identifiers": [],
+ "items": {
+ "$ref": "#/definitions/KubernetesVersion"
+ },
+ "description": "Array of AKS supported Kubernetes versions."
+ }
+ }
+ },
+ "ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics": {
+ "type": "object",
+ "description": "Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Metrics. Collects OpenTelemetry metrics through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview.",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Indicates if Application Monitoring Open Telemetry Metrics is enabled or not."
+ }
+ }
+ },
+ "ManagedClusterAzureMonitorProfileLogs": {
+ "type": "object",
+ "description": "Logs profile for the Azure Monitor Infrastructure and Application Logs. Collect out-of-the-box Kubernetes infrastructure & application logs to send to Azure Monitor. See aka.ms/AzureMonitorContainerInsights for an overview.",
+ "properties": {
+ "containerInsights": {
+ "$ref": "#/definitions/ManagedClusterAzureMonitorProfileContainerInsights"
+ },
+ "appMonitoring": {
+ "$ref": "#/definitions/ManagedClusterAzureMonitorProfileAppMonitoring"
+ }
+ }
+ },
+ "ManagedClusterAzureMonitorProfileContainerInsights": {
+ "type": "object",
+ "description": "Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & stderr logs etc. See aka.ms/AzureMonitorContainerInsights for an overview.",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Indicates if Azure Monitor Container Insights Logs Addon is enabled or not."
+ },
+ "logAnalyticsWorkspaceResourceId": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.OperationalInsights/workspaces"
+ }
+ ]
+ },
+ "description": "Fully Qualified ARM Resource Id of Azure Log Analytics Workspace for storing Azure Monitor Container Insights Logs."
+ },
+ "windowsHostLogs": {
+ "$ref": "#/definitions/ManagedClusterAzureMonitorProfileWindowsHostLogs"
+ }
+ }
+ },
+ "ManagedClusterAzureMonitorProfileAppMonitoring": {
+ "type": "object",
+ "description": "Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics and traces through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview.",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Indicates if Application Monitoring enabled or not."
+ }
+ }
+ },
+ "ManagedClusterAzureMonitorProfileWindowsHostLogs": {
+ "type": "object",
+ "description": "Windows Host Logs Profile for Kubernetes Windows Nodes Log Collection. Collects ETW, Event Logs and Text logs etc. See aka.ms/AzureMonitorContainerInsights for an overview.",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Indicates if Windows Host Log Collection is enabled or not for Azure Monitor Container Insights Logs Addon."
+ }
+ }
+ },
+ "ManagedClusterMetricsProfile": {
+ "type": "object",
+ "description": "The metrics profile for the ManagedCluster.",
+ "properties": {
+ "costAnalysis": {
+ "$ref": "#/definitions/ManagedClusterCostAnalysis",
+ "title": "The configuration for detailed per-Kubernetes resource cost analysis."
+ }
+ }
+ },
+ "ManagedClusterCostAnalysis": {
+ "type": "object",
+ "description": "The cost analysis configuration for the cluster",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "title": "Whether to enable cost analysis",
+ "description": "The Managed Cluster sku.tier must be set to 'Standard' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis."
+ }
+ }
+ },
+ "ManagedClusterAIToolchainOperatorProfile": {
+ "type": "object",
+ "description": "When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and enables distributed inference against them.",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "title": "Whether to enable AI toolchain operator to the cluster",
+ "description": "Indicates if AI toolchain operator enabled or not."
+ }
+ }
+ },
+ "ManagedClusterNodeProvisioningProfile": {
+ "type": "object",
+ "properties": {
+ "mode": {
+ "type": "string",
+ "enum": [
+ "Manual",
+ "Auto"
+ ],
+ "x-ms-enum": {
+ "name": "NodeProvisioningMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Manual",
+ "description": "Nodes are provisioned manually by the user"
+ },
+ {
+ "value": "Auto",
+ "description": "Nodes are provisioned automatically by AKS using Karpenter. Fixed size Node Pools can still be created, but autoscaling Node Pools cannot be. (See aka.ms/aks/nap for more details)."
+ }
+ ]
+ },
+ "title": "The node provisioning mode. If not specified, the default is Manual.",
+ "description": "Once the mode it set to Auto, it cannot be changed back to Manual."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "The name of the managed cluster resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "AgentPoolNameParameter": {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]{0,11}$",
+ "minLength": 1,
+ "maxLength": 12,
+ "description": "The name of the agent pool.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceTypeParameter": {
+ "name": "resource-type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The resource type for which the OS options needs to be returned",
+ "x-ms-parameter-location": "method"
+ },
+ "ServerFqdnParameter": {
+ "name": "server-fqdn",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "server fqdn type for credentials to be returned",
+ "x-ms-parameter-location": "method"
+ },
+ "CredentialFormatParameter": {
+ "name": "format",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "exec",
+ "azure"
+ ],
+ "x-ms-enum": {
+ "name": "format",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "azure",
+ "description": "Return azure auth-provider kubeconfig. This format is deprecated in v1.22 and will be fully removed in v1.26. See: https://aka.ms/k8s/changes-1-26."
+ },
+ {
+ "value": "exec",
+ "description": "Return exec format kubeconfig. This format requires kubelogin binary in the path."
+ }
+ ]
+ },
+ "description": "Only apply to AAD clusters, specifies the format of returned kubeconfig. Format 'azure' will return azure auth-provider kubeconfig; format 'exec' will return exec format kubeconfig, which requires kubelogin binary in the path.",
+ "x-ms-parameter-location": "method"
+ },
+ "IgnorePodDisruptionBudgetParameter": {
+ "name": "ignore-pod-disruption-budget",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "ignore-pod-disruption-budget=true to delete those pods on a node without considering Pod Disruption Budget",
+ "x-ms-parameter-location": "method"
+ },
+ "TrustedAccessRoleBindingNameParameter": {
+ "name": "trustedAccessRoleBindingName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of trusted access role binding.",
+ "pattern": "^([A-Za-z0-9-])+$",
+ "minLength": 1,
+ "maxLength": 24,
+ "x-ms-parameter-location": "method"
+ },
+ "MeshModeParameter": {
+ "name": "mode",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 24,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "The mode of the mesh.",
+ "x-ms-parameter-location": "method"
+ },
+ "MachineNameParameter": {
+ "type": "string",
+ "description": "host name of the machine",
+ "name": "machineName",
+ "in": "path",
+ "required": true,
+ "pattern": "^[a-zA-Z0-9][-_a-zA-Z0-9]{0,39}$",
+ "x-ms-parameter-location": "method"
+ },
+ "VersionParameter": {
+ "name": "version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 24,
+ "description": "Guardrails version",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.java.md b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.java.md
index dd91d04057c9..bb283dc92d5b 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.java.md
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.java.md
@@ -12,6 +12,11 @@ payload-flattening-threshold: 1
output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-containerservice
title: ContainerServiceManagementClient
description: "Container Service Client"
+directive:
+ from: managedClusters.json
+ where: "$.definitions.TrustedAccessRoleRule.properties.nonResourceURLs"
+ transform: >
+ $["x-ms-client-name"] = "nonResourceUrls";
```
These settings also apply when `--tag=profile-hybrid-2020-09-01` is not specified.
@@ -82,6 +87,7 @@ batch:
- tag: package-2023-07
- tag: package-preview-2023-08
- tag: package-2023-08
+ - tag: package-preview-2023-09
- tag: package-2023-09
```
@@ -98,6 +104,19 @@ regenerate-manager: true
generate-interface: true
```
+### Tag: package-preview-2023-09 and java
+
+These settings apply only when `--tag=package-preview-2023-09` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-preview-2023-09' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerservice.v2023_09_02_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2023_09_02_preview
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2023-08 and java
These settings apply only when `--tag=package-2023-08` is specified on the command line.
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.md b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.md
index cadf64a7d191..297b888d677e 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.md
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.md
@@ -37,7 +37,6 @@ openapi-type: arm
tag: package-2023-09
```
-
### Tag: package-2023-09
These settings apply only when `--tag=package-2023-09` is specified on the command line.
@@ -46,6 +45,16 @@ These settings apply only when `--tag=package-2023-09` is specified on the comma
input-file:
- stable/2023-09-01/managedClusters.json
```
+
+### Tag: package-preview-2023-09
+
+These settings apply only when `--tag=package-preview-2023-09` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2023-09'
+input-file:
+ - preview/2023-09-02-preview/managedClusters.json
+```
+
### Tag: package-2023-08
These settings apply only when `--tag=package-2023-08` is specified on the command line.
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.python.md b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.python.md
index 1052b97a270e..35f8d00f1452 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.python.md
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.python.md
@@ -20,6 +20,7 @@ default-api-version: "2023-09-01"
multiapi: true
batch:
- tag: package-2023-09
+ - tag: package-preview-2023-09
- tag: package-2023-08
- tag: package-preview-2023-08
- tag: package-2023-07
@@ -105,6 +106,16 @@ namespace: azure.mgmt.containerservice.v2023_09_01
output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2023_09_01
```
+### Tag: package-preview-2023-09 and python
+
+These settings apply only when `--tag=package-preview-2023-09 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-preview-2023-09' && $(python)
+namespace: azure.mgmt.containerservice.v2023_09_02_preview
+output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2023_09_02_preview
+```
+
### Tag: package-2023-08 and python
These settings apply only when `--tag=package-2023-08 --python` is specified on the command line.
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/readme.python.md b/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/readme.python.md
index d3d0286e0f53..9af1ac04212a 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/readme.python.md
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/readme.python.md
@@ -17,7 +17,7 @@ no-namespace-folders: true
Generate all API versions currently shipped for this package
```yaml $(python)
-default-api-version: "2023-08-15-preview"
+default-api-version: "2023-10-15"
multiapi: true
batch:
- tag: package-2023-10
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/CIAM/createCIAMTenant.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/CIAM/createCIAMTenant.json
new file mode 100644
index 000000000000..a1f0a00283e0
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/CIAM/createCIAMTenant.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2023-05-17-preview",
+ "resourceGroupName": "contosoResourceGroup",
+ "resourceName": "contoso",
+ "createCIAMTenantRequestBody": {
+ "location": "United States",
+ "sku": {
+ "name": "Standard",
+ "tier": "A0"
+ },
+ "properties": {
+ "createTenantProperties": {
+ "displayName": "Contoso",
+ "countryCode": "US"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/ciamDirectories/contoso",
+ "name": "contoso",
+ "type": "Microsoft.AzureActiveDirectory/ciamDirectories",
+ "location": "United States",
+ "sku": {
+ "name": "Standard",
+ "tier": "A0"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "createTenantProperties": {
+ "displayName": "Contoso",
+ "countryCode": "US"
+ },
+ "billingConfig": {
+ "billingType": "MAU",
+ "effectiveStartDateUtc": "1/1/0001 12:00:00 AM"
+ },
+ "domainName": "contoso.onmicrosoft.com",
+ "tenantId": "00000000-0000-0000-0000-000000000000"
+ },
+ "tags": null,
+ "systemData": {
+ "createdBy": "contosoAdmin@onmicrosoft.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "contosoAdmin@onmicrosoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T01:01:01.1075056Z"
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e70a6dd9-57ab-481e-9668-a6899e3f13f6/providers/Microsoft.AzureActiveDirectory/operationStatuses/f57cbcaf-5d23-495e-8414-43fe19cb9e82?api-version=2023-05-17-preview",
+ "Retry-After": 60
+ },
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/ciamDirectories/contoso.onmicrosoft.com",
+ "name": "contoso.onmicrosoft.com",
+ "type": "Microsoft.AzureActiveDirectory/ciamDirectories",
+ "location": "United States",
+ "sku": {
+ "name": "Standard",
+ "tier": "A0"
+ },
+ "properties": {
+ "provisioningState": "Provisioning",
+ "createTenantProperties": {
+ "displayName": "Contoso",
+ "countryCode": "US"
+ },
+ "billingConfig": {
+ "billingType": "MAU",
+ "effectiveStartDateUtc": "1/1/0001 12:00:00 AM"
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000"
+ },
+ "tags": null,
+ "systemData": {
+ "createdBy": "contosoAdmin@onmicrosoft.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "contosoAdmin@onmicrosoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T01:01:01.1075056Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/CIAM/deleteCIAMTenant.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/CIAM/deleteCIAMTenant.json
new file mode 100644
index 000000000000..98df411e529e
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/CIAM/deleteCIAMTenant.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346",
+ "api-version": "2023-05-17-preview",
+ "resourceGroupName": "rg1",
+ "resourceName": "contoso"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab346/providers/Microsoft.AzureActiveDirectory/operationStatuses/99999999-9999-9999-9999-999999999999",
+ "Retry-After": "60"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/CIAM/getCIAMTenant.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/CIAM/getCIAMTenant.json
new file mode 100644
index 000000000000..ae0615ff918f
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/CIAM/getCIAMTenant.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2023-05-17-preview",
+ "resourceGroupName": "contosoResourceGroup",
+ "resourceName": "contoso"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/ciamDirectories/contoso",
+ "name": "contoso",
+ "type": "Microsoft.AzureActiveDirectory/ciamDirectories",
+ "location": "United States",
+ "sku": {
+ "name": "Standard",
+ "tier": "A0"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "createTenantProperties": {
+ "displayName": "Contoso",
+ "countryCode": "US"
+ },
+ "billingConfig": {
+ "billingType": "MAU",
+ "effectiveStartDateUtc": "1/1/0001 12:00:00 AM"
+ },
+ "domainName": "contoso.onmicrosoft.com",
+ "tenantId": "00000000-0000-0000-0000-000000000000"
+ },
+ "tags": null,
+ "systemData": {
+ "createdBy": "contosoAdmin@onmicrosoft.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "contosoAdmin@onmicrosoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T01:01:01.1075056Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/CIAM/listCIAMTenantsByResourceGroup.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/CIAM/listCIAMTenantsByResourceGroup.json
new file mode 100644
index 000000000000..98e484a438f3
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/CIAM/listCIAMTenantsByResourceGroup.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2023-05-17-preview",
+ "resourceGroupName": "contosoResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/ciamDirectories/contoso",
+ "name": "contoso",
+ "type": "Microsoft.AzureActiveDirectory/ciamDirectories",
+ "location": "United States",
+ "sku": {
+ "name": "Standard",
+ "tier": "A0"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "createTenantProperties": {
+ "displayName": "Contoso",
+ "countryCode": "US"
+ },
+ "billingConfig": {
+ "billingType": "MAU",
+ "effectiveStartDateUtc": "1/1/0001 12:00:00 AM"
+ },
+ "domainName": "contoso.onmicrosoft.com",
+ "tenantId": "00000000-0000-0000-0000-000000000000"
+ },
+ "tags": null,
+ "systemData": {
+ "createdBy": "contosoAdmin@onmicrosoft.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "contosoAdmin@onmicrosoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T01:01:01.1075056Z"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/CIAM/listCIAMTenantsBySubscription.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/CIAM/listCIAMTenantsBySubscription.json
new file mode 100644
index 000000000000..1e63e8527255
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/CIAM/listCIAMTenantsBySubscription.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2023-05-17-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/ciamDirectories/contoso",
+ "name": "contoso",
+ "type": "Microsoft.AzureActiveDirectory/ciamDirectories",
+ "location": "United States",
+ "sku": {
+ "name": "Standard",
+ "tier": "A0"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "createTenantProperties": {
+ "displayName": "Contoso",
+ "countryCode": "US"
+ },
+ "billingConfig": {
+ "billingType": "MAU",
+ "effectiveStartDateUtc": "1/1/0001 12:00:00 AM"
+ },
+ "domainName": "contoso.onmicrosoft.com",
+ "tenantId": "00000000-0000-0000-0000-000000000000"
+ },
+ "tags": null,
+ "systemData": {
+ "createdBy": "contosoAdmin@onmicrosoft.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "contosoAdmin@onmicrosoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T01:01:01.1075056Z"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/CIAM/updateCIAMTenant.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/CIAM/updateCIAMTenant.json
new file mode 100644
index 000000000000..4551e29fc487
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/CIAM/updateCIAMTenant.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2023-05-17-preview",
+ "resourceGroupName": "contosoResourceGroup",
+ "resourceName": "contoso",
+ "updateTenantRequestBody": {
+ "sku": {
+ "name": "PremiumP1"
+ },
+ "tags": {
+ "key": "value"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/ciamDirectories/contoso",
+ "name": "contoso",
+ "type": "Microsoft.AzureActiveDirectory/ciamDirectories",
+ "location": "United States",
+ "sku": {
+ "name": "PremiumP1",
+ "tier": "A0"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "createTenantProperties": {
+ "displayName": "Contoso",
+ "countryCode": "US"
+ },
+ "billingConfig": {
+ "billingType": "MAU"
+ },
+ "domainName": "contoso.onmicrosoft.com",
+ "tenantId": "00000000-0000-0000-0000-000000000000"
+ },
+ "tags": {
+ "key": "value"
+ },
+ "systemData": {
+ "createdBy": "contosoAdmin@onmicrosoft.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "contosoAdmin@onmicrosoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T01:01:01.1075056Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/GuestUsagesCreate.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/GuestUsagesCreate.json
new file mode 100644
index 000000000000..b77982667515
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/GuestUsagesCreate.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "contosoResourceGroup",
+ "api-version": "2023-05-17-preview",
+ "resourceName": "contoso.onmicrosoft.com",
+ "resource": {
+ "location": "United States",
+ "name": "contoso.onmicrosoft.com",
+ "properties": {
+ "tenantId": "c963dd1a-9174-4c23-8bae-733d7f955492"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/guestUsages/contoso.onmicrosoft.com",
+ "name": "contoso.onmicrosoft.com",
+ "location": "United States",
+ "tags": {},
+ "type": "Microsoft.AzureActiveDirectory/GuestUsages",
+ "properties": {
+ "tenantId": "c963dd1a-9174-4c23-8bae-733d7f955492"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/GuestUsagesDelete.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/GuestUsagesDelete.json
new file mode 100644
index 000000000000..154be1956034
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/GuestUsagesDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "contosoResourceGroup",
+ "api-version": "2023-05-17-preview",
+ "resourceName": "contoso.onmicrosoft.com"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/GuestUsagesGet.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/GuestUsagesGet.json
new file mode 100644
index 000000000000..661c8e761c78
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/GuestUsagesGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "contosoResourceGroup",
+ "api-version": "2023-05-17-preview",
+ "resourceName": "contoso.onmicrosoft.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/guestUsages/contoso.onmicrosoft.com",
+ "name": "contoso.onmicrosoft.com",
+ "location": "United States",
+ "tags": {},
+ "type": "Microsoft.AzureActiveDirectory/GuestUsages",
+ "properties": {
+ "tenantId": "c963dd1a-9174-4c23-8bae-733d7f955492"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/GuestUsagesResourceGroupGet.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/GuestUsagesResourceGroupGet.json
new file mode 100644
index 000000000000..a56fffe19e55
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/GuestUsagesResourceGroupGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "contosoResourceGroup",
+ "api-version": "2023-05-17-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/guestUsages/contoso.onmicrosoft.com",
+ "name": "contoso.onmicrosoft.com",
+ "location": "United States",
+ "tags": {},
+ "type": "Microsoft.AzureActiveDirectory/GuestUsages",
+ "properties": {
+ "tenantId": "c963dd1a-9174-4c23-8bae-733d7f955492"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/GuestUsagesSubscriptionGet.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/GuestUsagesSubscriptionGet.json
new file mode 100644
index 000000000000..f7811b38c031
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/GuestUsagesSubscriptionGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "api-version": "2023-05-17-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/guestUsages/contoso.onmicrosoft.com",
+ "name": "contoso.onmicrosoft.com",
+ "location": "United States",
+ "tags": {},
+ "type": "Microsoft.AzureActiveDirectory/GuestUsages",
+ "properties": {
+ "tenantId": "c963dd1a-9174-4c23-8bae-733d7f955492"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/GuestUsagesUpdate.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/GuestUsagesUpdate.json
new file mode 100644
index 000000000000..12accdbf9ba4
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/GuestUsagesUpdate.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "contosoResourceGroup",
+ "api-version": "2023-05-17-preview",
+ "resourceName": "contoso.onmicrosoft.com",
+ "resource": {
+ "tags": {
+ "additionalProperty1": "additionalValue1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/guestUsages/contoso.onmicrosoft.com",
+ "name": "contoso.onmicrosoft.com",
+ "location": "United States",
+ "tags": {
+ "additionalProperty1": "additionalValue1"
+ },
+ "type": "Microsoft.AzureActiveDirectory/GuestUsages",
+ "properties": {
+ "tenantId": "c963dd1a-9174-4c23-8bae-733d7f955492"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/OperationsList.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/OperationsList.json
new file mode 100644
index 000000000000..ad0d5337c6e5
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/OperationsList.json
@@ -0,0 +1,105 @@
+{
+ "parameters": {
+ "resourceGroupName": "cpimClient",
+ "api-version": "2023-05-17-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.AzureActiveDirectory/b2cDirectories/write",
+ "display": {
+ "provider": "Microsoft Azure Active Directory",
+ "resource": "B2C Directory",
+ "operation": "Create or update B2C Dictory resource",
+ "description": "Create or update B2C Dictory resource"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.AzureActiveDirectory/b2cDirectories/read",
+ "display": {
+ "provider": "Microsoft Azure Active Directory",
+ "resource": "B2C Directory",
+ "operation": "View B2C Directory resource",
+ "description": "View B2C Directory resource"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.AzureActiveDirectory/b2cDirectories/delete",
+ "display": {
+ "provider": "Microsoft Azure Active Directory",
+ "resource": "B2C Directory",
+ "operation": "Delete B2C Directory resource",
+ "description": "Delete B2C Directory resource"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.AzureActiveDirectory/operations/read",
+ "display": {
+ "provider": "Microsoft Azure Active Directory",
+ "resource": "B2C Directory",
+ "operation": "Read all API operations",
+ "description": "Read all API operations available for Microsoft.AzureActiveDirectory resource provider"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.AzureActiveDirectory/register/action",
+ "display": {
+ "provider": "Microsoft Azure Active Directory",
+ "resource": "B2C Directory",
+ "operation": "Register Microsoft.AzureActiveDirectory resource provider",
+ "description": "Register subscription for Microsoft.AzureActiveDirectory resource provider"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.AzureActiveDirectory/b2ctenants/read",
+ "display": {
+ "provider": "Microsoft Azure Active Directory",
+ "resource": "B2C Tenants",
+ "operation": "List all B2C tenants of the user",
+ "description": "Lists all B2C tenants where the user is a member"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.AzureActiveDirectory/guestUsages/write",
+ "display": {
+ "provider": "Microsoft Azure Active Directory",
+ "resource": "Guest Usages",
+ "operation": "Create or update Guest Usages resource",
+ "description": "Create or update Guest Usages resource"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.AzureActiveDirectory/guestUsages/read",
+ "display": {
+ "provider": "Microsoft Azure Active Directory",
+ "resource": "Guest Usages",
+ "operation": "View Guest Usages resource",
+ "description": "View Guest Usages resource"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.AzureActiveDirectory/guestUsages/delete",
+ "display": {
+ "provider": "Microsoft Azure Active Directory",
+ "resource": "Guest Usages",
+ "operation": "Delete Guest Usages resource",
+ "description": "Delete Guest Usages resource"
+ },
+ "origin": "user,system"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/checkNameAvailability-available.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/checkNameAvailability-available.json
new file mode 100644
index 000000000000..3b896dc822f3
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/checkNameAvailability-available.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2023-05-17-preview",
+ "checkNameAvailabilityRequestBody": {
+ "name": "constoso",
+ "countryCode": "US"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "nameAvailable": true,
+ "reason": null,
+ "message": null
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/checkNameAvailability-taken.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/checkNameAvailability-taken.json
new file mode 100644
index 000000000000..84d3f0a2a1c6
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/checkNameAvailability-taken.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2023-05-17-preview",
+ "checkNameAvailabilityRequestBody": {
+ "name": "constoso",
+ "countryCode": "US"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": "A tenant with this sub domain name already exists. Please choose another."
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/createTenant.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/createTenant.json
new file mode 100644
index 000000000000..d27898f4ab08
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/createTenant.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2023-05-17-preview",
+ "resourceGroupName": "contosoResourceGroup",
+ "resourceName": "contoso.onmicrosoft.com",
+ "createTenantRequestBody": {
+ "location": "United States",
+ "sku": {
+ "name": "Standard",
+ "tier": "A0"
+ },
+ "properties": {
+ "createTenantProperties": {
+ "displayName": "Contoso",
+ "countryCode": "US",
+ "isGoLocalTenant": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AzureActiveDirectory/b2cDirectories",
+ "sku": {
+ "name": "Standard",
+ "tier": "A0"
+ },
+ "properties": {
+ "billingConfig": {
+ "billingType": "MAU",
+ "effectiveStartDateUtc": "1/1/0001 12:00:00 AM"
+ },
+ "isGoLocalTenant": true,
+ "tenantId": "00000000-0000-0000-0000-000000000000"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/b2cDirectories/contoso.onmicrosoft.com",
+ "name": "contoso.onmicrosoft.com",
+ "location": "United States",
+ "tags": null
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.AzureActiveDirectory/operations/99999999-9999-9999-9999-999999999999",
+ "Retry-After": "60"
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/deleteTenant.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/deleteTenant.json
new file mode 100644
index 000000000000..a8513f0b5728
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/deleteTenant.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346",
+ "api-version": "2023-05-17-preview",
+ "resourceGroupName": "rg1",
+ "resourceName": "contoso.onmicrosoft.com"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab346/providers/Microsoft.AzureActiveDirectory/operations/99999999-9999-9999-9999-999999999999",
+ "Retry-After": "60"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/getTenant.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/getTenant.json
new file mode 100644
index 000000000000..eeb17ee3fc0f
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/getTenant.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2023-05-17-preview",
+ "resourceGroupName": "contosoResourceGroup",
+ "resourceName": "contoso.onmicrosoft.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AzureActiveDirectory/b2cDirectories",
+ "sku": {
+ "name": "Standard",
+ "tier": "A0"
+ },
+ "properties": {
+ "billingConfig": {
+ "billingType": "MAU",
+ "effectiveStartDateUtc": "1/1/0001 12:00:00 AM"
+ },
+ "isGoLocalTenant": true,
+ "tenantId": "00000000-0000-0000-0000-000000000000"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/b2cDirectories/contoso.onmicrosoft.com",
+ "name": "contoso.onmicrosoft.com",
+ "location": "United States",
+ "tags": null
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/listTenantsByResourceGroup.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/listTenantsByResourceGroup.json
new file mode 100644
index 000000000000..5587b4dfb304
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/listTenantsByResourceGroup.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2023-05-17-preview",
+ "resourceGroupName": "contosoResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.AzureActiveDirectory/b2cDirectories",
+ "sku": {
+ "name": "Standard",
+ "tier": "A0"
+ },
+ "properties": {
+ "billingConfig": {
+ "billingType": "MAU",
+ "effectiveStartDateUtc": "1/1/0001 12:00:00 AM"
+ },
+ "isGoLocalTenant": true,
+ "tenantId": "00000000-0000-0000-0000-000000000000"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/b2cDirectories/contoso.onmicrosoft.com",
+ "name": "contoso.onmicrosoft.com",
+ "location": "United States",
+ "tags": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/listTenantsBySubscription.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/listTenantsBySubscription.json
new file mode 100644
index 000000000000..62cef0d1d199
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/listTenantsBySubscription.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2023-05-17-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.AzureActiveDirectory/b2cDirectories",
+ "sku": {
+ "name": "Standard",
+ "tier": "A0"
+ },
+ "properties": {
+ "billingConfig": {
+ "billingType": "MAU",
+ "effectiveStartDateUtc": "1/1/0001 12:00:00 AM"
+ },
+ "isGoLocalTenant": true,
+ "tenantId": "00000000-0000-0000-0000-000000000000"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/b2cDirectories/contoso.onmicrosoft.com",
+ "name": "contoso.onmicrosoft.com",
+ "location": "United States",
+ "tags": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/updateTenant.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/updateTenant.json
new file mode 100644
index 000000000000..bb9341a93566
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/examples/updateTenant.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "api-version": "2023-05-17-preview",
+ "resourceGroupName": "contosoResourceGroup",
+ "resourceName": "contoso.onmicrosoft.com",
+ "updateTenantRequestBody": {
+ "sku": {
+ "name": "PremiumP1"
+ },
+ "properties": {
+ "billingConfig": {
+ "billingType": "MAU"
+ },
+ "isGoLocalTenant": true
+ },
+ "tags": {
+ "key": "value"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AzureActiveDirectory/b2cDirectories",
+ "sku": {
+ "name": "PremiumP1",
+ "tier": "A0"
+ },
+ "properties": {
+ "billingConfig": {
+ "billingType": "MAU"
+ },
+ "isGoLocalTenant": true,
+ "tenantId": "00000000-0000-0000-0000-000000000000"
+ },
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/b2cDirectories/contoso.onmicrosoft.com",
+ "name": "contoso.onmicrosoft.com",
+ "location": "United States",
+ "tags": {
+ "key": "value"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/externalIdentities.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/externalIdentities.json
new file mode 100644
index 000000000000..ae016e86deae
--- /dev/null
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/externalIdentities.json
@@ -0,0 +1,1808 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ExternalIdentities",
+ "version": "2023-05-17-preview",
+ "description": "Manage the Azure resource for an Azure Active Directory B2C tenant, Guest Usages, and Azure AD for customers resource for External Identities in Azure AD"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureActiveDirectory/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "B2CTenants",
+ "CIAMTenants"
+ ],
+ "operationId": "CheckNameAvailability",
+ "description": "Checks the availability and validity of a domain name for the tenant.",
+ "x-ms-examples": {
+ "Check name availability - available": {
+ "$ref": "./examples/checkNameAvailability-available.json"
+ },
+ "Check name availability - taken": {
+ "$ref": "./examples/checkNameAvailability-taken.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "checkNameAvailabilityRequestBody",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityRequestBody"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The result of checking for the name availability.",
+ "schema": {
+ "$ref": "#/definitions/NameAvailabilityResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureActiveDirectory/b2cDirectories": {
+ "get": {
+ "description": "Get all the Azure AD B2C tenant resources in a resource group.",
+ "operationId": "B2CTenants_ListByResourceGroup",
+ "tags": [
+ "B2CTenants"
+ ],
+ "x-ms-examples": {
+ "B2CTenants_ListByResourceGroup": {
+ "$ref": "./examples/listTenantsByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of Azure AD B2C tenants in resource group successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/B2CTenantResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureActiveDirectory/b2cDirectories": {
+ "get": {
+ "description": "Get all the Azure AD B2C tenant resources in a subscription.",
+ "operationId": "B2CTenants_ListBySubscription",
+ "tags": [
+ "B2CTenants"
+ ],
+ "x-ms-examples": {
+ "B2CTenants_ListBySubscription": {
+ "$ref": "./examples/listTenantsBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Azure AD B2C tenant resources in subscription successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/B2CTenantResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureActiveDirectory/b2cDirectories/{resourceName}": {
+ "get": {
+ "description": "Get the Azure AD B2C tenant resource.",
+ "operationId": "B2CTenants_Get",
+ "tags": [
+ "B2CTenants"
+ ],
+ "x-ms-examples": {
+ "Get tenant": {
+ "$ref": "./examples/getTenant.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Azure AD B2C tenant resource successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/B2CTenantResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "B2CTenants_Create",
+ "description": "Initiates an async request to create both the Azure AD B2C tenant and the corresponding Azure resource linked to a subscription. Note: Please check name availability before creating a new tenant.",
+ "x-ms-examples": {
+ "Create tenant": {
+ "$ref": "./examples/createTenant.json"
+ }
+ },
+ "tags": [
+ "B2CTenants"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "createTenantRequestBody",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/CreateTenantRequestBody"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Response of the URL in Location header if the async operation is successful. Resource will be created.",
+ "schema": {
+ "$ref": "#/definitions/B2CTenantResource"
+ }
+ },
+ "202": {
+ "description": "Azure AD B2C tenant create request accepted. The Location header indicates the URL/location in which to check to get the async status of the operation.",
+ "headers": {
+ "Location": {
+ "description": "Location URI to poll for result",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Contains the number of seconds to wait before polling the location.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "patch": {
+ "description": "Update the Azure AD B2C tenant resource.",
+ "operationId": "B2CTenants_Update",
+ "tags": [
+ "B2CTenants"
+ ],
+ "x-ms-examples": {
+ "Update tenant": {
+ "$ref": "./examples/updateTenant.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "updateTenantRequestBody",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/B2CTenantUpdateRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updated the Azure AD B2C tenant resource.",
+ "schema": {
+ "$ref": "#/definitions/B2CTenantResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "B2CTenants_Delete",
+ "description": "Initiates an async operation to delete the Azure AD B2C tenant and Azure resource. The resource deletion can only happen as the last step in [the tenant deletion process](https://aka.ms/deleteB2Ctenant). ",
+ "x-ms-examples": {
+ "Delete tenant": {
+ "$ref": "./examples/deleteTenant.json"
+ }
+ },
+ "tags": [
+ "B2CTenants"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Response of the URL in Location header if the asynchronous operation is successful. Resource will no longer exist."
+ },
+ "202": {
+ "description": "Resource deletion request accepted. The Location header indicates the URL/location in which to poll for a result of the asynchronous operation. ",
+ "headers": {
+ "Location": {
+ "description": "Contains the URL/location which can return the deletion status.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Contains the number of seconds to wait before checking the deletion status.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent - Azure AD B2C tenant resource successfully deleted or didn't exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/providers/Microsoft.AzureActiveDirectory/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "operations_list": {
+ "$ref": "./examples/OperationsList.json"
+ }
+ },
+ "description": "Lists the operations available from this provider.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Describe the result of a successful operation.",
+ "schema": {
+ "$ref": "#/definitions/AvailableOperations"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureActiveDirectory/guestUsages/{resourceName}": {
+ "put": {
+ "operationId": "GuestUsages_Create",
+ "tags": [
+ "GuestUsages"
+ ],
+ "x-ms-examples": {
+ "GuestUsages_Create": {
+ "$ref": "./examples/GuestUsagesCreate.json"
+ }
+ },
+ "summary": "Creates a Guest Usages resource",
+ "description": "Creates a Guest Usages resource, which is used to linking a subscription to an instance of Azure AD External Identities. [Learn more](https://aka.ms/extidbilling).",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "Resource",
+ "in": "body",
+ "description": "Guest Usages resource to be created",
+ "schema": {
+ "$ref": "#/definitions/GuestUsagesResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful and the resource was created successfully",
+ "schema": {
+ "$ref": "#/definitions/GuestUsagesResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "operationId": "GuestUsages_Update",
+ "tags": [
+ "GuestUsages"
+ ],
+ "x-ms-examples": {
+ "GuestUsages_Update": {
+ "$ref": "./examples/GuestUsagesUpdate.json"
+ }
+ },
+ "summary": "Updates a Guest Usages resource",
+ "description": "Updates a Guest Usages resource for the Microsoft.AzureActiveDirectory resource provider",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "ResourcePatch",
+ "in": "body",
+ "description": "Guest Usages Resource to be updated",
+ "schema": {
+ "$ref": "#/definitions/GuestUsagesResourcePatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Guest Usages Resource Successfully Updated",
+ "schema": {
+ "$ref": "#/definitions/GuestUsagesResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "GuestUsages_Delete",
+ "tags": [
+ "GuestUsages"
+ ],
+ "x-ms-examples": {
+ "GuestUsages_Delete": {
+ "$ref": "./examples/GuestUsagesDelete.json"
+ }
+ },
+ "summary": "Deletes a Guest Usages resource",
+ "description": "Deletes a Guest Usages resource for the Microsoft.AzureActiveDirectory resource provider",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Guest Usages resource was successfully deleted."
+ },
+ "204": {
+ "description": "Guest Usages resource successfully deleted or didn't exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "GuestUsages_Get",
+ "tags": [
+ "GuestUsages"
+ ],
+ "x-ms-examples": {
+ "GuestUsages_Get": {
+ "$ref": "./examples/GuestUsagesGet.json"
+ }
+ },
+ "summary": "Gets a Guest Usages resource",
+ "description": "Gets a Guest Usages resource for the Microsoft.AzureActiveDirectory resource provider",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Guest Usages resource successfully retrieved",
+ "schema": {
+ "$ref": "#/definitions/GuestUsagesResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureActiveDirectory/guestUsages": {
+ "get": {
+ "operationId": "GuestUsages_ListBySubscription",
+ "tags": [
+ "GuestUsages"
+ ],
+ "x-ms-examples": {
+ "GuestUsagesSubscription_List": {
+ "$ref": "./examples/GuestUsagesSubscriptionGet.json"
+ }
+ },
+ "summary": "Gets Guest Usages resources under a subscription",
+ "description": "Gets Guest Usages resources under a subscription for the Microsoft.AzureActiveDirectory resource provider",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of Guest Usages resources under the subscription successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/GuestUsagesResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureActiveDirectory/guestUsages": {
+ "get": {
+ "operationId": "GuestUsages_ListByResourceGroup",
+ "tags": [
+ "GuestUsages"
+ ],
+ "x-ms-examples": {
+ "GuestUsagesResourceGroup_List": {
+ "$ref": "./examples/GuestUsagesResourceGroupGet.json"
+ }
+ },
+ "summary": "Gets Guest Usages resources under resource group",
+ "description": "Gets Guest Usages resources under a resource group for the Microsoft.AzureActiveDirectory resource provider",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of Guest Usages resources under the resourceGroup successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/GuestUsagesResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureActiveDirectory/ciamDirectories": {
+ "get": {
+ "description": "Get all the Azure AD for customers tenants resources in a resource group.",
+ "operationId": "CIAMTenants_ListByResourceGroup",
+ "tags": [
+ "CIAMTenants"
+ ],
+ "x-ms-examples": {
+ "CIAMTenants_ListByResourceGroup": {
+ "$ref": "./examples/CIAM/listCIAMTenantsByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of Azure AD for customers tenants in resource group successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/CIAMTenantResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureActiveDirectory/ciamDirectories": {
+ "get": {
+ "description": "Get all the Azure AD for customers tenant resources in a subscription.",
+ "operationId": "CIAMTenants_ListBySubscription",
+ "tags": [
+ "CIAMTenants"
+ ],
+ "x-ms-examples": {
+ "CIAMTenants_ListBySubscription": {
+ "$ref": "./examples/CIAM/listCIAMTenantsBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Azure AD for customers tenant resources in subscription successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/CIAMTenantResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureActiveDirectory/ciamDirectories/{resourceName}": {
+ "get": {
+ "description": "Get the Azure AD for customers tenant resource.",
+ "operationId": "CIAMTenants_Get",
+ "tags": [
+ "CIAMTenants"
+ ],
+ "x-ms-examples": {
+ "Get_CIAM_tenant": {
+ "$ref": "./examples/CIAM/getCIAMTenant.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CIAMResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Azure AD for customers tenant resource successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/CIAMTenantResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CIAMTenants_Create",
+ "description": "Initiates an async request to create both the Azure AD for customers tenant and the corresponding Azure resource linked to a subscription. Note: Please check name availability before creating a new tenant",
+ "x-ms-examples": {
+ "Create_CIAM_tenant": {
+ "$ref": "./examples/CIAM/createCIAMTenant.json"
+ }
+ },
+ "tags": [
+ "CIAMTenants"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CIAMResourceNameParameter"
+ },
+ {
+ "name": "createCIAMTenantRequestBody",
+ "description": "Request body to create an Azure AD for customers tenant",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CIAMTenantResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Successfully updated an existing Azure AD for customers tenant resource.",
+ "schema": {
+ "$ref": "#/definitions/CIAMTenantResource"
+ }
+ },
+ "201": {
+ "description": "Azure AD for customers tenant create request was successfully started and will complete asynchronously.",
+ "headers": {
+ "Azure-AsyncOperation": {
+ "type": "string",
+ "description": "The URL to retrieve the status of the asynchronous operation."
+ },
+ "Retry-After": {
+ "description": "Contains the number of seconds to wait before polling the location.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/CIAMTenantResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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"
+ }
+ },
+ "patch": {
+ "description": "Update the Azure AD for customers tenant resource.",
+ "operationId": "CIAMTenants_Update",
+ "tags": [
+ "CIAMTenants"
+ ],
+ "x-ms-examples": {
+ "Update_CIAM_tenant": {
+ "$ref": "./examples/CIAM/updateCIAMTenant.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CIAMResourceNameParameter"
+ },
+ {
+ "name": "updateCIAMTenantRequestBody",
+ "description": "Request body to update Azure AD for customers tenant resource.",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/CIAMTenantUpdateRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updated the Azure AD for customers tenant resource.",
+ "schema": {
+ "$ref": "#/definitions/CIAMTenantResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "CIAMTenants_Delete",
+ "description": "Initiates an async operation to delete the Azure AD for customers tenant and Azure resource. The resource deletion can only happen as the last step in [the tenant deletion process](https://aka.ms/delete-ciam-tenant). ",
+ "x-ms-examples": {
+ "Delete_CIAM_tenant": {
+ "$ref": "./examples/CIAM/deleteCIAMTenant.json"
+ }
+ },
+ "tags": [
+ "CIAMTenants"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CIAMResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Resource deletion request accepted. The Azure-AsyncOperation header indicates the URL/location in which to poll for a result of the asynchronous operation. ",
+ "headers": {
+ "Azure-AsyncOperation": {
+ "type": "string",
+ "description": "The URL to retrieve the status of the asynchronous operation."
+ },
+ "Location": {
+ "type": "string",
+ "description": "The URL to retrieve the status of the asynchronous operation."
+ },
+ "Retry-After": {
+ "description": "Contains the number of seconds to wait before checking the deletion status.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent - Azure AD for customers tenant resource successfully deleted or didn't exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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": "location"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AvailableOperations": {
+ "description": "Available operations of the service",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of available operation details",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationDetail"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "nextLink": {
+ "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDetail": {
+ "description": "Operation detail payload",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Display of the operation"
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ }
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "OperationDisplay": {
+ "description": "Operation display payload",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Resource provider of the operation",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource of the operation",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Localized friendly name for the operation",
+ "type": "string"
+ },
+ "description": {
+ "description": "Localized friendly description for the operation",
+ "type": "string"
+ }
+ }
+ },
+ "B2CTenantResourceProperties": {
+ "description": "Properties of the Azure AD B2C tenant Azure resource.",
+ "type": "object",
+ "properties": {
+ "billingConfig": {
+ "type": "object",
+ "description": "The billing configuration for the tenant.",
+ "properties": {
+ "billingType": {
+ "type": "string",
+ "description": "The type of billing. Will be MAU for all new customers. If 'Auths', it can be updated to 'MAU'. Cannot be changed if value is 'MAU'. Learn more about Azure AD B2C billing at [aka.ms/b2cBilling](https://aka.ms/b2cbilling).",
+ "enum": [
+ "MAU",
+ "Auths"
+ ],
+ "x-ms-enum": {
+ "name": "BillingType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "MAU",
+ "description": "Azure AD B2C usage is billed to a linked Azure subscription and uses a monthly active users (MAU) billing model."
+ },
+ {
+ "value": "Auths",
+ "description": "Azure AD B2C usage is billed to a linked Azure subscription and uses number of authentications based billing."
+ }
+ ]
+ }
+ },
+ "effectiveStartDateUtc": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The data from which the billing type took effect"
+ }
+ }
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "An identifier of the Azure AD B2C tenant."
+ },
+ "isGoLocalTenant": {
+ "$ref": "#/definitions/GoLocal"
+ }
+ }
+ },
+ "B2CResourceSKU": {
+ "description": "SKU properties of the Azure AD B2C tenant. Learn more about Azure AD B2C billing at [aka.ms/b2cBilling](https://aka.ms/b2cBilling).",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the SKU for the tenant.",
+ "enum": [
+ "Standard",
+ "PremiumP1",
+ "PremiumP2"
+ ],
+ "x-ms-enum": {
+ "name": "B2CResourceSKUName",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Standard",
+ "description": "Azure AD B2C usage is billed to a linked Azure subscription and uses a monthly active users (MAU) billing model."
+ },
+ {
+ "value": "PremiumP1",
+ "description": "Azure AD B2C usage is billed to a linked Azure subscription and uses number of authentications based billing."
+ },
+ {
+ "value": "PremiumP2",
+ "description": "Azure AD B2C usage is billed to a linked Azure subscription and uses number of authentications based billing."
+ }
+ ]
+ }
+ },
+ "tier": {
+ "type": "string",
+ "description": "The tier of the tenant.",
+ "enum": [
+ "A0"
+ ],
+ "x-ms-enum": {
+ "name": "B2CResourceSKUTier",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "A0",
+ "description": "The SKU tier used for all Azure AD B2C tenants."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "NameAvailabilityResponse": {
+ "description": "Response of the CheckNameAvailability operation.",
+ "type": "object",
+ "properties": {
+ "message": {
+ "type": "string",
+ "description": "Description of the reason if name is not available."
+ },
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "True if the name is available and can be used to create a new tenant. Otherwise false."
+ },
+ "reason": {
+ "$ref": "#/definitions/NameAvailabilityReason"
+ }
+ }
+ },
+ "NameAvailabilityReason": {
+ "description": "Describes the reason for the 'nameAvailable' value.",
+ "type": "string",
+ "enum": [
+ "AlreadyExists",
+ "Invalid"
+ ],
+ "x-ms-enum": {
+ "name": "NameAvailabilityReasonType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "AlreadyExists",
+ "description": "The name is already in use and is therefore unavailable."
+ },
+ {
+ "value": "Invalid",
+ "description": "The name provided does not match the resource provider’s naming requirements (incorrect length, unsupported characters, etc.)."
+ }
+ ]
+ }
+ },
+ "CheckNameAvailabilityRequestBody": {
+ "type": "object",
+ "description": "The information required to check the availability of the sub domain name for the tenant.",
+ "required": [
+ "name",
+ "countryCode"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The sub domain name to check for availability."
+ },
+ "countryCode": {
+ "$ref": "#/definitions/CountryCode"
+ }
+ }
+ },
+ "B2CTenantUpdateRequest": {
+ "type": "object",
+ "description": "The request body to update the Azure AD B2C tenant resource.",
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/B2CResourceSKU"
+ },
+ "properties": {
+ "$ref": "#/definitions/B2CTenantResourceProperties",
+ "x-ms-client-flatten": true,
+ "description": "The Azure AD B2C tenant resource properties."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource Tags"
+ }
+ }
+ },
+ "B2CTenantResource": {
+ "type": "object",
+ "required": [
+ "location",
+ "sku"
+ ],
+ "x-ms-azure-resource": true,
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The type of the B2C tenant resource.",
+ "readOnly": true,
+ "enum": [
+ "Microsoft.AzureActiveDirectory/b2cDirectories"
+ ],
+ "x-ms-enum": {
+ "name": "TypeValue",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Microsoft.AzureActiveDirectory/b2cDirectories",
+ "description": "The resource type for Azure AD B2C tenant resource."
+ }
+ ]
+ }
+ },
+ "sku": {
+ "$ref": "#/definitions/B2CResourceSKU"
+ },
+ "properties": {
+ "$ref": "#/definitions/B2CTenantResourceProperties",
+ "x-ms-client-flatten": true,
+ "description": "The Azure AD B2C tenant resource properties"
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "An identifier that represents the Azure AD B2C tenant resource."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the Azure AD B2C tenant resource."
+ },
+ "location": {
+ "type": "string",
+ "description": "The location in which the resource is hosted and data resides. Can be one of 'United States', 'Europe', 'Asia Pacific', or 'Australia'. Refer to [this documentation](https://aka.ms/B2CDataResidency) for more information.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource Tags"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ }
+ }
+ },
+ "B2CTenantResourceList": {
+ "description": "The collection of Azure AD B2C tenant resources",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of Azure AD B2C tenant resources",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/B2CTenantResource"
+ }
+ }
+ }
+ },
+ "CreateTenantRequestBody": {
+ "type": "object",
+ "description": "The information needed to create the Azure AD B2C tenant and corresponding Azure resource, which is used for billing purposes.",
+ "required": [
+ "location",
+ "sku",
+ "properties"
+ ],
+ "x-ms-azure-resource": true,
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "The location in which the resource is hosted and data resides. Can be one of 'United States', 'Europe', 'Asia Pacific', or 'Australia'. Refer to [this documentation](https://aka.ms/B2CDataResidency) for more information."
+ },
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "properties": {
+ "createTenantProperties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CreateTenantProperties"
+ }
+ }
+ },
+ "sku": {
+ "$ref": "#/definitions/B2CResourceSKU"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource Tags"
+ }
+ }
+ },
+ "CreateTenantProperties": {
+ "type": "object",
+ "description": "These properties are used to create the Azure AD B2C tenant. These properties are not part of the Azure resource.",
+ "properties": {
+ "displayName": {
+ "description": "The display name of the Azure AD B2C tenant.",
+ "type": "string"
+ },
+ "countryCode": {
+ "$ref": "#/definitions/CountryCode"
+ },
+ "isGoLocalTenant": {
+ "$ref": "#/definitions/GoLocal"
+ }
+ }
+ },
+ "CountryCode": {
+ "type": "string",
+ "description": "Country code of Azure tenant (e.g. 'US'). Refer to [aka.ms/B2CDataResidency](https://aka.ms/B2CDataResidency) to see valid country codes and corresponding data residency locations. If you do not see a country code in an valid data residency location, choose one from the list."
+ },
+ "GoLocal": {
+ "description": "Enable GoLocal add-on to store data at rest in the specific Geo. Refer to [aka.ms/B2CDataResidency](https://aka.ms/B2CDataResidency) to see local data residency options.",
+ "type": "boolean"
+ },
+ "GuestUsagesResourceProperties": {
+ "description": "Guest Usages Resource Properties",
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "type": "string",
+ "description": "An identifier for the tenant for which the resource is being created"
+ }
+ }
+ },
+ "GuestUsagesResource": {
+ "description": "Guest Usages Resource",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "An identifier that represents the Guest Usages resource."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the Guest Usages resource."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The type of the Guest Usages resource."
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of the Guest Usages resource.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Key-value pairs of additional resource provisioning properties."
+ },
+ "properties": {
+ "$ref": "#/definitions/GuestUsagesResourceProperties",
+ "x-ms-client-flatten": true,
+ "description": "The Guest Usages Resource Properties"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "GuestUsagesResourcePatch": {
+ "description": "Guest Usages Resource for Patch",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Key-value pairs of additional resource provisioning properties."
+ }
+ }
+ },
+ "GuestUsagesResourceList": {
+ "description": "The collection of guest usages resources",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of guest usages resources",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/GuestUsagesResource"
+ }
+ },
+ "nextLink": {
+ "description": "The URL to get the next set of Guest Usages resources.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ }
+ }
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "description": "An error response for a resource management request."
+ },
+ "CIAMTenantResourceList": {
+ "description": "The collection of Azure AD for customers tenant resources",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of Azure AD for customers tenant resources",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/CIAMTenantResource"
+ }
+ },
+ "nextLink": {
+ "description": "The URL to get the next set of Azure AD for customers tenant resources.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ }
+ }
+ },
+ "CreateCIAMTenantProperties": {
+ "type": "object",
+ "description": "These properties are used to create the Azure AD for customers tenant. These properties are not part of the Azure resource.",
+ "required": [
+ "displayName",
+ "countryCode"
+ ],
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ],
+ "x-ms-client-flatten": true,
+ "properties": {
+ "displayName": {
+ "description": "The display name of the Azure AD for customers tenant.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "countryCode": {
+ "type": "string",
+ "description": "Country code of Azure tenant (e.g. 'US'). Refer to [https://aka.ms/ciam-data-location](https://aka.ms/ciam-data-location) to see valid country codes and corresponding data residency locations. If you do not see a country code in an valid data residency location, choose one from the list.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ }
+ }
+ },
+ "CIAMResourceSKU": {
+ "description": "SKU properties of the Azure AD for customers tenant. Learn more about Azure AD for customers billing at [https://aka.ms/ciambilling](https://aka.ms/ciambilling).",
+ "type": "object",
+ "required": [
+ "name",
+ "tier"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the SKU for the tenant.",
+ "enum": [
+ "Standard",
+ "PremiumP1",
+ "PremiumP2"
+ ],
+ "x-ms-enum": {
+ "name": "CIAMResourceSKUName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "description": "The tier of the tenant.",
+ "enum": [
+ "A0"
+ ],
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ],
+ "x-ms-client-flatten": true,
+ "x-ms-enum": {
+ "name": "CIAMResourceSKUTier",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "A0",
+ "description": "The SKU tier used for all Azure AD for customers tenants."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "CIAMTenantResourceProperties": {
+ "description": "Properties of the Azure AD for customers tenant Azure resource.",
+ "type": "object",
+ "required": [
+ "createTenantProperties"
+ ],
+ "properties": {
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "createTenantProperties": {
+ "$ref": "#/definitions/CreateCIAMTenantProperties"
+ },
+ "domainName": {
+ "type": "string",
+ "description": "The domain name of the tenant",
+ "readOnly": true
+ },
+ "billingConfig": {
+ "type": "object",
+ "description": "The billing configuration for the tenant.",
+ "x-ms-client-flatten": true,
+ "readOnly": true,
+ "properties": {
+ "billingType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The type of billing. Will be MAU for all new customers. Cannot be changed if value is 'MAU'. Learn more about Azure AD for customers billing at [aka.ms/b2cBilling](https://aka.ms/b2cbilling).",
+ "enum": [
+ "MAU"
+ ],
+ "x-ms-enum": {
+ "name": "ciamBillingType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "MAU",
+ "description": "Azure AD for customers usage is billed to a linked Azure subscription and uses a monthly active users (MAU) billing model."
+ }
+ ]
+ }
+ },
+ "effectiveStartDateUtc": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The data from which the billing type took effect"
+ }
+ }
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "An identifier of the Azure AD for customers tenant.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ }
+ }
+ },
+ "CIAMTenantUpdateRequest": {
+ "type": "object",
+ "description": "The request body to update the Azure AD for customers tenant resource.",
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/CIAMResourceSKU"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource Tags"
+ }
+ }
+ },
+ "OperationStatusResult": {
+ "description": "The current status of an async operation.",
+ "type": "object",
+ "required": [
+ "status"
+ ],
+ "properties": {
+ "id": {
+ "description": "Fully qualified ID for the async operation.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the async operation.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Operation status.",
+ "type": "string"
+ },
+ "startTime": {
+ "description": "Start time of the async operation.",
+ "type": "string"
+ },
+ "endTime": {
+ "description": "End time of the async operation.",
+ "type": "string"
+ },
+ "error": {
+ "x-nullable": true,
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorDetail"
+ }
+ }
+ },
+ "ProvisioningState": {
+ "title": "Provisioning State",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Provisioning",
+ "Deleting",
+ "Deleted"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "CIAMTenantResource": {
+ "type": "object",
+ "description": "The Azure AD for customers resource.",
+ "required": [
+ "location",
+ "sku",
+ "properties"
+ ],
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "An identifier that represents the Azure AD for customers tenant resource."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the Azure AD for customers tenant resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the Azure AD for customers tenant resource.",
+ "readOnly": true,
+ "enum": [
+ "Microsoft.AzureActiveDirectory/ciamDirectories"
+ ],
+ "x-ms-enum": {
+ "name": "ciamTypeValue",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Microsoft.AzureActiveDirectory/ciamDirectories",
+ "description": "The resource type for Azure AD for customers tenant resource."
+ }
+ ]
+ }
+ },
+ "location": {
+ "type": "string",
+ "description": "The location in which the resource is hosted and data resides. Can be one of 'United States', 'Europe', 'Asia Pacific', or 'Australia'. Refer to [this documentation](https://aka.ms/ciam-data-location) for more information.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ],
+ "x-ms-enum": {
+ "name": "ciamLocationValue",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "United States",
+ "description": "The location in which the resource is hosted and data resides."
+ },
+ {
+ "value": "Europe",
+ "description": "The location in which the resource is hosted and data resides."
+ },
+ {
+ "value": "Asia Pacific",
+ "description": "The location in which the resource is hosted and data resides."
+ },
+ {
+ "value": "Australia",
+ "description": "The location in which the resource is hosted and data resides."
+ }
+ ]
+ }
+ },
+ "sku": {
+ "$ref": "#/definitions/CIAMResourceSKU"
+ },
+ "properties": {
+ "$ref": "#/definitions/CIAMTenantResourceProperties",
+ "x-ms-client-flatten": true,
+ "description": "The Azure AD for customers tenant resource properties"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource Tags"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/systemData",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The initial domain name of the Azure AD B2C tenant.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request."
+ },
+ "CIAMResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]{1,26}",
+ "maxLength": 26,
+ "description": "The initial sub domain of the tenant.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/cpim/resource-manager/readme.go.md b/specification/cpim/resource-manager/readme.go.md
index d2734e4c22f7..200ec86d1e39 100644
--- a/specification/cpim/resource-manager/readme.go.md
+++ b/specification/cpim/resource-manager/readme.go.md
@@ -9,6 +9,8 @@ module-name: sdk/resourcemanager/azureadexternalidentities/armazureadexternalide
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
+modelerfour:
+ lenient-model-deduplication: true
```
``` yaml $(go) && !$(track2)
diff --git a/specification/cpim/resource-manager/readme.md b/specification/cpim/resource-manager/readme.md
index dbec4d5f979c..f22f200ecd20 100644
--- a/specification/cpim/resource-manager/readme.md
+++ b/specification/cpim/resource-manager/readme.md
@@ -28,18 +28,27 @@ These are the global settings for the external identities APIs.
title: ExternalIdentitiesConfigurationClient
description: External Identities Configuration Client
openapi-type: arm
-tag: package-preview-2023-01
+tag: package-preview-2023-05
```
+### Tag: package-preview-2023-05
+
+These settings apply only when `--tag=package-preview-2023-05` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2023-05'
+input-file:
+ - Microsoft.AzureActiveDirectory/preview/2023-05-17-preview/externalIdentities.json
+```
### Tag: package-preview-2023-01
These settings apply only when `--tag=package-preview-2023-01` is specified on the command line.
-```yaml $(tag) == 'package-preview-2023-01'
+``` yaml $(tag) == 'package-preview-2023-01'
input-file:
- Microsoft.AzureActiveDirectory/preview/2023-01-18-preview/externalIdentities.json
```
+
### Tag: package-2019-01-01-preview
These settings apply only when `--tag=package-2019-01-01-preview` is specified on the command line.
diff --git a/specification/cpim/resource-manager/readme.python.md b/specification/cpim/resource-manager/readme.python.md
index 472fae6004c2..b9b7867491ec 100644
--- a/specification/cpim/resource-manager/readme.python.md
+++ b/specification/cpim/resource-manager/readme.python.md
@@ -8,6 +8,8 @@ license-header: MICROSOFT_MIT_NO_VERSION
package-name: azure-mgmt-azureadexternalidentities
package-version: 1.0.0b2
no-namespace-folders: true
+modelerfour:
+ lenient-model-deduplication: true
```
### Python multi-api
@@ -54,4 +56,3 @@ These settings apply only when `--tag=package-2019-01-01-preview --python` is sp
namespace: azure.mgmt.azureadexternalidentities.v2019_01_01_preview
output-folder: $(python-sdks-folder)/azureadexternalidentities/azure-mgmt-azureadexternalidentities/azure/mgmt/azureadexternalidentities/v2019_01_01_preview
```
-
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Credential.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Credential.json
index 5af8beb65569..b0bb7fb53329 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Credential.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Credential.json
@@ -61,6 +61,7 @@
"properties": {
"servicePrincipalId": {
"type": "object",
+ "x-ms-format": "dfe-string",
"description": "The app ID of the service principal used to authenticate"
},
"servicePrincipalKey": {
@@ -69,6 +70,7 @@
},
"tenant": {
"type": "object",
+ "x-ms-format": "dfe-string",
"description": "The ID of the tenant to which the service principal belongs"
}
}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json
index d50df09e48e3..de545447c675 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json
@@ -773,6 +773,7 @@
},
"compressionLevel": {
"type": "object",
+ "x-ms-format": "dfe-string",
"description": "The data compression method used for DelimitedText."
},
"quoteChar": {
@@ -1092,6 +1093,7 @@
"properties": {
"tableName": {
"type": "object",
+ "x-ms-format": "dfe-string",
"description": "This property will be retired. Please consider using schema + table properties instead."
},
"schema": {
@@ -1128,6 +1130,7 @@
"properties": {
"tableName": {
"type": "object",
+ "x-ms-format": "dfe-string",
"description": "This property will be retired. Please consider using schema + table properties instead."
},
"schema": {
@@ -1164,6 +1167,7 @@
"properties": {
"tableName": {
"type": "object",
+ "x-ms-format": "dfe-string",
"description": "This property will be retired. Please consider using schema + table properties instead."
},
"schema": {
@@ -1727,6 +1731,7 @@
"properties": {
"tableName": {
"type": "object",
+ "x-ms-format": "dfe-string",
"description": "This property will be retired. Please consider using schema + table properties instead."
},
"schema": {
@@ -1863,6 +1868,7 @@
"properties": {
"tableName": {
"type": "object",
+ "x-ms-format": "dfe-string",
"description": "This property will be retired. Please consider using schema + table properties instead."
},
"table": {
@@ -1899,6 +1905,7 @@
"properties": {
"tableName": {
"type": "object",
+ "x-ms-format": "dfe-string",
"description": "This property will be retired. Please consider using schema + table properties instead."
},
"schema": {
@@ -2043,6 +2050,7 @@
"properties": {
"tableName": {
"type": "object",
+ "x-ms-format": "dfe-string",
"description": "This property will be retired. Please consider using schema + table properties instead."
},
"table": {
@@ -3304,6 +3312,7 @@
"properties": {
"tableName": {
"type": "object",
+ "x-ms-format": "dfe-string",
"description": "This property will be retired. Please consider using schema + table properties instead."
},
"table": {
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json
index df295b051853..f80194ddd34f 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json
@@ -1757,7 +1757,8 @@
"properties": {
"connectionString": {
"description": "Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.",
- "type": "object"
+ "type": "object",
+ "x-ms-format": "dfe-string"
},
"server": {
"type": "object",
@@ -4673,7 +4674,7 @@
},
"requestGoogleDriveScope": {
"description": "Whether to request access to Google Drive. Allowing Google Drive access enables support for federated tables that combine BigQuery data with data from Google Drive. The default value is false. Type: string (or Expression with resultType string).",
- "x-ms-format": "dfe-string",
+ "x-ms-format": "dfe-bool",
"type": "object"
},
"authenticationType": {
@@ -4757,7 +4758,8 @@
"properties": {
"connectionString": {
"description": "An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.",
- "type": "object"
+ "type": "object",
+ "x-ms-format": "dfe-string"
},
"pwd": {
"$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference",
@@ -5777,7 +5779,8 @@
"properties": {
"endpoint": {
"description": "The endpoint of the ServiceNow server. (i.e. .service-now.com)",
- "type": "object"
+ "type": "object",
+ "x-ms-format": "dfe-string"
},
"authenticationType": {
"description": "The authentication type to use.",
@@ -6860,6 +6863,7 @@
"type": "object",
"properties": {
"endpoint": {
+ "x-ms-format": "dfe-string",
"description": "The endpoint of the Responsys server.",
"type": "object"
},
@@ -6923,6 +6927,7 @@
"type": "object",
"properties": {
"url": {
+ "x-ms-format": "dfe-string",
"description": "The Dynamics AX (or Dynamics 365 Finance and Operations) instance OData endpoint.",
"type": "object"
},
@@ -6985,11 +6990,13 @@
"properties": {
"host": {
"description": "The URL of the Oracle Service Cloud instance.",
- "type": "object"
+ "type": "object",
+ "x-ms-format": "dfe-string"
},
"username": {
"description": "The user name that you use to access Oracle Service Cloud server.",
- "type": "object"
+ "type": "object",
+ "x-ms-format": "dfe-string"
},
"password": {
"description": "The password corresponding to the user name that you provided in the username key.",
@@ -7046,7 +7053,7 @@
"type": "object",
"properties": {
"connectionProperties": {
- "description": "Properties used to connect to GoogleAds. It is mutually exclusive with any other properties in the linked service. Type: object.",
+ "description": "(Deprecated) Properties used to connect to GoogleAds. It is mutually exclusive with any other properties in the linked service. Type: object.",
"type": "object"
},
"clientCustomerID": {
@@ -7089,17 +7096,36 @@
"type": "object"
},
"keyFilePath": {
- "description": "The full path to the .p12 key file that is used to authenticate the service account email address and can only be used on self-hosted IR. Type: string (or Expression with resultType string).",
+ "description": "(Deprecated) The full path to the .p12 key file that is used to authenticate the service account email address and can only be used on self-hosted IR. Type: string (or Expression with resultType string).",
"x-ms-format": "dfe-string",
"type": "object"
},
"trustedCertPath": {
- "description": "The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR. Type: string (or Expression with resultType string).",
+ "description": "(Deprecated) The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR. Type: string (or Expression with resultType string).",
"x-ms-format": "dfe-string",
"type": "object"
},
"useSystemTrustStore": {
- "description": "Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false. Type: boolean (or Expression with resultType boolean).",
+ "description": "(Deprecated) Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false. Type: boolean (or Expression with resultType boolean).",
+ "x-ms-format": "dfe-bool",
+ "type": "object"
+ },
+ "privateKey": {
+ "description": "The private key that is used to authenticate the service account email address and can only be used on self-hosted IR.",
+ "$ref": "../datafactory.json#/definitions/SecretBase"
+ },
+ "loginCustomerID": {
+ "description": "The customer ID of the Google Ads Manager account through which you want to fetch report data of specific Customer. Type: string (or Expression with resultType string).",
+ "x-ms-format": "dfe-string",
+ "type": "object"
+ },
+ "googleAdsApiVersion": {
+ "description": "The Google Ads API major version such as v14. The supported major versions could be found on https://developers.google.com/google-ads/api/docs/release-notes. Type: string (or Expression with resultType string).",
+ "x-ms-format": "dfe-string",
+ "type": "object"
+ },
+ "supportLegacyDataTypes": {
+ "description": "Specifies whether to use the legacy data type mappings, which maps float, int32 and int64 from Google to string. Do not set this to true unless you want to keep backward compatibility with legacy driver's data type mappings. Type: boolean (or Expression with resultType boolean).",
"x-ms-format": "dfe-bool",
"type": "object"
},
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json
index 6b1a78bc2a1a..9109c162603c 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json
@@ -1113,7 +1113,8 @@
},
"copyBehavior": {
"description": "The type of copy behavior for copy sink.",
- "type": "object"
+ "type": "object",
+ "x-ms-format": "dfe-string"
}
},
"additionalProperties": {
@@ -1271,6 +1272,21 @@
}
}
},
+ "ParquetReadSettings": {
+ "description": "Parquet read settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FormatReadSettings"
+ }
+ ],
+ "properties": {
+ "compressionProperties": {
+ "$ref": "#/definitions/CompressionReadSettings",
+ "description": "Compression settings."
+ }
+ }
+ },
"DelimitedTextReadSettings": {
"description": "Delimited text read settings.",
"type": "object",
@@ -1336,6 +1352,7 @@
},
"namespacePrefixes": {
"type": "object",
+ "x-ms-format": "dfe-key-value-pairs",
"description": "Namespace uri to prefix mappings to override the prefixes in column names when namespace is enabled, if no prefix is defined for a namespace uri, the prefix of xml element/attribute name in the xml data file will be used. Example: \"{\"http://www.example.com/xml\":\"prefix\"}\" Type: object (or Expression with resultType object)."
}
}
@@ -1488,6 +1505,7 @@
"properties": {
"filePattern": {
"type": "object",
+ "x-ms-format": "dfe-string",
"description": "File pattern of JSON. This setting controls the way a collection of JSON objects will be treated. The default value is 'setOfObjects'. It is case-sensitive."
}
}
@@ -1555,6 +1573,10 @@
"$ref": "#/definitions/StoreReadSettings",
"description": "Parquet store settings."
},
+ "formatSettings": {
+ "$ref": "#/definitions/ParquetReadSettings",
+ "description": "Parquet format settings."
+ },
"additionalColumns": {
"type": "object",
"description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
@@ -2377,7 +2399,8 @@
},
"partitionOption": {
"description": "The partition mechanism that will be used for SAP HANA read in parallel. Possible values include: \"None\", \"PhysicalPartitionsOfTable\", \"SapHanaDynamicRange\". ",
- "type": "object"
+ "type": "object",
+ "x-ms-format": "dfe-string"
},
"partitionSettings": {
"description": "The settings that will be leveraged for SAP HANA source partitioning.",
@@ -3013,7 +3036,8 @@
},
"partitionOption": {
"description": "The partition mechanism that will be used for Oracle read in parallel. Possible values include: \"None\", \"PhysicalPartitionsOfTable\", \"DynamicRange\".",
- "type": "object"
+ "type": "object",
+ "x-ms-format": "dfe-string"
},
"partitionSettings": {
"description": "The settings that will be leveraged for Oracle source partitioning.",
@@ -3147,7 +3171,8 @@
},
"partitionOption": {
"description": "The partition mechanism that will be used for teradata read in parallel. Possible values include: \"None\", \"Hash\", \"DynamicRange\".",
- "type": "object"
+ "type": "object",
+ "x-ms-format": "dfe-string"
},
"partitionSettings": {
"description": "The settings that will be leveraged for teradata source partitioning.",
@@ -3968,7 +3993,8 @@
},
"partitionOption": {
"description": "The partition mechanism that will be used for Netezza read in parallel. Possible values include: \"None\", \"DataSlice\", \"DynamicRange\".",
- "type": "object"
+ "type": "object",
+ "x-ms-format": "dfe-string"
},
"partitionSettings": {
"description": "The settings that will be leveraged for Netezza source partitioning.",
@@ -4551,7 +4577,8 @@
"properties": {
"copyBehavior": {
"description": "The type of copy behavior for copy sink.",
- "type": "object"
+ "type": "object",
+ "x-ms-format": "dfe-string"
}
}
},
@@ -4852,11 +4879,13 @@
},
"writeBehavior": {
"type": "object",
+ "x-ms-format": "dfe-string",
"description": "Write behavior when copying data into azure SQL DW. Type: SqlDWWriteBehaviorEnum (or Expression with resultType SqlDWWriteBehaviorEnum)"
},
"upsertSettings": {
"description": "SQL DW upsert settings.",
"type": "object",
+ "x-ms-format": "dfe-list-string",
"$ref": "#/definitions/SqlDWUpsertSettings"
}
}
@@ -4871,6 +4900,7 @@
},
"rejectValue": {
"type": "object",
+ "x-ms-format": "dfe-int",
"description": "Specifies the value or the percentage of rows that can be rejected before the query fails. Type: number (or Expression with resultType number), minimum: 0."
},
"rejectSampleValue": {
@@ -5263,7 +5293,8 @@
},
"enableAdlsSingleFileParallel": {
"description": "Single File Parallel.",
- "type": "object"
+ "type": "object",
+ "x-ms-format": "dfe-bool"
}
}
},
diff --git a/specification/datafactory/resource-manager/readme.md b/specification/datafactory/resource-manager/readme.md
index bd51bc935426..5941d4d3942a 100644
--- a/specification/datafactory/resource-manager/readme.md
+++ b/specification/datafactory/resource-manager/readme.md
@@ -45,6 +45,25 @@ input-file:
- Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json
- Microsoft.DataFactory/stable/2018-06-01/entityTypes/Trigger.json
- Microsoft.DataFactory/stable/2018-06-01/entityTypes/ChangeDataCapture.json
+suppressions:
+ - code: PropertiesTypeObjectNoDefinition
+ reason: ADF parameterization feature is widely adopted and requires object type for most of the swagger properties.
+ - code: AvoidAdditionalProperties
+ reason: ADF feature is widely adopted and requires additionalProperties for most of the swagger properties.
+ - code: MissingTypeObject
+ reason: ADF feature is widely adopted and requires MissingTypeObject for most of the swagger properties.
+ - code: IntegerTypeMustHaveFormat
+ reason: ADF feature is widely adopted and requires IntegerTypeMustHaveFormat for most of the swagger properties.
+ - code: RequiredPropertiesMissingInResourceModel
+ reason: ADF feature is widely adopted and requires RequiredPropertiesMissingInResourceModel for most of the swagger properties.
+ - code: BodyTopLevelProperties
+ reason: ADF feature is widely adopted and requires BodyTopLevelProperties for most of the swagger properties.
+ - code: TrackedResourcePatchOperation
+ reason: ADF feature is widely adopted and requires TrackedResourcePatchOperation for most of the swagger properties.
+ - code: XmsEnumValidation
+ reason: ADF feature is widely adopted and requires XmsEnumValidation for most of the swagger properties.
+ - code: NestedResourcesMustHaveListOperation
+ reason: ADF feature is widely adopted and requires NestedResourcesMustHaveListOperation for most of the swagger properties.
```
### Tag: package-2017-09-preview
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/dataprotection.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/dataprotection.json
new file mode 100644
index 000000000000..9805c2e8cdad
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/dataprotection.json
@@ -0,0 +1,8483 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-08-01-preview",
+ "title": "DataProtectionBackupClient",
+ "x-ms-code-generation-settings": {
+ "internalConstructors": false
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/backupVaults": {
+ "get": {
+ "tags": [
+ "BackupVaults"
+ ],
+ "description": "Returns resource collection belonging to a subscription.",
+ "operationId": "BackupVaults_GetInSubscription",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get BackupVaults in Subscription": {
+ "$ref": "./examples/VaultCRUD/GetBackupVaultsInSubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/locations/{location}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "GetOperationResult"
+ ],
+ "description": "Gets the operation result for a resource",
+ "operationId": "OperationResult_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "200": {
+ "description": "Contains additional information like job Id",
+ "schema": {
+ "$ref": "#/definitions/OperationJobExtendedInfo"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "summary": "Gets the operation status for a resource.",
+ "x-ms-examples": {
+ "Get OperationResult": {
+ "$ref": "./examples/GetOperationResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/locations/{location}/operationStatus/{operationId}": {
+ "get": {
+ "tags": [
+ "OperationStatus"
+ ],
+ "summary": "Gets the operation status for a resource.",
+ "operationId": "OperationStatus_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get OperationStatus": {
+ "$ref": "./examples/GetOperationStatus.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/operationStatus/{operationId}": {
+ "get": {
+ "tags": [
+ "OperationStatus"
+ ],
+ "summary": "Gets the operation status for an operation over a BackupVault's context.",
+ "operationId": "OperationStatusBackupVaultContext_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get OperationStatus": {
+ "$ref": "./examples/GetOperationStatusVaultContext.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/operationStatus/{operationId}": {
+ "get": {
+ "tags": [
+ "OperationStatus"
+ ],
+ "summary": "Gets the operation status for an operation over a ResourceGroup's context.",
+ "operationId": "OperationStatusResourceGroupContext_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get OperationStatus": {
+ "$ref": "./examples/GetOperationStatusRGContext.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults": {
+ "get": {
+ "tags": [
+ "BackupVaults"
+ ],
+ "description": "Returns resource collection belonging to a resource group.",
+ "operationId": "BackupVaults_GetInResourceGroup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get BackupVaults in ResourceGroup": {
+ "$ref": "./examples/VaultCRUD/GetBackupVaultsInResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}": {
+ "get": {
+ "tags": [
+ "BackupVaults"
+ ],
+ "description": "Returns a resource belonging to a resource group.",
+ "operationId": "BackupVaults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get BackupVault": {
+ "$ref": "./examples/VaultCRUD/GetBackupVault.json"
+ },
+ "Get BackupVault With MSI": {
+ "$ref": "./examples/VaultCRUD/GetBackupVaultWithMSI.json"
+ },
+ "Get BackupVault With CMK": {
+ "$ref": "./examples/VaultCRUD/GetBackupVaultWithCMK.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BackupVaults"
+ ],
+ "description": "Creates or updates a BackupVault resource belonging to a resource group.",
+ "operationId": "BackupVaults_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResource"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create BackupVault": {
+ "$ref": "./examples/VaultCRUD/PutBackupVault.json"
+ },
+ "Create BackupVault With MSI": {
+ "$ref": "./examples/VaultCRUD/PutBackupVaultWithMSI.json"
+ },
+ "Create BackupVault With CMK": {
+ "$ref": "./examples/VaultCRUD/PutBackupVaultWithCMK.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "BackupVaults"
+ ],
+ "description": "Deletes a BackupVault resource from the resource group.",
+ "operationId": "BackupVaults_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete BackupVault": {
+ "$ref": "./examples/VaultCRUD/DeleteBackupVault.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "BackupVaults"
+ ],
+ "description": "Updates a BackupVault resource belonging to a resource group. For example, updating tags for a resource.",
+ "operationId": "BackupVaults_Update",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PatchResourceRequestInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Patch BackupVault": {
+ "$ref": "./examples/VaultCRUD/PatchBackupVault.json"
+ },
+ "Patch BackupVault with CMK": {
+ "$ref": "./examples/VaultCRUD/PatchBackupVaultWithCMK.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "Resources"
+ ],
+ "operationId": "BackupVaultOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResource"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetOperationResult Patch": {
+ "$ref": "./examples/VaultCRUD/GetOperationResultPatch.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/locations/{location}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "BackupVaults"
+ ],
+ "summary": "API to check for resource name availability",
+ "operationId": "BackupVaults_CheckNameAvailability",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "description": "The location in which uniqueness will be verified.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Check name availability request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Check BackupVaults name availability": {
+ "$ref": "./examples/VaultCRUD/CheckBackupVaultsNameAvailability.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/locations/{location}/checkFeatureSupport": {
+ "post": {
+ "tags": [
+ "DppFeatureSupport"
+ ],
+ "summary": "Validates if a feature is supported",
+ "operationId": "DataProtection_CheckFeatureSupport",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Feature support request object",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FeatureValidationRequestBase"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FeatureValidationResponseBase"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Check Azure Vm Backup Feature Support": {
+ "$ref": "./examples/CheckfeatureSupport.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.DataProtection/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Returns the list of available operations.",
+ "operationId": "DataProtectionOperations_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ClientDiscoveryResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ },
+ "x-ms-examples": {
+ "Returns the list of supported REST operations.": {
+ "$ref": "./examples/Operations/List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies": {
+ "get": {
+ "tags": [
+ "BackupPolicies"
+ ],
+ "description": "Returns list of backup policies belonging to a backup vault",
+ "operationId": "BackupPolicies_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BaseBackupPolicyResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List BackupPolicy": {
+ "$ref": "./examples/PolicyCRUD/ListBackupPolicy.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{backupPolicyName}": {
+ "get": {
+ "tags": [
+ "BackupPolicies"
+ ],
+ "operationId": "BackupPolicies_Get",
+ "description": "Gets a backup policy belonging to a backup vault",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "backupPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BaseBackupPolicyResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "summary": "Gets a backup policy belonging to a backup vault",
+ "x-ms-examples": {
+ "Get BackupPolicy": {
+ "$ref": "./examples/PolicyCRUD/GetBackupPolicy.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BackupPolicies"
+ ],
+ "operationId": "BackupPolicies_CreateOrUpdate",
+ "summary": "Creates or Updates a backup policy belonging to a backup vault",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "backupPolicyName",
+ "description": "Name of the policy",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BaseBackupPolicyResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BaseBackupPolicyResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CreateOrUpdate BackupPolicy": {
+ "$ref": "./examples/PolicyCRUD/CreateOrUpdateBackupPolicy.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "BackupPolicies"
+ ],
+ "operationId": "BackupPolicies_Delete",
+ "summary": "Deletes a backup policy belonging to a backup vault",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "backupPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete BackupPolicy": {
+ "$ref": "./examples/PolicyCRUD/DeleteBackupPolicy.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances": {
+ "get": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Gets a backup instances belonging to a backup vault",
+ "operationId": "BackupInstances_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupInstanceResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List BackupInstances in a Vault": {
+ "$ref": "./examples/BackupInstanceOperations/ListBackupInstances.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}": {
+ "get": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Gets a backup instance with name in a backup vault",
+ "operationId": "BackupInstances_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/BackupInstanceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupInstanceResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get BackupInstance": {
+ "$ref": "./examples/BackupInstanceOperations/GetBackupInstance.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Create or update a backup instance in a backup vault",
+ "operationId": "BackupInstances_CreateOrUpdate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/BackupInstanceName"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupInstanceResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupInstanceResource"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/BackupInstanceResource"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create BackupInstance": {
+ "$ref": "./examples/BackupInstanceOperations/PutBackupInstance.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Delete a backup instance in a backup vault",
+ "operationId": "BackupInstances_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/BackupInstanceName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "200": {
+ "description": "Ok"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete BackupInstance": {
+ "$ref": "./examples/BackupInstanceOperations/DeleteBackupInstance.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/backup": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Trigger adhoc backup ",
+ "operationId": "BackupInstances_AdhocBackup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/BackupInstanceName"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TriggerBackupRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Contains additional information like job Id",
+ "schema": {
+ "$ref": "#/definitions/OperationJobExtendedInfo"
+ }
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Trigger Adhoc Backup": {
+ "$ref": "./examples/BackupInstanceOperations/TriggerBackup.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/validateForBackup": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Validate whether adhoc backup will be successful or not",
+ "operationId": "BackupInstances_ValidateForBackup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidateForBackupRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Contains additional information like job Id",
+ "schema": {
+ "$ref": "#/definitions/OperationJobExtendedInfo"
+ }
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Validate For Backup": {
+ "$ref": "./examples/BackupInstanceOperations/ValidateForBackup.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/validateForModifyBackup": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Validate whether update for backup instance will be successful or not",
+ "operationId": "BackupInstances_ValidateForModifyBackup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RestrictedVaultName"
+ },
+ {
+ "$ref": "#/parameters/BackupInstanceName"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidateForModifyBackupRequest"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Validate For Modify Backup": {
+ "$ref": "./examples/BackupInstanceOperations/ValidateForModifyBackup.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Get result of backup instance creation operation",
+ "operationId": "BackupInstances_GetBackupInstanceOperationResult",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/BackupInstanceName"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupInstanceResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get BackupInstanceOperationResult": {
+ "$ref": "./examples/BackupInstanceOperations/GetBackupInstanceOperationResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/recoveryPoints": {
+ "get": {
+ "tags": [
+ "RecoveryPoint"
+ ],
+ "description": "Returns a list of Recovery Points for a DataSource in a vault.",
+ "operationId": "RecoveryPoints_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/BackupInstanceName"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBackupRecoveryPointResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/RecoveryPointsFilters",
+ "x-ms-examples": {
+ "List Recovery Points in a Vault": {
+ "$ref": "./examples/BackupInstanceOperations/ListRecoveryPoints.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/recoveryPoints/{recoveryPointId}": {
+ "get": {
+ "tags": [
+ "RecoveryPoint"
+ ],
+ "description": "Gets a Recovery Point using recoveryPointId for a Datasource.",
+ "operationId": "RecoveryPoints_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/BackupInstanceName"
+ },
+ {
+ "name": "recoveryPointId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBackupRecoveryPointResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Recovery Point": {
+ "$ref": "./examples/BackupInstanceOperations/GetRecoveryPoint.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/locations/{location}/fetchSecondaryRecoveryPoints": {
+ "post": {
+ "tags": [
+ "FetchSecondaryRecoveryPoints"
+ ],
+ "description": "Returns a list of Secondary Recovery Points for a DataSource in a vault, that can be used for Cross Region Restore.",
+ "operationId": "SecondaryRPs_Fetch",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FetchSecondaryRPsRequestParameters"
+ }
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBackupRecoveryPointResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/RecoveryPointsFilters",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Fetch SecondaryRPs": {
+ "$ref": "./examples/CrossRegionRestore/FetchSecondaryRPs.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/locations/{location}/crossRegionRestore": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "operationId": "BackupInstances_TriggerCrossRegionRestore",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for trigger CRR operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CrossRegionRestoreRequestObject"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Contains additional information like job Id",
+ "schema": {
+ "$ref": "#/definitions/OperationJobExtendedInfo"
+ }
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Trigger Cross Region Restore": {
+ "$ref": "./examples/CrossRegionRestore/TriggerCrossRegionRestore.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/locations/{location}/validateCrossRegionRestore": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "operationId": "BackupInstances_ValidateCrossRegionRestore",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidateCrossRegionRestoreRequestObject"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Contains additional information like job Id",
+ "schema": {
+ "$ref": "#/definitions/OperationJobExtendedInfo"
+ }
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Validate Cross Region Restore": {
+ "$ref": "./examples/CrossRegionRestore/ValidateCrossRegionRestore.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/locations/{location}/fetchCrossRegionRestoreJob": {
+ "post": {
+ "tags": [
+ "DppJob"
+ ],
+ "operationId": "CrossRegionRestoreJob_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CrossRegionRestoreJobRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Details about a Cross Region Restore Job",
+ "schema": {
+ "$ref": "#/definitions/AzureBackupJobResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Cross Region Restore Job": {
+ "$ref": "./examples/CrossRegionRestore/FetchCrossRegionRestoreJob.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/locations/{location}/fetchCrossRegionRestoreJobs": {
+ "post": {
+ "tags": [
+ "DppJob"
+ ],
+ "operationId": "CrossRegionRestoreJobs_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CrossRegionRestoreJobsRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of Cross Region Restore Jobs",
+ "schema": {
+ "$ref": "#/definitions/AzureBackupJobResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Cross Region Restore Jobs": {
+ "$ref": "./examples/CrossRegionRestore/FetchCrossRegionRestoreJobs.json"
+ }
+ }
+ }
+ },
+ "/{resourceId}/providers/Microsoft.DataProtection/backupInstances": {
+ "get": {
+ "tags": [
+ "BackupInstancesExtensionRouting"
+ ],
+ "description": "Gets a list of backup instances associated with a tracked resource",
+ "operationId": "BackupInstancesExtensionRouting_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupInstanceResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List BackupInstances associated with an azure resource": {
+ "$ref": "./examples/BackupInstanceOperations/ListBackupInstancesExtensionRouting.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/rehydrate": {
+ "post": {
+ "description": "rehydrate recovery point for restore for a BackupInstance",
+ "operationId": "BackupInstances_TriggerRehydrate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "description": "Request body for operation",
+ "in": "body",
+ "name": "parameters",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AzureBackupRehydrationRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/BackupInstanceName"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "tags": [
+ "BackupInstances"
+ ],
+ "x-ms-examples": {
+ "Trigger Rehydrate": {
+ "$ref": "./examples/BackupInstanceOperations/TriggerRehydrate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/restore": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Triggers restore for a BackupInstance",
+ "operationId": "BackupInstances_TriggerRestore",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/BackupInstanceName"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AzureBackupRestoreRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Contains additional information like job Id",
+ "schema": {
+ "$ref": "#/definitions/OperationJobExtendedInfo"
+ }
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Trigger Restore": {
+ "$ref": "./examples/BackupInstanceOperations/TriggerRestore.json"
+ },
+ "Trigger Restore As Files": {
+ "$ref": "./examples/BackupInstanceOperations/TriggerRestoreAsFiles.json"
+ },
+ "Trigger Restore With Rehydration": {
+ "$ref": "./examples/BackupInstanceOperations/TriggerRestoreWithRehydration.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/resumeBackups": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "This operation will resume backups for backup instance",
+ "operationId": "BackupInstances_ResumeBackups",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/BackupInstanceName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ResumeBackups": {
+ "$ref": "./examples/BackupInstanceOperations/ResumeBackups.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/resumeProtection": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "This operation will resume protection for a stopped backup instance",
+ "operationId": "BackupInstances_ResumeProtection",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/BackupInstanceName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ResumeProtection": {
+ "$ref": "./examples/BackupInstanceOperations/ResumeProtection.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/stopProtection": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "This operation will stop protection of a backup instance and data will be held forever",
+ "operationId": "BackupInstances_StopProtection",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/BackupInstanceName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "StopProtection": {
+ "$ref": "./examples/BackupInstanceOperations/StopProtection.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/suspendBackups": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "This operation will stop backup for a backup instance and retains the backup data as per the policy (except latest Recovery point, which will be retained forever)",
+ "operationId": "BackupInstances_SuspendBackups",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/BackupInstanceName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "SuspendBackups": {
+ "$ref": "./examples/BackupInstanceOperations/SuspendBackups.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/sync": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Sync backup instance again in case of failure\r\nThis action will retry last failed operation and will bring backup instance to valid state",
+ "operationId": "BackupInstances_SyncBackupInstance",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/BackupInstanceName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SyncBackupInstanceRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Sync BackupInstance": {
+ "$ref": "./examples/BackupInstanceOperations/SyncBackupInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/validateRestore": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Validates if Restore can be triggered for a DataSource",
+ "operationId": "BackupInstances_ValidateForRestore",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/BackupInstanceName"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidateRestoreRequestObject"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Contains additional information like job Id",
+ "schema": {
+ "$ref": "#/definitions/OperationJobExtendedInfo"
+ }
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Validate Restore": {
+ "$ref": "./examples/BackupInstanceOperations/ValidateRestore.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupJobs": {
+ "get": {
+ "tags": [
+ "AzureBackupJobs"
+ ],
+ "description": "Returns list of jobs belonging to a backup vault",
+ "operationId": "Jobs_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBackupJobResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Jobs": {
+ "$ref": "./examples/JobCRUD/ListJobs.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/findRestorableTimeRanges": {
+ "post": {
+ "tags": [
+ "FindRestorableTimeRanges"
+ ],
+ "operationId": "RestorableTimeRanges_Find",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/BackupInstanceName"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AzureBackupFindRestorableTimeRangesRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBackupFindRestorableTimeRangesResponseResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Find Restorable Time Ranges": {
+ "$ref": "./examples/BackupInstanceOperations/FindRestorableTimeRanges.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupJobs/{jobId}": {
+ "get": {
+ "tags": [
+ "AzureBackupJob"
+ ],
+ "description": "Gets a job with id in a backup vault",
+ "operationId": "Jobs_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "jobId",
+ "description": "The Job ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBackupJobResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Job": {
+ "$ref": "./examples/JobCRUD/GetJob.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupJobs/{jobId}/triggerCancel": {
+ "post": {
+ "tags": [
+ "AzureBackupJob"
+ ],
+ "description": "Triggers cancellation of Job and returns an OperationID to track.",
+ "operationId": "Jobs_TriggerCancel",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RestrictedVaultName"
+ },
+ {
+ "name": "jobId",
+ "description": "The Job ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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": "location"
+ },
+ "x-ms-examples": {
+ "Trigger Cancel": {
+ "$ref": "./examples/JobCRUD/TriggerCancel.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupJobs/{jobId}/generateProgressUrl": {
+ "post": {
+ "tags": [
+ "AzureBackupJob"
+ ],
+ "description": "Generates read SAS URL for a blob from which current job progress can be read.",
+ "operationId": "Jobs_GenerateProgressUrl",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RestrictedVaultName"
+ },
+ {
+ "name": "jobId",
+ "description": "The Job ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBackupJobProgressUrl"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Generate Progress URL": {
+ "$ref": "./examples/JobCRUD/GenerateProgressURL.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/exportBackupJobs": {
+ "post": {
+ "tags": [
+ "AzureBackupJob"
+ ],
+ "description": "Triggers export of jobs and returns an OperationID to track.",
+ "operationId": "ExportJobs_Trigger",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Trigger Export Jobs": {
+ "$ref": "./examples/JobCRUD/TriggerExportJobs.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupJobs/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "AzureBackupJob"
+ ],
+ "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also contains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format.",
+ "operationId": "ExportJobsOperationResult_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "operationId",
+ "description": "OperationID which represents the export job.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ExportJobsResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Export Jobs Operation Result": {
+ "$ref": "./examples/JobCRUD/GetExportJobsOperationResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/deletedBackupInstances": {
+ "get": {
+ "tags": [
+ "DeletedBackupInstances"
+ ],
+ "description": "Gets deleted backup instances belonging to a backup vault",
+ "operationId": "DeletedBackupInstances_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DeletedBackupInstanceResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List DeletedBackupInstances in a Vault": {
+ "$ref": "./examples/DeletedBackupInstanceOperations/ListDeletedBackupInstances.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/deletedBackupInstances/{backupInstanceName}": {
+ "get": {
+ "tags": [
+ "DeletedBackupInstances"
+ ],
+ "description": "Gets a deleted backup instance with name in a backup vault",
+ "operationId": "DeletedBackupInstances_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "backupInstanceName",
+ "description": "The name of the deleted backup instance",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DeletedBackupInstanceResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get DeletedBackupInstance": {
+ "$ref": "./examples/DeletedBackupInstanceOperations/GetDeletedBackupInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/deletedBackupInstances/{backupInstanceName}/undelete": {
+ "post": {
+ "tags": [
+ "DeletedBackupInstances"
+ ],
+ "operationId": "DeletedBackupInstances_Undelete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "backupInstanceName",
+ "description": "The name of the deleted backup instance",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Undelete Deleted BackupInstance": {
+ "$ref": "./examples/DeletedBackupInstanceOperations/UndeleteDeletedBackupInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/resourceGuards": {
+ "get": {
+ "tags": [
+ "ResourceGuards"
+ ],
+ "summary": "Returns ResourceGuards collection belonging to a subscription.",
+ "operationId": "ResourceGuards_GetResourcesInSubscription",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ResourceGuardResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get ResourceGuards in Subscription": {
+ "$ref": "./examples/ResourceGuardCRUD/GetResourceGuardsInSubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards": {
+ "get": {
+ "tags": [
+ "ResourceGuards"
+ ],
+ "summary": "Returns ResourceGuards collection belonging to a ResourceGroup.",
+ "operationId": "ResourceGuards_GetResourcesInResourceGroup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ResourceGuardResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get ResourceGuards in ResourceGroup": {
+ "$ref": "./examples/ResourceGuardCRUD/GetResourceGuardsInResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}": {
+ "put": {
+ "tags": [
+ "ResourceGuards"
+ ],
+ "summary": "Creates or updates a ResourceGuard resource belonging to a resource group.",
+ "operationId": "ResourceGuards_Put",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGuardsName",
+ "in": "path",
+ "description": "The name of ResourceGuard",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResourceGuardResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ResourceGuardResource"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ResourceGuardResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create ResourceGuard": {
+ "$ref": "./examples/ResourceGuardCRUD/PutResourceGuard.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ResourceGuards"
+ ],
+ "summary": "Returns a ResourceGuard belonging to a resource group.",
+ "operationId": "ResourceGuards_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGuardsName",
+ "in": "path",
+ "description": "The name of ResourceGuard",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ResourceGuardResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get ResourceGuard": {
+ "$ref": "./examples/ResourceGuardCRUD/GetResourceGuard.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ResourceGuards"
+ ],
+ "summary": "Deletes a ResourceGuard resource from the resource group.",
+ "operationId": "ResourceGuards_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGuardsName",
+ "in": "path",
+ "description": "The name of ResourceGuard",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete ResourceGuard": {
+ "$ref": "./examples/ResourceGuardCRUD/DeleteResourceGuard.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ResourceGuards"
+ ],
+ "summary": "Updates a ResourceGuard resource belonging to a resource group. For example, updating tags for a resource.",
+ "operationId": "ResourceGuards_Patch",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGuardsName",
+ "in": "path",
+ "description": "The name of ResourceGuard",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PatchResourceGuardInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ResourceGuardResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Patch ResourceGuard": {
+ "$ref": "./examples/ResourceGuardCRUD/PatchResourceGuard.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/disableSoftDeleteRequests": {
+ "get": {
+ "tags": [
+ "ResourceGuards"
+ ],
+ "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.",
+ "operationId": "ResourceGuards_GetDisableSoftDeleteRequestsObjects",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGuardsName",
+ "in": "path",
+ "description": "",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DppBaseResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List OperationsRequestObject": {
+ "$ref": "./examples/ResourceGuardCRUD/ListDisableSoftDeleteRequests.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/deleteResourceGuardProxyRequests": {
+ "get": {
+ "tags": [
+ "ResourceGuards"
+ ],
+ "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.",
+ "operationId": "ResourceGuards_GetDeleteResourceGuardProxyRequestsObjects",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGuardsName",
+ "in": "path",
+ "description": "",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DppBaseResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List OperationsRequestObject": {
+ "$ref": "./examples/ResourceGuardCRUD/ListDeleteResourceGuardProxyRequests.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/getBackupSecurityPINRequests": {
+ "get": {
+ "tags": [
+ "ResourceGuards"
+ ],
+ "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.",
+ "operationId": "ResourceGuards_GetBackupSecurityPINRequestsObjects",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGuardsName",
+ "in": "path",
+ "description": "",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DppBaseResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List OperationsRequestObject": {
+ "$ref": "./examples/ResourceGuardCRUD/ListBackupSecurityPINRequests.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/deleteProtectedItemRequests": {
+ "get": {
+ "tags": [
+ "ResourceGuards"
+ ],
+ "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.",
+ "operationId": "ResourceGuards_GetDeleteProtectedItemRequestsObjects",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGuardsName",
+ "in": "path",
+ "description": "",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DppBaseResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List OperationsRequestObject": {
+ "$ref": "./examples/ResourceGuardCRUD/ListDeleteProtectedItemRequests.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/updateProtectionPolicyRequests": {
+ "get": {
+ "tags": [
+ "ResourceGuards"
+ ],
+ "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.",
+ "operationId": "ResourceGuards_GetUpdateProtectionPolicyRequestsObjects",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGuardsName",
+ "in": "path",
+ "description": "",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DppBaseResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List OperationsRequestObject": {
+ "$ref": "./examples/ResourceGuardCRUD/ListUpdateProtectionPolicyRequests.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/updateProtectedItemRequests": {
+ "get": {
+ "tags": [
+ "ResourceGuards"
+ ],
+ "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.",
+ "operationId": "ResourceGuards_GetUpdateProtectedItemRequestsObjects",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGuardsName",
+ "in": "path",
+ "description": "",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DppBaseResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List OperationsRequestObject": {
+ "$ref": "./examples/ResourceGuardCRUD/ListUpdateProtectedItemRequests.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/disableSoftDeleteRequests/{requestName}": {
+ "get": {
+ "tags": [
+ "ResourceGuards"
+ ],
+ "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.",
+ "operationId": "ResourceGuards_GetDefaultDisableSoftDeleteRequestsObject",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGuardsName",
+ "in": "path",
+ "description": "",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "requestName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DppBaseResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get DefaultOperationsRequestObject": {
+ "$ref": "./examples/ResourceGuardCRUD/GetDefaultDisableSoftDeleteRequests.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/deleteResourceGuardProxyRequests/{requestName}": {
+ "get": {
+ "tags": [
+ "ResourceGuards"
+ ],
+ "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.",
+ "operationId": "ResourceGuards_GetDefaultDeleteResourceGuardProxyRequestsObject",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGuardsName",
+ "in": "path",
+ "description": "",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "requestName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DppBaseResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get DefaultOperationsRequestObject": {
+ "$ref": "./examples/ResourceGuardCRUD/GetDefaultDeleteResourceGuardProxyRequests.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/getBackupSecurityPINRequests/{requestName}": {
+ "get": {
+ "tags": [
+ "ResourceGuards"
+ ],
+ "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.",
+ "operationId": "ResourceGuards_GetDefaultBackupSecurityPINRequestsObject",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGuardsName",
+ "in": "path",
+ "description": "",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "requestName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DppBaseResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get DefaultOperationsRequestObject": {
+ "$ref": "./examples/ResourceGuardCRUD/GetDefaultBackupSecurityPINRequests.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/deleteProtectedItemRequests/{requestName}": {
+ "get": {
+ "tags": [
+ "ResourceGuards"
+ ],
+ "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.",
+ "operationId": "ResourceGuards_GetDefaultDeleteProtectedItemRequestsObject",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGuardsName",
+ "in": "path",
+ "description": "",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "requestName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DppBaseResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get DefaultOperationsRequestObject": {
+ "$ref": "./examples/ResourceGuardCRUD/GetDefaultDeleteProtectedItemRequests.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/updateProtectionPolicyRequests/{requestName}": {
+ "get": {
+ "tags": [
+ "ResourceGuards"
+ ],
+ "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.",
+ "operationId": "ResourceGuards_GetDefaultUpdateProtectionPolicyRequestsObject",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGuardsName",
+ "in": "path",
+ "description": "",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "requestName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DppBaseResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get DefaultOperationsRequestObject": {
+ "$ref": "./examples/ResourceGuardCRUD/GetDefaultUpdateProtectionPolicyRequests.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/updateProtectedItemRequests/{requestName}": {
+ "get": {
+ "tags": [
+ "ResourceGuards"
+ ],
+ "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.",
+ "operationId": "ResourceGuards_GetDefaultUpdateProtectedItemRequestsObject",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGuardsName",
+ "in": "path",
+ "description": "",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "requestName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DppBaseResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get DefaultOperationsRequestObject": {
+ "$ref": "./examples/ResourceGuardCRUD/GetDefaultUpdateProtectedItemRequests.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupResourceGuardProxies": {
+ "get": {
+ "tags": [
+ "DppResourceGuardProxies"
+ ],
+ "summary": "Returns the list of ResourceGuardProxies associated with the vault",
+ "operationId": "DppResourceGuardProxy_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ResourceGuardProxyBaseResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get ResourceGuardProxies": {
+ "$ref": "./examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupResourceGuardProxies/{resourceGuardProxyName}": {
+ "get": {
+ "tags": [
+ "DppResourceGuardProxies"
+ ],
+ "summary": "Returns the ResourceGuardProxy object associated with the vault, and that matches the name in the request",
+ "operationId": "DppResourceGuardProxy_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "resourceGuardProxyName",
+ "description": "name of the resource guard proxy",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]*$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ResourceGuardProxyBaseResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get ResourceGuardProxy": {
+ "$ref": "./examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DppResourceGuardProxies"
+ ],
+ "summary": "Creates or Updates a ResourceGuardProxy",
+ "operationId": "DppResourceGuardProxy_CreateOrUpdate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "resourceGuardProxyName",
+ "description": "name of the resource guard proxy",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]*$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResourceGuardProxyBaseResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ResourceGuardProxyBaseResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create ResourceGuardProxy": {
+ "$ref": "./examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DppResourceGuardProxies"
+ ],
+ "summary": "Deletes the ResourceGuardProxy",
+ "operationId": "DppResourceGuardProxy_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "resourceGuardProxyName",
+ "description": "name of the resource guard proxy",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]*$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete ResourceGuardProxy": {
+ "$ref": "./examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupResourceGuardProxies/{resourceGuardProxyName}/unlockDelete": {
+ "post": {
+ "tags": [
+ "DppResourceGuardProxies"
+ ],
+ "summary": "UnlockDelete call for ResourceGuardProxy, executed before one can delete it",
+ "operationId": "DppResourceGuardProxy_UnlockDelete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "resourceGuardProxyName",
+ "description": "name of the resource guard proxy",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]*$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UnlockDeleteRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UnlockDeleteResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UnlockDelete ResourceGuardProxy": {
+ "$ref": "./examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AbsoluteDeleteOption": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeleteOption"
+ }
+ ],
+ "description": "Delete option with duration",
+ "required": [
+ "duration",
+ "objectType"
+ ],
+ "title": "AbsoluteDeleteOption",
+ "type": "object",
+ "x-ms-discriminator-value": "AbsoluteDeleteOption"
+ },
+ "RecoveryPointsFilters": {
+ "type": "object",
+ "properties": {
+ "restorePointDataStoreId": {
+ "type": "string"
+ },
+ "isVisible": {
+ "type": "boolean"
+ },
+ "startDate": {
+ "type": "string"
+ },
+ "endDate": {
+ "type": "string"
+ },
+ "extendedInfo": {
+ "type": "boolean"
+ },
+ "restorePointState": {
+ "type": "string"
+ }
+ }
+ },
+ "AdHocBackupRuleOptions": {
+ "description": "Adhoc backup rules",
+ "properties": {
+ "ruleName": {
+ "type": "string"
+ },
+ "triggerOption": {
+ "$ref": "#/definitions/AdhocBackupTriggerOption"
+ }
+ },
+ "required": [
+ "ruleName",
+ "triggerOption"
+ ],
+ "title": "AdHocBackupRuleOptions",
+ "type": "object"
+ },
+ "AdhocBackupTriggerOption": {
+ "description": "Adhoc backup trigger option",
+ "properties": {
+ "retentionTagOverride": {
+ "type": "string"
+ }
+ },
+ "title": "AdhocBackupTriggerOption",
+ "type": "object"
+ },
+ "AdhocBasedTaggingCriteria": {
+ "description": "Adhoc backup tagging criteria",
+ "properties": {
+ "tagInfo": {
+ "$ref": "#/definitions/RetentionTag",
+ "description": "Retention tag information"
+ }
+ },
+ "title": "AdhocBasedTaggingCriteria",
+ "type": "object"
+ },
+ "AdhocBasedTriggerContext": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/TriggerContext"
+ }
+ ],
+ "description": "Adhoc trigger context",
+ "properties": {
+ "taggingCriteria": {
+ "$ref": "#/definitions/AdhocBasedTaggingCriteria",
+ "description": "Tagging Criteria containing retention tag for adhoc backup."
+ }
+ },
+ "required": [
+ "objectType",
+ "taggingCriteria"
+ ],
+ "title": "AdhocBasedTriggerContext",
+ "type": "object",
+ "x-ms-discriminator-value": "AdhocBasedTriggerContext"
+ },
+ "AuthCredentials": {
+ "description": "Base class for different types of authentication credentials.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string",
+ "readOnly": false
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "AzureBackupDiscreteRecoveryPoint": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureBackupRecoveryPoint"
+ }
+ ],
+ "description": "Azure backup discrete RecoveryPoint",
+ "properties": {
+ "friendlyName": {
+ "type": "string"
+ },
+ "recoveryPointDataStoresDetails": {
+ "items": {
+ "$ref": "#/definitions/RecoveryPointDataStoreDetails"
+ },
+ "type": "array"
+ },
+ "recoveryPointTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "policyName": {
+ "type": "string"
+ },
+ "policyVersion": {
+ "type": "string"
+ },
+ "recoveryPointId": {
+ "type": "string"
+ },
+ "recoveryPointType": {
+ "type": "string"
+ },
+ "retentionTagName": {
+ "type": "string"
+ },
+ "retentionTagVersion": {
+ "type": "string"
+ },
+ "expiryTime": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "recoveryPointTime"
+ ],
+ "title": "AzureBackupDiscreteRecoveryPoint",
+ "type": "object",
+ "x-ms-discriminator-value": "AzureBackupDiscreteRecoveryPoint"
+ },
+ "AzureBackupFindRestorableTimeRangesRequest": {
+ "description": "List Restore Ranges Request",
+ "required": [
+ "sourceDataStoreType"
+ ],
+ "type": "object",
+ "properties": {
+ "sourceDataStoreType": {
+ "description": "Gets or sets the type of the source data store.",
+ "enum": [
+ "OperationalStore",
+ "VaultStore",
+ "ArchiveStore"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RestoreSourceDataStoreType",
+ "modelAsString": true
+ }
+ },
+ "startTime": {
+ "description": "Start time for the List Restore Ranges request. ISO 8601 format.",
+ "type": "string"
+ },
+ "endTime": {
+ "description": "End time for the List Restore Ranges request. ISO 8601 format.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureBackupFindRestorableTimeRangesRequestResource": {
+ "description": "List Restore Ranges Request",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppWorkerRequest"
+ }
+ ],
+ "properties": {
+ "content": {
+ "$ref": "#/definitions/AzureBackupFindRestorableTimeRangesRequest",
+ "description": "AzureBackupFindRestorableTimeRangesRequestResource content"
+ }
+ }
+ },
+ "AzureBackupFindRestorableTimeRangesResponse": {
+ "description": "List Restore Ranges Response",
+ "type": "object",
+ "properties": {
+ "restorableTimeRanges": {
+ "description": "Returns the Restore Ranges available on the Backup Instance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RestorableTimeRange"
+ },
+ "x-ms-identifiers": []
+ },
+ "objectType": {
+ "type": "string"
+ }
+ }
+ },
+ "AzureBackupFindRestorableTimeRangesResponseResource": {
+ "description": "List Restore Ranges Response",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AzureBackupFindRestorableTimeRangesResponse",
+ "description": "AzureBackupFindRestorableTimeRangesResponseResource properties"
+ }
+ }
+ },
+ "AzureBackupJob": {
+ "description": "AzureBackup Job Class",
+ "properties": {
+ "activityID": {
+ "description": "Job Activity Id",
+ "type": "string"
+ },
+ "backupInstanceFriendlyName": {
+ "description": "Name of the Backup Instance",
+ "type": "string"
+ },
+ "backupInstanceId": {
+ "description": "ARM ID of the Backup Instance",
+ "readOnly": true,
+ "type": "string"
+ },
+ "dataSourceId": {
+ "description": "ARM ID of the DataSource",
+ "type": "string"
+ },
+ "dataSourceLocation": {
+ "description": "Location of the DataSource",
+ "type": "string"
+ },
+ "dataSourceName": {
+ "description": "User Friendly Name of the DataSource",
+ "type": "string"
+ },
+ "dataSourceSetName": {
+ "description": "Data Source Set Name of the DataSource",
+ "type": "string"
+ },
+ "dataSourceType": {
+ "description": "Type of DataSource",
+ "type": "string"
+ },
+ "duration": {
+ "description": "Total run time of the job. ISO 8601 format.",
+ "type": "string"
+ },
+ "endTime": {
+ "description": "EndTime of the job(in UTC)",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "errorDetails": {
+ "description": "A List, detailing the errors related to the job",
+ "items": {
+ "$ref": "#/definitions/UserFacingError"
+ },
+ "x-ms-identifiers": [],
+ "readOnly": true,
+ "type": "array"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/JobExtendedInfo",
+ "description": "Extended Information about the job",
+ "readOnly": true
+ },
+ "isUserTriggered": {
+ "description": "Indicated that whether the job is adhoc(true) or scheduled(false)",
+ "type": "boolean"
+ },
+ "operation": {
+ "description": "It indicates the type of Job i.e. Backup:full/log/diff ;Restore:ALR/OLR; Tiering:Backup/Archive ; Management:ConfigureProtection/UnConfigure",
+ "type": "string"
+ },
+ "operationCategory": {
+ "description": "It indicates the type of Job i.e. Backup/Restore/Tiering/Management",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "ARM ID of the policy",
+ "readOnly": true,
+ "type": "string"
+ },
+ "policyName": {
+ "description": "Name of the policy",
+ "readOnly": true,
+ "type": "string"
+ },
+ "progressEnabled": {
+ "description": "Indicated whether progress is enabled for the job",
+ "type": "boolean"
+ },
+ "progressUrl": {
+ "description": "Url which contains job's progress",
+ "readOnly": true,
+ "type": "string"
+ },
+ "rehydrationPriority": {
+ "description": "Priority to be used for rehydration",
+ "readOnly": true,
+ "type": "string"
+ },
+ "restoreType": {
+ "description": "It indicates the sub type of operation i.e. in case of Restore it can be ALR/OLR",
+ "readOnly": true,
+ "type": "string"
+ },
+ "sourceDataStoreType": {
+ "description": "The type of the source data store.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "sourceResourceGroup": {
+ "description": "Resource Group Name of the Datasource",
+ "type": "string"
+ },
+ "sourceSubscriptionID": {
+ "description": "SubscriptionId corresponding to the DataSource",
+ "type": "string"
+ },
+ "startTime": {
+ "description": "StartTime of the job(in UTC)",
+ "format": "date-time",
+ "type": "string"
+ },
+ "status": {
+ "description": "Status of the job like InProgress/Success/Failed/Cancelled/SuccessWithWarning",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription Id of the corresponding backup vault",
+ "type": "string"
+ },
+ "supportedActions": {
+ "description": "List of supported actions",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vaultName": {
+ "description": "Name of the vault",
+ "type": "string"
+ },
+ "etag": {
+ "type": "string"
+ },
+ "sourceDataStoreName": {
+ "type": "string"
+ },
+ "destinationDataStoreName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "activityID",
+ "subscriptionId",
+ "dataSourceId",
+ "vaultName",
+ "backupInstanceFriendlyName",
+ "sourceResourceGroup",
+ "dataSourceName",
+ "progressEnabled",
+ "sourceSubscriptionID",
+ "dataSourceLocation",
+ "startTime",
+ "dataSourceType",
+ "operationCategory",
+ "operation",
+ "status",
+ "isUserTriggered",
+ "supportedActions"
+ ],
+ "type": "object"
+ },
+ "CrossRegionRestoreJobRequest": {
+ "required": [
+ "sourceRegion",
+ "sourceBackupVaultId",
+ "jobId"
+ ],
+ "type": "object",
+ "properties": {
+ "sourceRegion": {
+ "type": "string"
+ },
+ "sourceBackupVaultId": {
+ "type": "string"
+ },
+ "jobId": {
+ "type": "string"
+ }
+ }
+ },
+ "CrossRegionRestoreJobsRequest": {
+ "required": [
+ "sourceRegion",
+ "sourceBackupVaultId"
+ ],
+ "type": "object",
+ "properties": {
+ "sourceRegion": {
+ "type": "string"
+ },
+ "sourceBackupVaultId": {
+ "type": "string"
+ }
+ }
+ },
+ "AzureBackupJobProgressUrl": {
+ "description": "Job Progress URL class.",
+ "properties": {
+ "progressUrl": {
+ "description": "Read SAS URI for a blob from which current job progress can be read.",
+ "type": "string",
+ "x-ms-secret": true
+ }
+ },
+ "type": "object"
+ },
+ "AzureBackupJobResource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResource"
+ }
+ ],
+ "description": "AzureBackup Job Resource Class",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AzureBackupJob",
+ "description": "AzureBackupJobResource properties",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "AzureBackupJobResourceList": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResourceList"
+ }
+ ],
+ "description": "List of AzureBackup Job resources",
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "items": {
+ "$ref": "#/definitions/AzureBackupJobResource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "AzureBackupParams": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupParameters"
+ }
+ ],
+ "description": "Azure backup parameters",
+ "properties": {
+ "backupType": {
+ "description": "BackupType ; Full/Incremental etc",
+ "type": "string"
+ }
+ },
+ "required": [
+ "backupType",
+ "objectType"
+ ],
+ "title": "AzureBackupParams",
+ "type": "object",
+ "x-ms-discriminator-value": "AzureBackupParams"
+ },
+ "AzureBackupRecoveryPoint": {
+ "description": "Azure backup recoveryPoint",
+ "discriminator": "objectType",
+ "properties": {
+ "objectType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectType"
+ ],
+ "title": "AzureBackupRecoveryPoint",
+ "type": "object"
+ },
+ "AzureBackupRecoveryPointBasedRestoreRequest": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureBackupRestoreRequest"
+ }
+ ],
+ "description": "Azure backup recoveryPoint based restore request",
+ "properties": {
+ "recoveryPointId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "recoveryPointId"
+ ],
+ "title": "AzureBackupRecoveryPointBasedRestoreRequest",
+ "type": "object",
+ "x-ms-discriminator-value": "AzureBackupRecoveryPointBasedRestoreRequest"
+ },
+ "AzureBackupRecoveryPointResource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResource"
+ }
+ ],
+ "description": "Azure backup recoveryPoint resource",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AzureBackupRecoveryPoint",
+ "description": "AzureBackupRecoveryPointResource properties"
+ }
+ },
+ "title": "AzureBackupRecoveryPointResource"
+ },
+ "AzureBackupRecoveryPointResourceList": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResourceList"
+ }
+ ],
+ "description": "Azure backup recoveryPoint resource list",
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "items": {
+ "$ref": "#/definitions/AzureBackupRecoveryPointResource"
+ },
+ "type": "array"
+ }
+ },
+ "title": "AzureBackupRecoveryPointResourceList",
+ "type": "object"
+ },
+ "AzureBackupRehydrationRequest": {
+ "description": "Azure Backup Rehydrate Request",
+ "properties": {
+ "recoveryPointId": {
+ "description": "Id of the recovery point to be recovered",
+ "type": "string"
+ },
+ "rehydrationPriority": {
+ "description": "Priority to be used for rehydration. Values High or Standard",
+ "$ref": "#/definitions/RehydrationPriority"
+ },
+ "rehydrationRetentionDuration": {
+ "description": "Retention duration in ISO 8601 format i.e P10D .",
+ "type": "string"
+ }
+ },
+ "required": [
+ "recoveryPointId",
+ "rehydrationRetentionDuration"
+ ],
+ "title": "AzureBackupRehydrationRequest",
+ "type": "object"
+ },
+ "AzureBackupRestoreRequest": {
+ "description": "Azure backup restore request",
+ "discriminator": "objectType",
+ "properties": {
+ "objectType": {
+ "type": "string"
+ },
+ "restoreTargetInfo": {
+ "$ref": "#/definitions/RestoreTargetInfoBase",
+ "description": "Gets or sets the restore target information."
+ },
+ "sourceDataStoreType": {
+ "description": "Gets or sets the type of the source data store.",
+ "enum": [
+ "ArchiveStore",
+ "SnapshotStore",
+ "OperationalStore",
+ "VaultStore"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "SourceDataStoreType"
+ }
+ },
+ "sourceResourceId": {
+ "description": "Fully qualified Azure Resource Manager ID of the datasource which is being recovered.",
+ "type": "string"
+ },
+ "identityDetails": {
+ "$ref": "#/definitions/IdentityDetails",
+ "description": "Contains information of the Identity Details for the BI.\r\nIf it is null, default will be considered as System Assigned."
+ }
+ },
+ "required": [
+ "objectType",
+ "restoreTargetInfo",
+ "sourceDataStoreType"
+ ],
+ "title": "AzureBackupRestoreRequest",
+ "type": "object"
+ },
+ "IdentityDetails": {
+ "type": "object",
+ "properties": {
+ "useSystemAssignedIdentity": {
+ "description": "Specifies if the BI is protected by System Identity.",
+ "type": "boolean"
+ },
+ "userAssignedIdentityArmUrl": {
+ "description": "ARM URL for User Assigned Identity.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureBackupRestoreWithRehydrationRequest": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureBackupRecoveryPointBasedRestoreRequest"
+ }
+ ],
+ "description": "AzureBackup Restore with Rehydration Request",
+ "properties": {
+ "rehydrationPriority": {
+ "description": "Priority to be used for rehydration. Values High or Standard",
+ "$ref": "#/definitions/RehydrationPriority"
+ },
+ "rehydrationRetentionDuration": {
+ "description": "Retention duration in ISO 8601 format i.e P10D .",
+ "type": "string"
+ }
+ },
+ "required": [
+ "rehydrationPriority",
+ "rehydrationRetentionDuration"
+ ],
+ "title": "AzureBackupRestoreWithRehydrationRequest",
+ "type": "object",
+ "x-ms-discriminator-value": "AzureBackupRestoreWithRehydrationRequest"
+ },
+ "AzureBackupRecoveryTimeBasedRestoreRequest": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureBackupRestoreRequest"
+ }
+ ],
+ "description": "AzureBackup RecoveryPointTime Based Restore Request",
+ "properties": {
+ "recoveryPointTime": {
+ "description": "The recovery time in ISO 8601 format example - 2020-08-14T17:30:00.0000000Z.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "recoveryPointTime"
+ ],
+ "title": "AzureBackupRecoveryTimeBasedRestoreRequest",
+ "type": "object",
+ "x-ms-discriminator-value": "AzureBackupRecoveryTimeBasedRestoreRequest"
+ },
+ "AzureBackupRule": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/BasePolicyRule"
+ }
+ ],
+ "description": "Azure backup rule",
+ "properties": {
+ "backupParameters": {
+ "$ref": "#/definitions/BackupParameters"
+ },
+ "dataStore": {
+ "$ref": "#/definitions/DataStoreInfoBase"
+ },
+ "trigger": {
+ "$ref": "#/definitions/TriggerContext"
+ }
+ },
+ "required": [
+ "dataStore",
+ "name",
+ "objectType",
+ "trigger"
+ ],
+ "title": "AzureBackupRule",
+ "type": "object",
+ "x-ms-discriminator-value": "AzureBackupRule"
+ },
+ "AzureMonitorAlertSettings": {
+ "type": "object",
+ "description": "Settings for Azure Monitor based alerts",
+ "properties": {
+ "alertsForAllJobFailures": {
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AlertsState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "AzureOperationalStoreParameters": {
+ "description": "Parameters for Operational-Tier DataStore",
+ "required": [
+ "objectType",
+ "dataStoreType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataStoreParameters"
+ }
+ ],
+ "properties": {
+ "resourceGroupId": {
+ "description": "Gets or sets the Snapshot Resource Group Uri.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureOperationalStoreParameters"
+ },
+ "KubernetesClusterBackupDatasourceParameters": {
+ "description": "Parameters for Kubernetes Cluster Backup Datasource",
+ "required": [
+ "snapshotVolumes",
+ "includeClusterScopeResources"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupDatasourceParameters"
+ }
+ ],
+ "properties": {
+ "snapshotVolumes": {
+ "description": "Gets or sets the volume snapshot property. This property if enabled will take volume snapshots during backup.",
+ "type": "boolean"
+ },
+ "includeClusterScopeResources": {
+ "description": "Gets or sets the include cluster resources property. This property if enabled will include cluster scope resources during backup.",
+ "type": "boolean"
+ },
+ "includedNamespaces": {
+ "description": "Gets or sets the include namespaces property. This property sets the namespaces to be included during backup.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "excludedNamespaces": {
+ "description": "Gets or sets the exclude namespaces property. This property sets the namespaces to be excluded during backup.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "includedResourceTypes": {
+ "description": "Gets or sets the include resource types property. This property sets the resource types to be included during backup.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "excludedResourceTypes": {
+ "description": "Gets or sets the exclude resource types property. This property sets the resource types to be excluded during backup.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "labelSelectors": {
+ "description": "Gets or sets the LabelSelectors property. This property sets the resource with such label selectors to be included during backup.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "backupHookReferences": {
+ "description": "Gets or sets the backup hook references. This property sets the hook reference to be executed during backup.",
+ "items": {
+ "$ref": "#/definitions/NamespacedNameResource"
+ },
+ "x-ms-identifiers": [],
+ "type": "array"
+ }
+ },
+ "x-ms-discriminator-value": "KubernetesClusterBackupDatasourceParameters"
+ },
+ "BlobBackupDatasourceParameters": {
+ "description": "Parameters to be used during configuration of backup of blobs",
+ "required": [
+ "containersList",
+ "objectType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupDatasourceParameters"
+ }
+ ],
+ "properties": {
+ "containersList": {
+ "description": "List of containers to be backed up during configuration of backup of blobs",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "BlobBackupDatasourceParameters"
+ },
+ "AzureRetentionRule": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/BasePolicyRule"
+ }
+ ],
+ "description": "Azure retention rule",
+ "properties": {
+ "isDefault": {
+ "type": "boolean"
+ },
+ "lifecycles": {
+ "items": {
+ "$ref": "#/definitions/SourceLifeCycle"
+ },
+ "x-ms-identifiers": [],
+ "type": "array"
+ }
+ },
+ "required": [
+ "lifecycles",
+ "name",
+ "objectType"
+ ],
+ "title": "AzureRetentionRule",
+ "type": "object",
+ "x-ms-discriminator-value": "AzureRetentionRule"
+ },
+ "BackupCriteria": {
+ "description": "BackupCriteria base class",
+ "discriminator": "objectType",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectType"
+ ],
+ "title": "BackupCriteria",
+ "type": "object"
+ },
+ "BackupInstance": {
+ "description": "Backup Instance",
+ "required": [
+ "dataSourceInfo",
+ "policyInfo",
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "Gets or sets the Backup Instance friendly name.",
+ "type": "string"
+ },
+ "dataSourceInfo": {
+ "$ref": "#/definitions/Datasource",
+ "description": "Gets or sets the data source information."
+ },
+ "dataSourceSetInfo": {
+ "$ref": "#/definitions/DatasourceSet",
+ "description": "Gets or sets the data source set information."
+ },
+ "policyInfo": {
+ "$ref": "#/definitions/PolicyInfo",
+ "description": "Gets or sets the policy information."
+ },
+ "protectionStatus": {
+ "$ref": "#/definitions/ProtectionStatusDetails",
+ "description": "Specifies the protection status of the resource",
+ "readOnly": true
+ },
+ "currentProtectionState": {
+ "description": "Specifies the current protection state of the resource",
+ "enum": [
+ "Invalid",
+ "NotProtected",
+ "ConfiguringProtection",
+ "ProtectionConfigured",
+ "BackupSchedulesSuspended",
+ "RetentionSchedulesSuspended",
+ "ProtectionStopped",
+ "ProtectionError",
+ "ConfiguringProtectionFailed",
+ "SoftDeleting",
+ "SoftDeleted",
+ "UpdatingProtection"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CurrentProtectionState",
+ "modelAsString": true
+ }
+ },
+ "protectionErrorDetails": {
+ "$ref": "#/definitions/UserFacingError",
+ "description": "Specifies the protection error of the resource",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Specifies the provisioning state of the resource i.e. provisioning/updating/Succeeded/Failed",
+ "type": "string",
+ "readOnly": true
+ },
+ "datasourceAuthCredentials": {
+ "$ref": "#/definitions/AuthCredentials",
+ "description": "Credentials to use to authenticate with data source provider."
+ },
+ "validationType": {
+ "description": "Specifies the type of validation. In case of DeepValidation, all validations from /validateForBackup API will run again.",
+ "enum": [
+ "ShallowValidation",
+ "DeepValidation"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ValidationType",
+ "modelAsString": true
+ }
+ },
+ "identityDetails": {
+ "$ref": "#/definitions/IdentityDetails",
+ "description": "Contains information of the Identity Details for the BI.\r\nIf it is null, default will be considered as System Assigned."
+ },
+ "objectType": {
+ "type": "string"
+ }
+ }
+ },
+ "BackupInstanceResource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppProxyResource"
+ }
+ ],
+ "description": "BackupInstance Resource",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupInstance",
+ "description": "BackupInstanceResource properties"
+ }
+ },
+ "title": "BackupInstanceResource"
+ },
+ "BackupInstanceResourceList": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResourceList"
+ }
+ ],
+ "description": "BackupInstance Resource list response",
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "items": {
+ "$ref": "#/definitions/BackupInstanceResource"
+ },
+ "type": "array"
+ }
+ },
+ "title": "BackupInstanceResourceList",
+ "type": "object"
+ },
+ "BackupParameters": {
+ "description": "BackupParameters base",
+ "discriminator": "objectType",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectType"
+ ],
+ "title": "BackupParameters",
+ "type": "object"
+ },
+ "BackupPolicy": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/BaseBackupPolicy"
+ }
+ ],
+ "description": "Rule based backup policy",
+ "properties": {
+ "policyRules": {
+ "description": "Policy rule dictionary that contains rules for each backuptype i.e Full/Incremental/Logs etc",
+ "items": {
+ "$ref": "#/definitions/BasePolicyRule"
+ },
+ "x-ms-identifiers": [],
+ "type": "array"
+ }
+ },
+ "required": [
+ "datasourceTypes",
+ "policyRules"
+ ],
+ "title": "BackupPolicy",
+ "type": "object",
+ "x-ms-discriminator-value": "BackupPolicy"
+ },
+ "BackupSchedule": {
+ "description": "Schedule for backup",
+ "properties": {
+ "repeatingTimeIntervals": {
+ "description": "ISO 8601 repeating time interval format",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "timeZone": {
+ "description": "Time zone for a schedule. Example: Pacific Standard Time",
+ "type": "string"
+ }
+ },
+ "required": [
+ "repeatingTimeIntervals"
+ ],
+ "title": "BackupSchedule",
+ "type": "object"
+ },
+ "BackupVault": {
+ "description": "Backup Vault",
+ "properties": {
+ "monitoringSettings": {
+ "$ref": "#/definitions/MonitoringSettings",
+ "description": "Monitoring Settings"
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the BackupVault resource",
+ "enum": [
+ "Failed",
+ "Provisioning",
+ "Succeeded",
+ "Unknown",
+ "Updating"
+ ],
+ "readOnly": true,
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ProvisioningState"
+ }
+ },
+ "resourceMoveState": {
+ "description": "Resource move state for backup vault",
+ "enum": [
+ "Unknown",
+ "InProgress",
+ "PrepareFailed",
+ "CommitFailed",
+ "Failed",
+ "PrepareTimedout",
+ "CommitTimedout",
+ "CriticalFailure",
+ "PartialSuccess",
+ "MoveSucceeded"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ResourceMoveState",
+ "modelAsString": true
+ }
+ },
+ "resourceMoveDetails": {
+ "$ref": "#/definitions/ResourceMoveDetails",
+ "description": "Resource move details for backup vault",
+ "readOnly": true
+ },
+ "securitySettings": {
+ "$ref": "#/definitions/SecuritySettings",
+ "description": "Security Settings"
+ },
+ "storageSettings": {
+ "description": "Storage Settings",
+ "items": {
+ "$ref": "#/definitions/StorageSetting"
+ },
+ "x-ms-identifiers": [],
+ "type": "array"
+ },
+ "isVaultProtectedByResourceGuard": {
+ "description": "Is vault protected by resource guard",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "featureSettings": {
+ "$ref": "#/definitions/FeatureSettings",
+ "description": "Feature Settings"
+ },
+ "secureScore": {
+ "description": "Secure Score of Backup Vault",
+ "enum": [
+ "None",
+ "Minimum",
+ "Adequate",
+ "Maximum",
+ "NotSupported"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SecureScoreLevel",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "storageSettings"
+ ],
+ "title": "BackupVault",
+ "type": "object"
+ },
+ "BackupVaultResource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppTrackedResource"
+ }
+ ],
+ "description": "Backup Vault Resource",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupVault",
+ "description": "BackupVaultResource properties"
+ }
+ },
+ "required": [
+ "location",
+ "properties"
+ ],
+ "title": "BackupVault Resource"
+ },
+ "BackupVaultResourceList": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResourceList"
+ }
+ ],
+ "description": "List of BackupVault resources",
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "items": {
+ "$ref": "#/definitions/BackupVaultResource"
+ },
+ "type": "array"
+ }
+ },
+ "title": "BackupVaultResourceList",
+ "type": "object"
+ },
+ "BaseBackupPolicy": {
+ "description": "BackupPolicy base",
+ "discriminator": "objectType",
+ "properties": {
+ "datasourceTypes": {
+ "description": "Type of datasource for the backup management",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "objectType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "datasourceTypes",
+ "objectType"
+ ],
+ "title": "BaseBackupPolicy",
+ "type": "object"
+ },
+ "BaseBackupPolicyResource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResource"
+ }
+ ],
+ "description": "BaseBackupPolicy resource",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BaseBackupPolicy",
+ "description": "BaseBackupPolicyResource properties"
+ }
+ },
+ "title": "BaseBackupPolicyResource"
+ },
+ "BaseBackupPolicyResourceList": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResourceList"
+ }
+ ],
+ "description": "List of BaseBackupPolicy resources",
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "items": {
+ "$ref": "#/definitions/BaseBackupPolicyResource"
+ },
+ "type": "array"
+ }
+ },
+ "title": "BaseBackupPolicyResourceList",
+ "type": "object"
+ },
+ "BasePolicyRule": {
+ "description": "BasePolicy Rule",
+ "discriminator": "objectType",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "objectType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "objectType"
+ ],
+ "title": "BasePolicyRule",
+ "type": "object"
+ },
+ "BaseResourceProperties": {
+ "description": "Properties which are specific to datasource/datasourceSets",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string",
+ "readOnly": false,
+ "enum": [
+ "DefaultResourceProperties"
+ ],
+ "x-ms-enum": {
+ "name": "ResourcePropertiesObjectType",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "CheckNameAvailabilityRequest": {
+ "description": "CheckNameAvailability Request",
+ "properties": {
+ "name": {
+ "description": "Resource name for which availability needs to be checked",
+ "type": "string"
+ },
+ "type": {
+ "description": "Describes the Resource type: Microsoft.DataProtection/BackupVaults",
+ "type": "string"
+ }
+ },
+ "title": "CheckNameAvailabilityRequest",
+ "type": "object"
+ },
+ "CheckNameAvailabilityResult": {
+ "description": "CheckNameAvailability Result",
+ "properties": {
+ "message": {
+ "description": "Gets or sets the message.",
+ "type": "string"
+ },
+ "nameAvailable": {
+ "description": "Gets or sets a value indicating whether [name available].",
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "Gets or sets the reason.",
+ "type": "string"
+ }
+ },
+ "title": "CheckNameAvailabilityResult",
+ "type": "object"
+ },
+ "ClientDiscoveryDisplay": {
+ "description": "Localized display information of an operation.",
+ "properties": {
+ "description": {
+ "description": "Description of the operation having details of what operation is about.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operations Name itself.",
+ "type": "string"
+ },
+ "provider": {
+ "description": "Name of the provider for display purposes",
+ "type": "string"
+ },
+ "resource": {
+ "description": "ResourceType for which this Operation can be performed.",
+ "type": "string"
+ }
+ },
+ "title": "ClientDiscoveryDisplay",
+ "type": "object"
+ },
+ "ClientDiscoveryForLogSpecification": {
+ "description": "Class to represent shoebox log specification in json client discovery.",
+ "properties": {
+ "blobDuration": {
+ "description": "blob duration of shoebox log specification",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Localized display name",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name for shoebox log specification.",
+ "type": "string"
+ }
+ },
+ "title": "ClientDiscoveryForLogSpecification",
+ "type": "object"
+ },
+ "ClientDiscoveryForProperties": {
+ "description": "Class to represent shoebox properties in json client discovery.",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ClientDiscoveryForServiceSpecification",
+ "description": "Operation properties."
+ }
+ },
+ "title": "ClientDiscoveryForProperties",
+ "type": "object"
+ },
+ "ClientDiscoveryForServiceSpecification": {
+ "description": "Class to represent shoebox service specification in json client discovery.",
+ "properties": {
+ "logSpecifications": {
+ "description": "List of log specifications of this operation.",
+ "items": {
+ "$ref": "#/definitions/ClientDiscoveryForLogSpecification"
+ },
+ "x-ms-identifiers": [],
+ "type": "array"
+ }
+ },
+ "title": "ClientDiscoveryForServiceSpecification",
+ "type": "object"
+ },
+ "ClientDiscoveryResponse": {
+ "description": "Operations List response which contains list of available APIs.",
+ "properties": {
+ "nextLink": {
+ "description": "Link to the next chunk of Response.",
+ "type": "string"
+ },
+ "value": {
+ "description": "List of available operations.",
+ "items": {
+ "$ref": "#/definitions/ClientDiscoveryValueForSingleApi"
+ },
+ "x-ms-identifiers": [],
+ "type": "array"
+ }
+ },
+ "title": "ClientDiscoveryResponse",
+ "type": "object"
+ },
+ "ClientDiscoveryValueForSingleApi": {
+ "description": "Available operation details.",
+ "properties": {
+ "display": {
+ "$ref": "#/definitions/ClientDiscoveryDisplay",
+ "description": "Contains the localized display information for this particular operation"
+ },
+ "name": {
+ "description": "Name of the Operation.",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "origin": {
+ "description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/ClientDiscoveryForProperties",
+ "description": "Properties for the given operation."
+ }
+ },
+ "title": "ClientDiscoveryValueForSingleApi",
+ "type": "object"
+ },
+ "FetchSecondaryRPsRequestParameters": {
+ "description": "Information about BI whose secondary RecoveryPoints are requested\r\nSource region and\r\nBI ARM path",
+ "type": "object",
+ "properties": {
+ "sourceRegion": {
+ "description": "Source region in which BackupInstance is located",
+ "type": "string"
+ },
+ "sourceBackupInstanceId": {
+ "description": "ARM Path of BackupInstance",
+ "type": "string"
+ }
+ }
+ },
+ "CloudError": {
+ "description": "An error response from Azure Backup.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "title": "CloudError",
+ "x-ms-external": true
+ },
+ "CmkKeyVaultProperties": {
+ "type": "object",
+ "description": "The properties of the Key Vault which hosts CMK",
+ "properties": {
+ "keyUri": {
+ "description": "The key uri of the Customer Managed Key",
+ "type": "string"
+ }
+ }
+ },
+ "CmkKekIdentity": {
+ "type": "object",
+ "description": "The details of the managed identity used for CMK",
+ "properties": {
+ "identityType": {
+ "type": "string",
+ "description": "The identity type. 'SystemAssigned' and 'UserAssigned' are mutually exclusive. 'SystemAssigned' will use implicitly created managed identity.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": true
+ }
+ },
+ "identityId": {
+ "type": "string",
+ "description": "The managed identity to be used which has access permissions to the Key Vault. Provide a value here in case identity types: 'UserAssigned' only."
+ }
+ }
+ },
+ "CopyOnExpiryOption": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopyOption"
+ }
+ ],
+ "description": "Copy on Expiry Option",
+ "required": [
+ "objectType"
+ ],
+ "title": "CopyOnExpiryOption",
+ "type": "object",
+ "x-ms-discriminator-value": "CopyOnExpiryOption"
+ },
+ "CopyOption": {
+ "description": "Options to copy",
+ "discriminator": "objectType",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectType"
+ ],
+ "title": "CopyOption",
+ "type": "object"
+ },
+ "CrossRegionRestoreSettings": {
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "CrossRegionRestore state",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CrossRegionRestoreState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "CrossSubscriptionRestoreSettings": {
+ "description": "CrossSubscriptionRestore Settings",
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "CrossSubscriptionRestore state",
+ "enum": [
+ "Disabled",
+ "PermanentlyDisabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CrossSubscriptionRestoreState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "CustomCopyOption": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopyOption"
+ }
+ ],
+ "description": "Duration based custom options to copy",
+ "properties": {
+ "duration": {
+ "description": "Data copied after given timespan",
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectType"
+ ],
+ "title": "CustomCopyOption",
+ "type": "object",
+ "x-ms-discriminator-value": "CustomCopyOption"
+ },
+ "Datasource": {
+ "description": "Datasource to be backed up",
+ "properties": {
+ "datasourceType": {
+ "description": "DatasourceType of the resource.",
+ "type": "string"
+ },
+ "objectType": {
+ "description": "Type of Datasource object, used to initialize the right inherited type",
+ "type": "string"
+ },
+ "resourceID": {
+ "description": "Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will be the ID created by backup service via Fabric/Vault.",
+ "type": "string"
+ },
+ "resourceLocation": {
+ "description": "Location of datasource.",
+ "type": "string"
+ },
+ "resourceName": {
+ "description": "Unique identifier of the resource in the context of parent.",
+ "type": "string"
+ },
+ "resourceType": {
+ "description": "Resource Type of Datasource.",
+ "type": "string"
+ },
+ "resourceUri": {
+ "description": "Uri of the resource.",
+ "type": "string"
+ },
+ "resourceProperties": {
+ "$ref": "#/definitions/BaseResourceProperties",
+ "description": "Properties specific to data source"
+ }
+ },
+ "required": [
+ "resourceID"
+ ],
+ "title": "Datasource",
+ "type": "object"
+ },
+ "DatasourceSet": {
+ "description": "DatasourceSet details of datasource to be backed up",
+ "properties": {
+ "datasourceType": {
+ "description": "DatasourceType of the resource.",
+ "type": "string"
+ },
+ "objectType": {
+ "description": "Type of Datasource object, used to initialize the right inherited type",
+ "type": "string"
+ },
+ "resourceID": {
+ "description": "Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will be the ID created by backup service via Fabric/Vault.",
+ "type": "string"
+ },
+ "resourceLocation": {
+ "description": "Location of datasource.",
+ "type": "string"
+ },
+ "resourceName": {
+ "description": "Unique identifier of the resource in the context of parent.",
+ "type": "string"
+ },
+ "resourceType": {
+ "description": "Resource Type of Datasource.",
+ "type": "string"
+ },
+ "resourceUri": {
+ "description": "Uri of the resource.",
+ "type": "string"
+ },
+ "resourceProperties": {
+ "$ref": "#/definitions/BaseResourceProperties",
+ "description": "Properties specific to data source set"
+ }
+ },
+ "required": [
+ "resourceID"
+ ],
+ "title": "DatasourceSet",
+ "type": "object"
+ },
+ "DataStoreInfoBase": {
+ "description": "DataStoreInfo base",
+ "properties": {
+ "dataStoreType": {
+ "description": "type of datastore; Operational/Vault/Archive",
+ "enum": [
+ "OperationalStore",
+ "VaultStore",
+ "ArchiveStore"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "DataStoreTypes"
+ }
+ },
+ "objectType": {
+ "description": "Type of Datasource object, used to initialize the right inherited type",
+ "readOnly": false,
+ "type": "string"
+ }
+ },
+ "required": [
+ "dataStoreType",
+ "objectType"
+ ],
+ "title": "DataStoreInfoBase",
+ "type": "object"
+ },
+ "DataStoreParameters": {
+ "description": "Parameters for DataStore",
+ "required": [
+ "objectType",
+ "dataStoreType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string",
+ "readOnly": false
+ },
+ "dataStoreType": {
+ "description": "type of datastore; Operational/Vault/Archive",
+ "enum": [
+ "OperationalStore",
+ "VaultStore",
+ "ArchiveStore"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataStoreTypes",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "BackupDatasourceParameters": {
+ "description": "Parameters for Backup Datasource",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string",
+ "readOnly": false
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "Day": {
+ "description": "Day of the week",
+ "properties": {
+ "date": {
+ "description": "Date of the month",
+ "format": "int32",
+ "type": "integer"
+ },
+ "isLast": {
+ "description": "Whether Date is last date of month",
+ "type": "boolean"
+ }
+ },
+ "title": "Day",
+ "type": "object"
+ },
+ "DeletedBackupInstance": {
+ "description": "Deleted Backup Instance",
+ "required": [
+ "dataSourceInfo",
+ "policyInfo"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupInstance"
+ }
+ ],
+ "properties": {
+ "deletionInfo": {
+ "$ref": "#/definitions/DeletionInfo",
+ "description": "Deletion info of Backup Instance",
+ "readOnly": true
+ }
+ }
+ },
+ "DefaultResourceProperties": {
+ "description": "Default source properties",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BaseResourceProperties"
+ }
+ ],
+ "x-ms-discriminator-value": "DefaultResourceProperties"
+ },
+ "DeletedBackupInstanceResource": {
+ "description": "Deleted Backup Instance",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DeletedBackupInstance",
+ "description": "DeletedBackupInstanceResource properties"
+ }
+ }
+ },
+ "DeletedBackupInstanceResourceList": {
+ "description": "List of DeletedBackupInstance resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeletedBackupInstanceResource"
+ }
+ }
+ }
+ },
+ "DeletionInfo": {
+ "description": "Deletion Info",
+ "type": "object",
+ "properties": {
+ "deletionTime": {
+ "description": "Specifies time of deletion",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingEndDate": {
+ "description": "Specifies billing end date",
+ "type": "string",
+ "readOnly": true
+ },
+ "scheduledPurgeTime": {
+ "description": "Specifies purge time",
+ "type": "string",
+ "readOnly": true
+ },
+ "deleteActivityID": {
+ "description": "Delete activity ID for troubleshooting purpose",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DeleteOption": {
+ "description": "Delete Option",
+ "discriminator": "objectType",
+ "properties": {
+ "duration": {
+ "description": "Duration of deletion after given timespan",
+ "type": "string"
+ },
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string"
+ }
+ },
+ "required": [
+ "duration",
+ "objectType"
+ ],
+ "title": "DeleteOption",
+ "type": "object"
+ },
+ "DppIdentityDetails": {
+ "description": "Identity details",
+ "properties": {
+ "principalId": {
+ "description": "The object ID of the service principal object for the managed identity that is used to grant role-based access to an Azure resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "tenantId": {
+ "description": "A Globally Unique Identifier (GUID) that represents the Azure AD tenant where the resource is now a member.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "type": {
+ "description": "The identityType which can be either SystemAssigned, UserAssigned, 'SystemAssigned,UserAssigned' or None",
+ "type": "string"
+ },
+ "userAssignedIdentities": {
+ "description": "Gets or sets the user assigned identities.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/UserAssignedIdentity"
+ }
+ }
+ },
+ "title": "DppIdentityDetails",
+ "type": "object"
+ },
+ "DppBaseResourceList": {
+ "description": "Base for all lists of V2 resources.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of Dpp resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DppBaseResource"
+ }
+ },
+ "nextLink": {
+ "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.",
+ "type": "string"
+ }
+ }
+ },
+ "DppBaseResource": {
+ "type": "object",
+ "description": "Base resource under Microsoft.DataProtection provider namespace",
+ "properties": {
+ "id": {
+ "description": "Resource Id represents the complete path to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Resource name associated with the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DppResource": {
+ "description": "Resource class",
+ "properties": {
+ "id": {
+ "description": "Resource Id represents the complete path to the resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "name": {
+ "description": "Resource name associated with the resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "type": {
+ "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...",
+ "readOnly": true,
+ "type": "string"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/systemData"
+ }
+ },
+ "title": "DppResource",
+ "type": "object",
+ "x-ms-azure-resource": true
+ },
+ "DppResourceList": {
+ "description": "ListResource",
+ "properties": {
+ "nextLink": {
+ "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.",
+ "type": "string"
+ }
+ },
+ "title": "List Resource",
+ "type": "object"
+ },
+ "DppBaseTrackedResource": {
+ "properties": {
+ "eTag": {
+ "description": "Optional ETag.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Resource Id represents the complete path to the resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "location": {
+ "description": "Resource location.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Resource name associated with the resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags.",
+ "type": "object"
+ },
+ "type": {
+ "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...",
+ "readOnly": true,
+ "type": "string"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/systemData"
+ }
+ },
+ "type": "object",
+ "x-ms-azure-resource": true
+ },
+ "DppTrackedResource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppBaseTrackedResource"
+ }
+ ],
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/DppIdentityDetails",
+ "description": "Input Managed Identity Details"
+ }
+ },
+ "type": "object",
+ "x-ms-azure-resource": true
+ },
+ "ImmutabilitySettings": {
+ "description": "Immutability Settings at vault level",
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "Immutability state",
+ "enum": [
+ "Disabled",
+ "Unlocked",
+ "Locked"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ImmutabilityState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "DppProxyResource": {
+ "properties": {
+ "id": {
+ "description": "Proxy Resource Id represents the complete path to the resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "name": {
+ "description": "Proxy Resource name associated with the resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "type": {
+ "description": "Proxy Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...",
+ "readOnly": true,
+ "type": "string"
+ },
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Proxy Resource tags.",
+ "type": "object"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/systemData"
+ }
+ },
+ "type": "object",
+ "x-ms-azure-resource": true
+ },
+ "DppTrackedResourceList": {
+ "properties": {
+ "nextLink": {
+ "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DppWorkerRequest": {
+ "type": "object",
+ "properties": {
+ "subscriptionId": {
+ "type": "string"
+ },
+ "uri": {
+ "type": "string"
+ },
+ "headers": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "supportedGroupVersions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "cultureInfo": {
+ "type": "string"
+ },
+ "parameters": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "httpMethod": {
+ "type": "string"
+ }
+ }
+ },
+ "encryptionSettings": {
+ "description": "Customer Managed Key details of the resource.",
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "Encryption state of the Backup Vault.",
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled",
+ "Inconsistent"
+ ],
+ "x-ms-enum": {
+ "name": "EncryptionState",
+ "modelAsString": true,
+ "values": [
+ {
+ "description": "CMK encryption is enabled on the Backup Vault",
+ "value": "Enabled"
+ },
+ {
+ "description": "CMK encryption is disabled on the Backup Vault. User can not set this state once Encryption State is 'Enabled'.",
+ "value": "Disabled"
+ },
+ {
+ "description": "CMK encryption is in inconsistent state on the Backup Vault. This state indicates that user needs to retry the encryption settings operation immediately to correct the state.",
+ "value": "Inconsistent"
+ }
+ ]
+ }
+ },
+ "keyVaultProperties": {
+ "$ref": "#/definitions/CmkKeyVaultProperties"
+ },
+ "kekIdentity": {
+ "$ref": "#/definitions/CmkKekIdentity"
+ },
+ "infrastructureEncryption": {
+ "description": "Enabling/Disabling the Double Encryption state",
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "InfrastructureEncryptionState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Error": {
+ "description": "The resource management error response.",
+ "properties": {
+ "additionalInfo": {
+ "description": "The error additional info.",
+ "items": {
+ "$ref": "#/definitions/ErrorAdditionalInfo"
+ },
+ "x-ms-identifiers": [],
+ "readOnly": true,
+ "type": "array"
+ },
+ "code": {
+ "description": "The error code.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "details": {
+ "description": "The error details.",
+ "items": {
+ "$ref": "#/definitions/Error"
+ },
+ "x-ms-identifiers": [],
+ "readOnly": true,
+ "type": "array"
+ },
+ "message": {
+ "description": "The error message.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "target": {
+ "description": "The error target.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "ErrorAdditionalInfo": {
+ "description": "The resource management error additional info.",
+ "properties": {
+ "info": {
+ "description": "The additional info.",
+ "readOnly": true,
+ "type": "object"
+ },
+ "type": {
+ "description": "The additional info type.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "ExportJobsResult": {
+ "description": "The result for export jobs containing blob details.",
+ "properties": {
+ "blobUrl": {
+ "description": "URL of the blob into which the serialized string of list of jobs is exported.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "blobSasKey": {
+ "description": "SAS key to access the blob.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "excelFileBlobUrl": {
+ "description": "URL of the blob into which the ExcelFile is uploaded.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "excelFileBlobSasKey": {
+ "description": "SAS key to access the ExcelFile blob.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "title": "ExportJobsResult",
+ "type": "object"
+ },
+ "FeatureSettings": {
+ "description": "Class containing feature settings of vault",
+ "type": "object",
+ "properties": {
+ "crossSubscriptionRestoreSettings": {
+ "$ref": "#/definitions/CrossSubscriptionRestoreSettings"
+ },
+ "crossRegionRestoreSettings": {
+ "$ref": "#/definitions/CrossRegionRestoreSettings"
+ }
+ }
+ },
+ "FeatureValidationRequest": {
+ "description": "Base class for feature object",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FeatureValidationRequestBase"
+ }
+ ],
+ "properties": {
+ "featureType": {
+ "description": "backup support feature type.",
+ "enum": [
+ "Invalid",
+ "DataSourceType"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "FeatureType",
+ "modelAsString": true
+ }
+ },
+ "featureName": {
+ "description": "backup support feature name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "FeatureValidationRequest"
+ },
+ "FeatureValidationRequestBase": {
+ "description": "Base class for Backup Feature support",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string",
+ "readOnly": false
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "FeatureValidationResponse": {
+ "description": "Feature Validation Response",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FeatureValidationResponseBase"
+ }
+ ],
+ "properties": {
+ "featureType": {
+ "description": "backup support feature type.",
+ "enum": [
+ "Invalid",
+ "DataSourceType"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "FeatureType",
+ "modelAsString": true
+ }
+ },
+ "features": {
+ "description": "Response features",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SupportedFeature"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "x-ms-discriminator-value": "FeatureValidationResponse"
+ },
+ "FeatureValidationResponseBase": {
+ "description": "Base class for Backup Feature support",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string",
+ "readOnly": false
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "ImmediateCopyOption": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopyOption"
+ }
+ ],
+ "description": "Immediate copy Option",
+ "required": [
+ "objectType"
+ ],
+ "title": "ImmediateCopyOption",
+ "type": "object",
+ "x-ms-discriminator-value": "ImmediateCopyOption"
+ },
+ "InnerError": {
+ "description": "Inner Error",
+ "properties": {
+ "additionalInfo": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Any Key value pairs that can be provided to the client for additional verbose information.",
+ "type": "object"
+ },
+ "code": {
+ "description": "Unique code for this error",
+ "type": "string"
+ },
+ "embeddedInnerError": {
+ "$ref": "#/definitions/InnerError",
+ "description": "Child Inner Error, to allow Nesting."
+ }
+ },
+ "title": "InnerError",
+ "type": "object"
+ },
+ "ItemLevelRestoreCriteria": {
+ "description": "Class to contain criteria for item level restore",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "ItemLevelRestoreTargetInfo": {
+ "description": "Restore target info for Item level restore operation",
+ "required": [
+ "restoreCriteria",
+ "datasourceInfo",
+ "recoveryOption"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestoreTargetInfoBase"
+ }
+ ],
+ "properties": {
+ "restoreCriteria": {
+ "description": "Restore Criteria",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ItemLevelRestoreCriteria"
+ },
+ "x-ms-identifiers": []
+ },
+ "datasourceInfo": {
+ "$ref": "#/definitions/Datasource",
+ "description": "Information of target DS"
+ },
+ "datasourceSetInfo": {
+ "$ref": "#/definitions/DatasourceSet",
+ "description": "Information of target DS Set"
+ },
+ "datasourceAuthCredentials": {
+ "$ref": "#/definitions/AuthCredentials",
+ "description": "Credentials to use to authenticate with data source provider."
+ }
+ },
+ "x-ms-discriminator-value": "ItemLevelRestoreTargetInfo"
+ },
+ "ItemPathBasedRestoreCriteria": {
+ "description": "Prefix criteria to be used to during restore",
+ "required": [
+ "itemPath",
+ "isPathRelativeToBackupItem",
+ "objectType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ItemLevelRestoreCriteria"
+ }
+ ],
+ "properties": {
+ "itemPath": {
+ "description": "The path of the item to be restored. It could be the full path of the item or the path relative to the backup item",
+ "type": "string"
+ },
+ "isPathRelativeToBackupItem": {
+ "description": "Flag to specify if the path is relative to backup item or full path",
+ "type": "boolean"
+ },
+ "subItemPathPrefix": {
+ "description": "The list of prefix strings to be used as filter criteria during restore. These are relative to the item path specified.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ItemPathBasedRestoreCriteria"
+ },
+ "JobExtendedInfo": {
+ "description": "Extended Information about the job",
+ "properties": {
+ "additionalDetails": {
+ "additionalProperties": {
+ "readOnly": true,
+ "type": "string"
+ },
+ "description": "Job's Additional Details"
+ },
+ "backupInstanceState": {
+ "description": "State of the Backup Instance",
+ "readOnly": true,
+ "type": "string"
+ },
+ "dataTransferredInBytes": {
+ "description": "Number of bytes transferred",
+ "format": "double",
+ "readOnly": true,
+ "type": "number"
+ },
+ "recoveryDestination": {
+ "description": "Destination where restore is done",
+ "readOnly": true,
+ "type": "string"
+ },
+ "sourceRecoverPoint": {
+ "$ref": "#/definitions/RestoreJobRecoveryPointDetails",
+ "description": "Details of the Source Recovery Point",
+ "readOnly": true
+ },
+ "subTasks": {
+ "description": "List of Sub Tasks of the job",
+ "items": {
+ "$ref": "#/definitions/JobSubTask"
+ },
+ "x-ms-identifiers": [],
+ "readOnly": true,
+ "type": "array"
+ },
+ "targetRecoverPoint": {
+ "$ref": "#/definitions/RestoreJobRecoveryPointDetails",
+ "description": "Details of the Target Recovery Point",
+ "readOnly": true
+ },
+ "warningDetails": {
+ "description": "A List, detailing the warnings related to the job",
+ "items": {
+ "$ref": "#/definitions/UserFacingWarningDetail"
+ },
+ "x-ms-identifiers": [],
+ "readOnly": true,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "JobSubTask": {
+ "description": "Details of Job's Sub Task",
+ "properties": {
+ "additionalDetails": {
+ "additionalProperties": {
+ "readOnly": true,
+ "type": "string"
+ },
+ "description": "Additional details of Sub Tasks"
+ },
+ "taskId": {
+ "description": "Task Id of the Sub Task",
+ "format": "int32",
+ "type": "integer"
+ },
+ "taskName": {
+ "description": "Name of the Sub Task",
+ "type": "string"
+ },
+ "taskProgress": {
+ "description": "Progress of the Sub Task",
+ "readOnly": true,
+ "type": "string"
+ },
+ "taskStatus": {
+ "description": "Status of the Sub Task",
+ "type": "string"
+ }
+ },
+ "required": [
+ "taskId",
+ "taskName",
+ "taskStatus"
+ ],
+ "type": "object"
+ },
+ "MonitoringSettings": {
+ "type": "object",
+ "description": "Monitoring Settings",
+ "properties": {
+ "azureMonitorAlertSettings": {
+ "$ref": "#/definitions/AzureMonitorAlertSettings"
+ }
+ }
+ },
+ "OperationExtendedInfo": {
+ "description": "Operation Extended Info",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "title": "OperationExtendedInfo",
+ "discriminator": "objectType",
+ "type": "object",
+ "required": [
+ "objectType"
+ ]
+ },
+ "CrossRegionRestoreDetails": {
+ "description": "Cross Region Restore details",
+ "required": [
+ "sourceRegion",
+ "sourceBackupInstanceId"
+ ],
+ "type": "object",
+ "properties": {
+ "sourceRegion": {
+ "type": "string"
+ },
+ "sourceBackupInstanceId": {
+ "type": "string"
+ }
+ }
+ },
+ "ValidateCrossRegionRestoreRequestObject": {
+ "description": "Cross Region Restore Request Object",
+ "required": [
+ "restoreRequestObject",
+ "crossRegionRestoreDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "restoreRequestObject": {
+ "$ref": "#/definitions/AzureBackupRestoreRequest",
+ "description": "Gets or sets the restore request object."
+ },
+ "crossRegionRestoreDetails": {
+ "$ref": "#/definitions/CrossRegionRestoreDetails",
+ "description": "Cross region restore details."
+ }
+ }
+ },
+ "CrossRegionRestoreRequestObject": {
+ "description": "Cross Region Restore Request Object",
+ "required": [
+ "restoreRequestObject",
+ "crossRegionRestoreDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "restoreRequestObject": {
+ "$ref": "#/definitions/AzureBackupRestoreRequest",
+ "description": "Gets or sets the restore request object."
+ },
+ "crossRegionRestoreDetails": {
+ "$ref": "#/definitions/CrossRegionRestoreDetails",
+ "description": "Cross region restore details."
+ }
+ }
+ },
+ "OperationJobExtendedInfo": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationExtendedInfo"
+ }
+ ],
+ "description": "Operation Job Extended Info",
+ "properties": {
+ "jobId": {
+ "description": "Arm Id of the job created for this operation.",
+ "type": "string"
+ }
+ },
+ "title": "OperationJobExtendedInfo",
+ "type": "object",
+ "x-ms-discriminator-value": "OperationJobExtendedInfo"
+ },
+ "OperationResource": {
+ "description": "Operation Resource",
+ "properties": {
+ "endTime": {
+ "description": "End time of the operation",
+ "format": "date-time",
+ "type": "string"
+ },
+ "error": {
+ "$ref": "#/definitions/Error",
+ "description": "Required if status == failed or status == canceled. This is the OData v4 error format, used by the RPC and will go into the v2.2 Azure REST API guidelines.\r\nThe full set of optional properties (e.g. inner errors / details) can be found in the \"Error Response\" section."
+ },
+ "id": {
+ "description": "It should match what is used to GET the operation result",
+ "type": "string"
+ },
+ "name": {
+ "description": "It must match the last segment of the \"id\" field, and will typically be a GUID / system generated value",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationExtendedInfo",
+ "description": "End time of the operation"
+ },
+ "startTime": {
+ "description": "Start time of the operation",
+ "format": "date-time",
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ }
+ },
+ "title": "OperationResource",
+ "type": "object"
+ },
+ "PatchBackupVaultInput": {
+ "description": "Backup Vault Contract for Patch Backup Vault API.",
+ "type": "object",
+ "properties": {
+ "monitoringSettings": {
+ "$ref": "#/definitions/MonitoringSettings",
+ "description": "Monitoring Settings"
+ },
+ "securitySettings": {
+ "$ref": "#/definitions/SecuritySettings",
+ "description": "Security Settings"
+ },
+ "featureSettings": {
+ "$ref": "#/definitions/FeatureSettings",
+ "description": "Feature Settings"
+ }
+ }
+ },
+ "PatchResourceRequestInput": {
+ "description": "Patch Request content for Microsoft.DataProtection resources",
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/DppIdentityDetails",
+ "description": "Input Managed Identity Details"
+ },
+ "properties": {
+ "$ref": "#/definitions/PatchBackupVaultInput",
+ "description": "Resource properties."
+ },
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags.",
+ "type": "object"
+ }
+ },
+ "title": "PatchResourceRequestInput",
+ "type": "object"
+ },
+ "PatchResourceGuardInput": {
+ "description": "Patch Request content for Microsoft.DataProtection Resource Guard resources",
+ "properties": {
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource Guard tags.",
+ "type": "object"
+ }
+ },
+ "title": "PatchResourceGuardInput",
+ "type": "object"
+ },
+ "PolicyInfo": {
+ "description": "Policy Info in backupInstance",
+ "properties": {
+ "policyId": {
+ "type": "string"
+ },
+ "policyVersion": {
+ "readOnly": true,
+ "type": "string"
+ },
+ "policyParameters": {
+ "$ref": "#/definitions/PolicyParameters",
+ "description": "Policy parameters for the backup instance"
+ }
+ },
+ "required": [
+ "policyId"
+ ],
+ "title": "PolicyInfo",
+ "type": "object"
+ },
+ "PolicyParameters": {
+ "description": "Parameters in Policy",
+ "type": "object",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ],
+ "properties": {
+ "dataStoreParametersList": {
+ "description": "Gets or sets the DataStore Parameters",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataStoreParameters"
+ },
+ "x-ms-identifiers": []
+ },
+ "backupDatasourceParametersList": {
+ "description": "Gets or sets the Backup Data Source Parameters",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BackupDatasourceParameters"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "ProtectionStatusDetails": {
+ "description": "Protection status details",
+ "properties": {
+ "errorDetails": {
+ "$ref": "#/definitions/UserFacingError",
+ "description": "Specifies the protection status error of the resource"
+ },
+ "status": {
+ "description": "Specifies the protection status of the resource",
+ "enum": [
+ "ConfiguringProtection",
+ "ConfiguringProtectionFailed",
+ "ProtectionConfigured",
+ "ProtectionStopped",
+ "SoftDeleted",
+ "SoftDeleting"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "Status"
+ }
+ }
+ },
+ "title": "ProtectionStatusDetails",
+ "type": "object"
+ },
+ "RangeBasedItemLevelRestoreCriteria": {
+ "description": "Item Level target info for restore operation",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ItemLevelRestoreCriteria"
+ }
+ ],
+ "properties": {
+ "minMatchingValue": {
+ "description": "minimum value for range prefix match",
+ "type": "string"
+ },
+ "maxMatchingValue": {
+ "description": "maximum value for range prefix match",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "RangeBasedItemLevelRestoreCriteria"
+ },
+ "KubernetesStorageClassRestoreCriteria": {
+ "description": "Item Level kubernetes storage class target info for restore operation",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ItemLevelRestoreCriteria"
+ }
+ ],
+ "properties": {
+ "selectedStorageClassName": {
+ "description": "Selected storage class name",
+ "type": "string"
+ },
+ "provisioner": {
+ "description": "Provisioner of the storage class",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "KubernetesStorageClassRestoreCriteria"
+ },
+ "NamespacedNameResource": {
+ "description": "Class to refer resources which contains namespace and name",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the resource",
+ "type": "string"
+ },
+ "namespace": {
+ "description": "Namespace in which the resource exists",
+ "type": "string"
+ }
+ },
+ "title": "NamespacedNameResource"
+ },
+ "KubernetesPVRestoreCriteria": {
+ "description": "Item Level kubernetes persistent volume target info for restore operation",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ItemLevelRestoreCriteria"
+ }
+ ],
+ "properties": {
+ "name": {
+ "description": "Selected persistent volume claim name",
+ "type": "string"
+ },
+ "storageClassName": {
+ "description": "Selected storage class name for restore operation",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "KubernetesPVRestoreCriteria"
+ },
+ "KubernetesClusterRestoreCriteria": {
+ "description": "kubernetes Cluster Backup target info for restore operation",
+ "required": [
+ "includeClusterScopeResources"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ItemLevelRestoreCriteria"
+ }
+ ],
+ "properties": {
+ "includeClusterScopeResources": {
+ "description": "Gets or sets the include cluster resources property. This property if enabled will include cluster scope resources during restore.",
+ "type": "boolean"
+ },
+ "includedNamespaces": {
+ "description": "Gets or sets the include namespaces property. This property sets the namespaces to be included during restore.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "excludedNamespaces": {
+ "description": "Gets or sets the exclude namespaces property. This property sets the namespaces to be excluded during restore.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "includedResourceTypes": {
+ "description": "Gets or sets the include resource types property. This property sets the resource types to be included during restore.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "excludedResourceTypes": {
+ "description": "Gets or sets the exclude resource types property. This property sets the resource types to be excluded during restore.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "labelSelectors": {
+ "description": "Gets or sets the LabelSelectors property. This property sets the resource with such label selectors to be included during restore.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "persistentVolumeRestoreMode": {
+ "description": "Gets or sets the PV (Persistent Volume) Restore Mode property. This property sets whether volumes needs to be restored.",
+ "enum": [
+ "RestoreWithVolumeData",
+ "RestoreWithoutVolumeData"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PersistentVolumeRestoreMode",
+ "modelAsString": true
+ }
+ },
+ "conflictPolicy": {
+ "description": "Gets or sets the Conflict Policy property. This property sets policy during conflict of resources during restore.",
+ "enum": [
+ "Skip",
+ "Patch"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ExistingResourcePolicy",
+ "modelAsString": true
+ }
+ },
+ "namespaceMappings": {
+ "description": "Gets or sets the Namespace Mappings property. This property sets if namespace needs to be change during restore.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "restoreHookReferences": {
+ "description": "Gets or sets the restore hook references. This property sets the hook reference to be executed during restore.",
+ "items": {
+ "$ref": "#/definitions/NamespacedNameResource"
+ },
+ "x-ms-identifiers": [],
+ "type": "array"
+ }
+ },
+ "x-ms-discriminator-value": "KubernetesClusterRestoreCriteria"
+ },
+ "KubernetesClusterVaultTierRestoreCriteria": {
+ "description": "kubernetes Cluster Backup target info for restore operation from vault",
+ "required": [
+ "includeClusterScopeResources"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ItemLevelRestoreCriteria"
+ }
+ ],
+ "properties": {
+ "includeClusterScopeResources": {
+ "description": "Gets or sets the include cluster resources property. This property if enabled will include cluster scope resources during restore from vault.",
+ "type": "boolean"
+ },
+ "includedNamespaces": {
+ "description": "Gets or sets the include namespaces property. This property sets the namespaces to be included during restore from vault.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "excludedNamespaces": {
+ "description": "Gets or sets the exclude namespaces property. This property sets the namespaces to be excluded during restore from vault.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "includedResourceTypes": {
+ "description": "Gets or sets the include resource types property. This property sets the resource types to be included during restore from vault.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "excludedResourceTypes": {
+ "description": "Gets or sets the exclude resource types property. This property sets the resource types to be excluded during restore from vault.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "labelSelectors": {
+ "description": "Gets or sets the LabelSelectors property. This property sets the resource with such label selectors to be included during restore from vault.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "persistentVolumeRestoreMode": {
+ "description": "Gets or sets the PV (Persistent Volume) Restore Mode property. This property sets whether volumes needs to be restored from vault.",
+ "enum": [
+ "RestoreWithVolumeData",
+ "RestoreWithoutVolumeData"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PersistentVolumeRestoreMode",
+ "modelAsString": true
+ }
+ },
+ "conflictPolicy": {
+ "description": "Gets or sets the Conflict Policy property. This property sets policy during conflict of resources during restore from vault.",
+ "enum": [
+ "Skip",
+ "Patch"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ExistingResourcePolicy",
+ "modelAsString": true
+ }
+ },
+ "namespaceMappings": {
+ "description": "Gets or sets the Namespace Mappings property. This property sets if namespace needs to be change during restore from vault.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "restoreHookReferences": {
+ "description": "Gets or sets the restore hook references. This property sets the hook reference to be executed during restore from vault.",
+ "items": {
+ "$ref": "#/definitions/NamespacedNameResource"
+ },
+ "x-ms-identifiers": [],
+ "type": "array"
+ },
+ "stagingResourceGroupId": {
+ "description": "Gets or sets the staging RG Id for creating staging disks and snapshots during restore from vault.",
+ "type": "string"
+ },
+ "stagingStorageAccountId": {
+ "description": "Gets or sets the staging Storage Account Id for creating backup extension object store data during restore from vault.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "KubernetesClusterVaultTierRestoreCriteria"
+ },
+ "RecoveryPointDataStoreDetails": {
+ "description": "RecoveryPoint datastore details",
+ "properties": {
+ "creationTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "expiryTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "metaData": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "visible": {
+ "type": "boolean"
+ },
+ "rehydrationExpiryTime": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "rehydrationStatus": {
+ "readOnly": true,
+ "enum": [
+ "CREATE_IN_PROGRESS",
+ "COMPLETED",
+ "DELETE_IN_PROGRESS",
+ "DELETED",
+ "FAILED"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "RehydrationStatus"
+ }
+ }
+ },
+ "title": "RecoveryPointDataStoreDetails",
+ "type": "object"
+ },
+ "RehydrationPriority": {
+ "description": "Priority to be used for rehydration. Values High or Standard",
+ "enum": [
+ "Invalid",
+ "High",
+ "Standard"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "RehydrationPriority"
+ }
+ },
+ "RestoreFilesTargetInfo": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestoreTargetInfoBase"
+ }
+ ],
+ "description": "Class encapsulating restore as files target parameters",
+ "properties": {
+ "targetDetails": {
+ "$ref": "#/definitions/TargetDetails",
+ "description": "Destination of RestoreAsFiles operation, when destination is not a datasource"
+ }
+ },
+ "required": [
+ "recoveryOption",
+ "targetDetails"
+ ],
+ "type": "object",
+ "x-ms-discriminator-value": "RestoreFilesTargetInfo"
+ },
+ "RestoreJobRecoveryPointDetails": {
+ "properties": {
+ "recoveryPointID": {
+ "type": "string"
+ },
+ "recoveryPointTime": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RestoreTargetInfo": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestoreTargetInfoBase"
+ }
+ ],
+ "description": "Class encapsulating restore target parameters",
+ "properties": {
+ "datasourceInfo": {
+ "$ref": "#/definitions/Datasource",
+ "description": "Information of target DS"
+ },
+ "datasourceSetInfo": {
+ "$ref": "#/definitions/DatasourceSet",
+ "description": "Information of target DS Set"
+ },
+ "datasourceAuthCredentials": {
+ "$ref": "#/definitions/AuthCredentials",
+ "description": "Credentials to use to authenticate with data source provider."
+ }
+ },
+ "required": [
+ "datasourceInfo",
+ "recoveryOption"
+ ],
+ "type": "object",
+ "x-ms-discriminator-value": "RestoreTargetInfo"
+ },
+ "RestoreTargetInfoBase": {
+ "description": "Base class common to RestoreTargetInfo and RestoreFilesTargetInfo",
+ "discriminator": "objectType",
+ "properties": {
+ "objectType": {
+ "description": "Type of Datasource object, used to initialize the right inherited type",
+ "type": "string"
+ },
+ "recoveryOption": {
+ "description": "Recovery Option",
+ "enum": [
+ "FailIfExists"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "RecoveryOption"
+ }
+ },
+ "restoreLocation": {
+ "description": "Target Restore region",
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectType",
+ "recoveryOption"
+ ],
+ "type": "object"
+ },
+ "ResourceMoveDetails": {
+ "description": "ResourceMoveDetails will be returned in response to GetResource call from ARM",
+ "type": "object",
+ "properties": {
+ "operationId": {
+ "description": "CorrelationId of latest ResourceMove operation attempted",
+ "type": "string"
+ },
+ "startTimeUtc": {
+ "description": "Start time in UTC of latest ResourceMove operation attempted. ISO 8601 format.",
+ "type": "string"
+ },
+ "completionTimeUtc": {
+ "description": "Completion time in UTC of latest ResourceMove operation attempted. ISO 8601 format.",
+ "type": "string"
+ },
+ "sourceResourcePath": {
+ "description": "ARM resource path of source resource",
+ "type": "string"
+ },
+ "targetResourcePath": {
+ "description": "ARM resource path of target resource used in latest ResourceMove operation",
+ "type": "string"
+ }
+ }
+ },
+ "RestorableTimeRange": {
+ "required": [
+ "startTime",
+ "endTime"
+ ],
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "description": "Start time for the available restore range",
+ "type": "string"
+ },
+ "endTime": {
+ "description": "End time for the available restore range",
+ "type": "string"
+ },
+ "objectType": {
+ "type": "string"
+ }
+ }
+ },
+ "RetentionTag": {
+ "description": "Retention tag",
+ "properties": {
+ "eTag": {
+ "description": "Retention Tag version.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "id": {
+ "description": "Retention Tag version.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "tagName": {
+ "description": "Retention Tag Name to relate it to retention rule.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "tagName"
+ ],
+ "title": "RetentionTag",
+ "type": "object"
+ },
+ "ScheduleBasedBackupCriteria": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupCriteria"
+ }
+ ],
+ "description": "Schedule based backup criteria",
+ "properties": {
+ "absoluteCriteria": {
+ "description": "it contains absolute values like \"AllBackup\" / \"FirstOfDay\" / \"FirstOfWeek\" / \"FirstOfMonth\"\r\nand should be part of AbsoluteMarker enum",
+ "items": {
+ "enum": [
+ "AllBackup",
+ "FirstOfDay",
+ "FirstOfMonth",
+ "FirstOfWeek",
+ "FirstOfYear"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "AbsoluteMarker"
+ }
+ },
+ "type": "array"
+ },
+ "daysOfMonth": {
+ "description": "This is day of the month from 1 to 28 other wise last of month",
+ "items": {
+ "$ref": "#/definitions/Day"
+ },
+ "x-ms-identifiers": [],
+ "type": "array"
+ },
+ "daysOfTheWeek": {
+ "description": "It should be Sunday/Monday/T..../Saturday",
+ "items": {
+ "enum": [
+ "Friday",
+ "Monday",
+ "Saturday",
+ "Sunday",
+ "Thursday",
+ "Tuesday",
+ "Wednesday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "DayOfWeek"
+ }
+ },
+ "type": "array"
+ },
+ "monthsOfYear": {
+ "description": "It should be January/February/....../December",
+ "items": {
+ "enum": [
+ "April",
+ "August",
+ "December",
+ "February",
+ "January",
+ "July",
+ "June",
+ "March",
+ "May",
+ "November",
+ "October",
+ "September"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "Month"
+ }
+ },
+ "type": "array"
+ },
+ "scheduleTimes": {
+ "description": "List of schedule times for backup",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "weeksOfTheMonth": {
+ "description": "It should be First/Second/Third/Fourth/Last",
+ "items": {
+ "enum": [
+ "First",
+ "Fourth",
+ "Last",
+ "Second",
+ "Third"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "WeekNumber"
+ }
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "objectType"
+ ],
+ "title": "ScheduleBasedBackupCriteria",
+ "type": "object",
+ "x-ms-discriminator-value": "ScheduleBasedBackupCriteria"
+ },
+ "ScheduleBasedTriggerContext": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/TriggerContext"
+ }
+ ],
+ "description": "Schedule based trigger context",
+ "properties": {
+ "schedule": {
+ "$ref": "#/definitions/BackupSchedule",
+ "description": "Schedule for this backup"
+ },
+ "taggingCriteria": {
+ "description": "List of tags that can be applicable for given schedule.",
+ "items": {
+ "$ref": "#/definitions/TaggingCriteria"
+ },
+ "x-ms-identifiers": [],
+ "type": "array"
+ }
+ },
+ "required": [
+ "objectType",
+ "schedule",
+ "taggingCriteria"
+ ],
+ "title": "ScheduleBasedTriggerContext",
+ "type": "object",
+ "x-ms-discriminator-value": "ScheduleBasedTriggerContext"
+ },
+ "SecretStoreBasedAuthCredentials": {
+ "description": "Secret store based authentication credentials.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AuthCredentials"
+ }
+ ],
+ "properties": {
+ "secretStoreResource": {
+ "$ref": "#/definitions/SecretStoreResource",
+ "description": "Secret store resource"
+ }
+ },
+ "x-ms-discriminator-value": "SecretStoreBasedAuthCredentials"
+ },
+ "SecretStoreResource": {
+ "description": "Class representing a secret store resource.",
+ "required": [
+ "secretStoreType"
+ ],
+ "type": "object",
+ "properties": {
+ "uri": {
+ "description": "Uri to get to the resource",
+ "type": "string"
+ },
+ "secretStoreType": {
+ "description": "Gets or sets the type of secret store",
+ "enum": [
+ "Invalid",
+ "AzureKeyVault"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SecretStoreType",
+ "modelAsString": true
+ }
+ },
+ "value": {
+ "description": "Gets or sets value stored in secret store resource",
+ "type": "string"
+ }
+ }
+ },
+ "SecuritySettings": {
+ "description": "Class containing security settings of vault",
+ "type": "object",
+ "properties": {
+ "softDeleteSettings": {
+ "$ref": "#/definitions/SoftDeleteSettings"
+ },
+ "immutabilitySettings": {
+ "$ref": "#/definitions/ImmutabilitySettings"
+ },
+ "encryptionSettings": {
+ "$ref": "#/definitions/encryptionSettings"
+ }
+ }
+ },
+ "SoftDeleteSettings": {
+ "description": "Soft delete related settings",
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "State of soft delete",
+ "enum": [
+ "Off",
+ "On",
+ "AlwaysOn"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SoftDeleteState",
+ "modelAsString": true,
+ "values": [
+ {
+ "description": "Soft Delete is turned off for the BackupVault",
+ "value": "Off"
+ },
+ {
+ "description": "Soft Delete is enabled for the BackupVault but can be turned off",
+ "value": "On"
+ },
+ {
+ "description": "Soft Delete is permanently enabled for the BackupVault and the setting cannot be changed",
+ "value": "AlwaysOn"
+ }
+ ]
+ }
+ },
+ "retentionDurationInDays": {
+ "description": "Soft delete retention duration",
+ "format": "double",
+ "type": "number"
+ }
+ }
+ },
+ "SourceLifeCycle": {
+ "description": "Source LifeCycle",
+ "properties": {
+ "deleteAfter": {
+ "$ref": "#/definitions/DeleteOption"
+ },
+ "sourceDataStore": {
+ "$ref": "#/definitions/DataStoreInfoBase"
+ },
+ "targetDataStoreCopySettings": {
+ "items": {
+ "$ref": "#/definitions/TargetCopySetting"
+ },
+ "x-ms-identifiers": [],
+ "type": "array"
+ }
+ },
+ "required": [
+ "deleteAfter",
+ "sourceDataStore"
+ ],
+ "title": "SourceLifeCycle",
+ "type": "object"
+ },
+ "StorageSetting": {
+ "description": "Storage setting",
+ "properties": {
+ "datastoreType": {
+ "description": "Gets or sets the type of the datastore.",
+ "enum": [
+ "ArchiveStore",
+ "OperationalStore",
+ "VaultStore"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "StorageSettingStoreTypes"
+ }
+ },
+ "type": {
+ "description": "Gets or sets the type.",
+ "enum": [
+ "GeoRedundant",
+ "LocallyRedundant",
+ "ZoneRedundant"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "StorageSettingTypes"
+ }
+ }
+ },
+ "title": "StorageSetting",
+ "type": "object"
+ },
+ "SupportedFeature": {
+ "description": "Elements class for feature request",
+ "type": "object",
+ "properties": {
+ "featureName": {
+ "description": "support feature type.",
+ "type": "string"
+ },
+ "supportStatus": {
+ "description": "feature support status",
+ "enum": [
+ "Invalid",
+ "NotSupported",
+ "AlphaPreview",
+ "PrivatePreview",
+ "PublicPreview",
+ "GenerallyAvailable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "FeatureSupportStatus",
+ "modelAsString": true
+ }
+ },
+ "exposureControlledFeatures": {
+ "description": "support feature type.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "SyncBackupInstanceRequest": {
+ "description": "Sync BackupInstance Request",
+ "type": "object",
+ "properties": {
+ "syncType": {
+ "description": "Field indicating sync type e.g. to sync only in case of failure or in all cases",
+ "enum": [
+ "Default",
+ "ForceResync"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SyncType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "TaggingCriteria": {
+ "description": "Tagging criteria",
+ "properties": {
+ "criteria": {
+ "description": "Criteria which decides whether the tag can be applied to a triggered backup.",
+ "items": {
+ "$ref": "#/definitions/BackupCriteria"
+ },
+ "x-ms-identifiers": [],
+ "type": "array"
+ },
+ "isDefault": {
+ "description": "Specifies if tag is default.",
+ "type": "boolean"
+ },
+ "taggingPriority": {
+ "description": "Retention Tag priority.",
+ "format": "int64",
+ "type": "integer"
+ },
+ "tagInfo": {
+ "$ref": "#/definitions/RetentionTag",
+ "description": "Retention tag information"
+ }
+ },
+ "required": [
+ "isDefault",
+ "tagInfo",
+ "taggingPriority"
+ ],
+ "title": "TaggingCriteria",
+ "type": "object"
+ },
+ "TargetCopySetting": {
+ "description": "Target copy settings",
+ "properties": {
+ "copyAfter": {
+ "$ref": "#/definitions/CopyOption",
+ "description": "It can be CustomCopyOption or ImmediateCopyOption."
+ },
+ "dataStore": {
+ "$ref": "#/definitions/DataStoreInfoBase",
+ "description": "Info of target datastore"
+ }
+ },
+ "required": [
+ "copyAfter",
+ "dataStore"
+ ],
+ "title": "TargetCopySetting",
+ "type": "object"
+ },
+ "TargetDetails": {
+ "description": "Class encapsulating target details, used where the destination is not a datasource",
+ "properties": {
+ "filePrefix": {
+ "description": "Restore operation may create multiple files inside location pointed by Url\r\nBelow will be the common prefix for all of them",
+ "type": "string"
+ },
+ "restoreTargetLocationType": {
+ "description": "Denotes the target location where the data will be restored,\r\nstring value for the enum {Microsoft.Internal.AzureBackup.DataProtection.Common.Interface.RestoreTargetLocationType}",
+ "enum": [
+ "Invalid",
+ "AzureBlobs",
+ "AzureFiles"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RestoreTargetLocationType",
+ "modelAsString": true
+ }
+ },
+ "url": {
+ "description": "Url denoting the restore destination. It can point to container / file share etc",
+ "type": "string"
+ },
+ "targetResourceArmId": {
+ "description": "Full ARM Id denoting the restore destination. It is the ARM Id pointing to container / file share\r\nThis is optional if the target subscription can be identified with the URL field. If not\r\nthen this is needed if CrossSubscriptionRestore field of BackupVault is in any of the disabled states",
+ "type": "string"
+ }
+ },
+ "required": [
+ "filePrefix",
+ "restoreTargetLocationType",
+ "url"
+ ],
+ "type": "object"
+ },
+ "TriggerBackupRequest": {
+ "description": "Trigger backup request",
+ "properties": {
+ "backupRuleOptions": {
+ "$ref": "#/definitions/AdHocBackupRuleOptions",
+ "description": "Name for the Rule of the Policy which needs to be applied for this backup"
+ }
+ },
+ "required": [
+ "backupRuleOptions"
+ ],
+ "title": "TriggerBackupRequest",
+ "type": "object"
+ },
+ "TriggerContext": {
+ "description": "Trigger context",
+ "discriminator": "objectType",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectType"
+ ],
+ "title": "TriggerContext",
+ "type": "object"
+ },
+ "UserFacingError": {
+ "description": "Error object used by layers that have access to localized content, and propagate that to user",
+ "properties": {
+ "code": {
+ "description": "Unique code for this error",
+ "type": "string"
+ },
+ "details": {
+ "description": "Additional related Errors",
+ "items": {
+ "$ref": "#/definitions/UserFacingError"
+ },
+ "x-ms-identifiers": [],
+ "type": "array"
+ },
+ "innerError": {
+ "$ref": "#/definitions/InnerError",
+ "description": "Inner Error"
+ },
+ "isRetryable": {
+ "description": "Whether the operation will be retryable or not",
+ "type": "boolean"
+ },
+ "isUserError": {
+ "description": "Whether the operation is due to a user error or service error",
+ "type": "boolean"
+ },
+ "properties": {
+ "description": "Any key value pairs that can be injected inside error object",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "message": {
+ "type": "string"
+ },
+ "recommendedAction": {
+ "description": "RecommendedAction � localized.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "target": {
+ "description": "Target of the error.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "UserFacingWarningDetail": {
+ "description": "Warning object used by layers that have access to localized content, and propagate that to user",
+ "properties": {
+ "resourceName": {
+ "description": "Name of resource for which warning is raised.",
+ "type": "string"
+ },
+ "warning": {
+ "$ref": "#/definitions/UserFacingError",
+ "description": "Error details for the warning."
+ }
+ },
+ "required": [
+ "warning"
+ ],
+ "type": "object"
+ },
+ "ValidateForBackupRequest": {
+ "description": "Validate for backup request",
+ "properties": {
+ "backupInstance": {
+ "$ref": "#/definitions/BackupInstance"
+ }
+ },
+ "required": [
+ "backupInstance"
+ ],
+ "title": "ValidateForBackupRequest",
+ "type": "object"
+ },
+ "ValidateForModifyBackupRequest": {
+ "description": "Validate for modify backup request",
+ "properties": {
+ "backupInstance": {
+ "$ref": "#/definitions/BackupInstance"
+ }
+ },
+ "required": [
+ "backupInstance"
+ ],
+ "title": "ValidateForModifyBackupRequest",
+ "type": "object"
+ },
+ "ValidateRestoreRequestObject": {
+ "description": "Validate restore request object",
+ "properties": {
+ "restoreRequestObject": {
+ "$ref": "#/definitions/AzureBackupRestoreRequest",
+ "description": "Gets or sets the restore request object."
+ }
+ },
+ "required": [
+ "restoreRequestObject"
+ ],
+ "title": "ValidateRestoreRequestObject",
+ "type": "object"
+ },
+ "ResourceGuard": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the BackupVault resource",
+ "enum": [
+ "Failed",
+ "Provisioning",
+ "Succeeded",
+ "Unknown",
+ "Updating"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "allowAutoApprovals": {
+ "description": "This flag indicates whether auto approval is allowed or not.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "resourceGuardOperations": {
+ "description": "{readonly} List of operation details those are protected by the ResourceGuard resource",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceGuardOperation"
+ },
+ "x-ms-identifiers": [],
+ "readOnly": true
+ },
+ "vaultCriticalOperationExclusionList": {
+ "description": "List of critical operations which are not protected by this resourceGuard",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": {
+ "description": "Description about the pre-req steps to perform all the critical operations.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ResourceGuardOperation": {
+ "description": "This class contains all the details about a critical operation.",
+ "type": "object",
+ "properties": {
+ "vaultCriticalOperation": {
+ "description": "Name of the critical operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requestResourceType": {
+ "description": "Type of resource request.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ResourceGuardResource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppBaseTrackedResource"
+ }
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ResourceGuard",
+ "description": "ResourceGuardResource properties"
+ }
+ }
+ },
+ "ResourceGuardResourceList": {
+ "description": "List of ResourceGuard resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppTrackedResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceGuardResource"
+ }
+ }
+ }
+ },
+ "ResourceGuardOperationDetail": {
+ "description": "VaultCritical Operation protected by a resource guard",
+ "type": "object",
+ "properties": {
+ "vaultCriticalOperation": {
+ "type": "string"
+ },
+ "defaultResourceRequest": {
+ "type": "string"
+ }
+ }
+ },
+ "ResourceGuardProxyBase": {
+ "description": "ResourceGuardProxyBase object, used in ResourceGuardProxyBaseResource",
+ "type": "object",
+ "properties": {
+ "resourceGuardResourceId": {
+ "type": "string"
+ },
+ "resourceGuardOperationDetails": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceGuardOperationDetail"
+ },
+ "x-ms-identifiers": []
+ },
+ "lastUpdatedTime": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ }
+ }
+ },
+ "ResourceGuardProxyBaseResource": {
+ "description": "ResourceGuardProxyBaseResource object, used for response and request bodies for ResourceGuardProxy APIs",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ResourceGuardProxyBase",
+ "description": "ResourceGuardProxyBaseResource properties"
+ }
+ }
+ },
+ "ResourceGuardProxyBaseResourceList": {
+ "description": "List of ResourceGuardProxyBase resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceGuardProxyBaseResource"
+ }
+ }
+ }
+ },
+ "UnlockDeleteRequest": {
+ "description": "Request body of unlock delete API.",
+ "type": "object",
+ "properties": {
+ "resourceGuardOperationRequests": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "resourceToBeDeleted": {
+ "type": "string"
+ }
+ }
+ },
+ "UnlockDeleteResponse": {
+ "description": "Response of Unlock Delete API.",
+ "type": "object",
+ "properties": {
+ "unlockDeleteExpiryTime": {
+ "description": "This is the time when unlock delete privileges will get expired.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "VaultName": {
+ "name": "vaultName",
+ "in": "path",
+ "description": "The name of the backup vault.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "BackupInstanceName": {
+ "name": "backupInstanceName",
+ "in": "path",
+ "description": "The name of the backup instance.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceId": {
+ "name": "resourceId",
+ "in": "path",
+ "description": "ARM path of the resource to be protected using Microsoft.DataProtection",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "RestrictedVaultName": {
+ "name": "vaultName",
+ "in": "path",
+ "description": "The name of the backup vault.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "pattern": "^[A-Za-z][-A-Za-z0-9]*[A-Za-z0-9]$",
+ "minLength": 2,
+ "maxLength": 50
+ }
+ },
+ "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."
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/DeleteBackupInstance.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/DeleteBackupInstance.json
new file mode 100644
index 000000000000..7deb702b1cfc
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/DeleteBackupInstance.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "backupInstanceName": "testInstance1",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/FindRestorableTimeRanges.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/FindRestorableTimeRanges.json
new file mode 100644
index 000000000000..3f0a8c9f05d4
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/FindRestorableTimeRanges.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "Blob-Backup",
+ "vaultName": "ZBlobBackupVaultBVTD3",
+ "backupInstanceName": "zblobbackuptestsa58",
+ "api-version": "2023-08-01-preview",
+ "parameters": {
+ "sourceDataStoreType": "OperationalStore",
+ "startTime": "2020-10-17T23:28:17.6829685Z",
+ "endTime": "2021-02-24T00:35:17.6829685Z"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "zblobbackuptestsa58",
+ "type": "Microsoft.DataProtection/backupVaults/backupInstances/findRestorableTimeRanges",
+ "properties": {
+ "restorableTimeRanges": [
+ {
+ "startTime": "2021-02-23T18:33:51.6349708Z",
+ "endTime": "2021-02-24T00:35:17.0000000Z",
+ "objectType": "RestorableTimeRange"
+ }
+ ],
+ "objectType": "AzureBackupFindRestorableTimeRangesResponse"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/GetBackupInstance.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/GetBackupInstance.json
new file mode 100644
index 000000000000..c0cc437207b7
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/GetBackupInstance.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2023-08-01-preview",
+ "backupInstanceName": "testInstance1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/harshitbi2",
+ "name": "harshitbi2",
+ "type": "Microsoft.DataProtection/backupVaults/backupInstances",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "friendlyName": "harshitbi2",
+ "dataSourceInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "testdb",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "Datasource"
+ },
+ "dataSourceSetInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "viveksipgtest",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "DatasourceSet"
+ },
+ "policyInfo": {
+ "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1",
+ "policyVersion": "3.2"
+ },
+ "protectionStatus": {
+ "status": "NotProtected"
+ },
+ "provisioningState": "Provisioning",
+ "objectType": "BackupInstance"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/GetBackupInstanceOperationResult.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/GetBackupInstanceOperationResult.json
new file mode 100644
index 000000000000..e944823c7f17
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/GetBackupInstanceOperationResult.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "backupInstanceName": "testInstance1",
+ "operationId": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/backupVaults/swaggerExample/backupInstances/testInstance1",
+ "name": "testInstance1",
+ "type": "Microsoft.DataProtection/backupVaults/backupInstances",
+ "properties": {
+ "friendlyName": "testInstance1",
+ "dataSourceInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "testdb",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "Datasource"
+ },
+ "dataSourceSetInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "viveksipgtest",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "DatasourceSet"
+ },
+ "policyInfo": {
+ "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/backupVaults/swaggerExample/backupPolicies/PratikPolicy1",
+ "policyVersion": "3.2"
+ },
+ "protectionStatus": {
+ "status": "ConfiguringProtection"
+ },
+ "provisioningState": "Provisioned",
+ "objectType": "BackupInstance"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/backupVaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-08-01-preview",
+ "Location": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/backupvaults/swaggerExample/backupInstances/testInstance1/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-08-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/GetRecoveryPoint.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/GetRecoveryPoint.json
new file mode 100644
index 000000000000..3606e78fcf6f
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/GetRecoveryPoint.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2023-08-01-preview",
+ "backupInstanceName": "testInstance1",
+ "recoveryPointId": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/HelloTest/providers/Microsoft.DataProtection/backupVaults/HelloTestVault/backupInstances/653213d-c5b3-44f6-a0d9-db3c4f9d8e34/recoveryPoints/7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25",
+ "name": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25",
+ "type": "microsoft.dataprotection/backupvaults/backupInstances/recoveryPoints",
+ "properties": {
+ "objectType": "AzureBackupDiscreteRecoveryPoint",
+ "recoveryPointTime": "2019-03-01T13:00:00Z",
+ "recoveryPointType": "Full",
+ "friendlyName": "panbha4",
+ "recoveryPointDataStoresDetails": [
+ {
+ "id": "0ff03512-b333-4509-a6c7-12164c8b1dce",
+ "type": "Snapshot",
+ "creationTime": "2019-03-01T13:00:00Z",
+ "metaData": "123456"
+ },
+ {
+ "id": "5d8cfd30-722e-4bab-85f6-4a9d01ffc6f1",
+ "type": "BackupStorage",
+ "creationTime": "2019-03-01T13:00:00Z",
+ "metaData": "123456"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ListBackupInstances.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ListBackupInstances.json
new file mode 100644
index 000000000000..41fdee34eb33
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ListBackupInstances.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/harshitbi2",
+ "name": "harshitbi2",
+ "type": "Microsoft.DataProtection/backupVaults/backupInstances",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "friendlyName": "harshitbi2",
+ "dataSourceInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "testdb",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "Datasource"
+ },
+ "dataSourceSetInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "viveksipgtest",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "DatasourceSet"
+ },
+ "policyInfo": {
+ "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1",
+ "policyVersion": "3.2"
+ },
+ "protectionStatus": {
+ "status": "NotProtected"
+ },
+ "provisioningState": "Provisioning",
+ "objectType": "BackupInstance"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ListBackupInstancesExtensionRouting.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ListBackupInstancesExtensionRouting.json
new file mode 100644
index 000000000000..8eff6cb53930
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ListBackupInstancesExtensionRouting.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "resourceId": "subscriptions/36d32b25-3dc7-41b0-bde1-397500644591/resourceGroups/testRG/providers/Microsoft.Compute/disks/testDisk",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "friendlyName": "testDisk",
+ "dataSourceInfo": {
+ "resourceID": "/subscriptions/36d32b25-3dc7-41b0-bde1-397500644591/resourceGroups/testRG/providers/Microsoft.Compute/disks/testDisk",
+ "resourceUri": "/subscriptions/36d32b25-3dc7-41b0-bde1-397500644591/resourceGroups/testRG/providers/Microsoft.Compute/disks/testDisk",
+ "datasourceType": "Microsoft.Compute/disks",
+ "resourceName": "testDisk",
+ "resourceType": "Microsoft.Compute/disks",
+ "resourceLocation": "eastus2euap",
+ "objectType": "Datasource"
+ },
+ "dataSourceSetInfo": {
+ "resourceID": "/subscriptions/36d32b25-3dc7-41b0-bde1-397500644591/resourceGroups/testRG/providers/Microsoft.Compute/disks/testDisk",
+ "resourceUri": "/subscriptions/36d32b25-3dc7-41b0-bde1-397500644591/resourceGroups/testRG/providers/Microsoft.Compute/disks/testDisk",
+ "datasourceType": "Microsoft.Compute/disks",
+ "resourceName": "testDisk",
+ "resourceType": "Microsoft.Compute/disks",
+ "resourceLocation": "eastus2euap",
+ "objectType": "DatasourceSet"
+ },
+ "policyInfo": {
+ "policyId": "/subscriptions/36d32b25-3dc7-41b0-bde1-397500644591/resourceGroups/policyRG/providers/Microsoft.DataProtection/backupVaults/jeczrsecy/backupPolicies/disk",
+ "policyVersion": "",
+ "policyParameters": {
+ "dataStoreParametersList": [
+ {
+ "objectType": "AzureOperationalStoreParameters",
+ "dataStoreType": "OperationalStore",
+ "resourceGroupId": "/subscriptions/36d32b25-3dc7-41b0-bde1-397500644591/resourceGroups/policyRG"
+ }
+ ]
+ }
+ },
+ "protectionStatus": {
+ "status": "ProtectionConfigured"
+ },
+ "currentProtectionState": "ProtectionConfigured",
+ "provisioningState": "Succeeded",
+ "objectType": "BackupInstance"
+ },
+ "id": "/subscriptions/36d32b25-3dc7-41b0-bde1-397500644591/resourceGroups/testRG/providers/Microsoft.Compute/disks/testDisk/providers/Microsoft.DataProtection/backupInstances/testDiskBI1-testDiskBI1-7664c12f-4d0a-440f-a0dc-b64f708b10e3",
+ "name": "testDiskBI1-testDiskBI1-7664c12f-4d0a-440f-a0dc-b64f708b10e3",
+ "type": "Microsoft.DataProtection/backupVaults/backupInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ListRecoveryPoints.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ListRecoveryPoints.json
new file mode 100644
index 000000000000..cab58118a859
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ListRecoveryPoints.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2023-08-01-preview",
+ "backupInstanceName": "testInstance1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/HelloTest/providers/Microsoft.DataProtection/backupVaults/HelloTestVault/backupInstances/653213d-c5b3-44f6-a0d9-db3c4f9d8e34/recoveryPoints/7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25",
+ "name": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5e35",
+ "type": "microsoft.dataprotection/backupvaults/backupInstances/recoveryPoints",
+ "properties": {
+ "objectType": "AzureBackupDiscreteRecoveryPoint",
+ "recoveryPointTime": "2019-03-01T13:00:00Z",
+ "recoveryPointType": "Full",
+ "friendlyName": "panbha4",
+ "expiryTime": "2023-03-01T13:00:00Z",
+ "recoveryPointDataStoresDetails": [
+ {
+ "id": "0ff03512-b333-4509-a6c7-12164c8b1dce",
+ "type": "Snapshot",
+ "creationTime": "2019-03-01T13:00:00Z",
+ "metaData": "123456"
+ },
+ {
+ "id": "5d8cfd30-722e-4bab-85f6-4a9d01ffc6f1",
+ "type": "BackupStorage",
+ "creationTime": "2019-03-01T13:00:00Z",
+ "metaData": "123456"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/HelloTest/providers/Microsoft.DataProtection/backupVaults/HelloTestVault/backupInstances/653213d-c5b3-44f6-a0d9-db3c4f9d8e34/recoveryPoints/7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25",
+ "name": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25",
+ "type": "microsoft.dataprotection/backupvaults/backupInstances/recoveryPoints",
+ "properties": {
+ "objectType": "AzureBackupDiscreteRecoveryPoint",
+ "recoveryPointTime": "2019-03-01T13:00:00Z",
+ "recoveryPointType": "Full",
+ "friendlyName": "panbha4",
+ "recoveryPointDataStoresDetails": [
+ {
+ "id": "808cfd30-722e-4bab-85f6-4a9d01ffc6f2",
+ "type": "Snapshot",
+ "creationTime": "2019-03-01T13:00:00Z",
+ "metaData": "123456"
+ },
+ {
+ "id": "798cfd30-722e-4bab-85f6-4a9d01ffc6f3",
+ "type": "BackupStorage",
+ "creationTime": "2019-03-01T13:00:00Z",
+ "metaData": "123456"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/PutBackupInstance.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/PutBackupInstance.json
new file mode 100644
index 000000000000..ffb1262887ac
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/PutBackupInstance.json
@@ -0,0 +1,167 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2023-08-01-preview",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "objectType": "BackupInstance",
+ "friendlyName": "harshitbi2",
+ "dataSourceSetInfo": {
+ "objectType": "DatasourceSet",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceName": "viveksipgtest",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases"
+ },
+ "dataSourceInfo": {
+ "objectType": "Datasource",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceName": "testdb",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases"
+ },
+ "datasourceAuthCredentials": {
+ "secretStoreResource": {
+ "uri": "https://samplevault.vault.azure.net/secrets/credentials",
+ "secretStoreType": "AzureKeyVault"
+ },
+ "objectType": "SecretStoreBasedAuthCredentials"
+ },
+ "policyInfo": {
+ "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/Backupvaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1",
+ "policyParameters": {
+ "dataStoreParametersList": [
+ {
+ "objectType": "AzureOperationalStoreParameters",
+ "dataStoreType": "OperationalStore",
+ "resourceGroupId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest"
+ }
+ ]
+ }
+ },
+ "validationType": "ShallowValidation"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Retry-After": "60"
+ },
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/harshitbi2",
+ "name": "harshitbi2",
+ "type": "Microsoft.DataProtection/backupVaults/backupInstances",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "friendlyName": "harshitbi2",
+ "dataSourceInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "testdb",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "Datasource"
+ },
+ "dataSourceSetInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "viveksipgtest",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "DatasourceSet"
+ },
+ "policyInfo": {
+ "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1",
+ "policyVersion": "3.2",
+ "policyParameters": {
+ "dataStoreParametersList": [
+ {
+ "objectType": "AzureOperationalStoreParameters",
+ "dataStoreType": "OperationalStore",
+ "resourceGroupId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest"
+ }
+ ]
+ }
+ },
+ "protectionStatus": {
+ "status": "NotProtected"
+ },
+ "provisioningState": "Provisioning",
+ "objectType": "BackupInstance"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-08-01-preview",
+ "Location": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/testInstance1/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-08-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/harshitbi2",
+ "name": "harshitbi2",
+ "type": "Microsoft.DataProtection/backupVaults/backupInstances",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "friendlyName": "harshitbi2",
+ "dataSourceInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "testdb",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "Datasource"
+ },
+ "dataSourceSetInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "viveksipgtest",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "DatasourceSet"
+ },
+ "policyInfo": {
+ "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1",
+ "policyVersion": "3.2",
+ "policyParameters": {
+ "dataStoreParametersList": [
+ {
+ "objectType": "AzureOperationalStoreParameters",
+ "dataStoreType": "OperationalStore",
+ "resourceGroupId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest"
+ }
+ ]
+ }
+ },
+ "protectionStatus": {
+ "status": "NotProtected"
+ },
+ "provisioningState": "Provisioned",
+ "objectType": "BackupInstance"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ResumeBackups.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ResumeBackups.json
new file mode 100644
index 000000000000..d565c1bf8439
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ResumeBackups.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "testrg",
+ "vaultName": "testvault",
+ "backupInstanceName": "testbi",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupInstances/testbi/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Azure-AsyncOperation": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupVaults/testvault/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ResumeProtection.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ResumeProtection.json
new file mode 100644
index 000000000000..d565c1bf8439
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ResumeProtection.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "testrg",
+ "vaultName": "testvault",
+ "backupInstanceName": "testbi",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupInstances/testbi/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Azure-AsyncOperation": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupVaults/testvault/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/StopProtection.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/StopProtection.json
new file mode 100644
index 000000000000..d565c1bf8439
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/StopProtection.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "testrg",
+ "vaultName": "testvault",
+ "backupInstanceName": "testbi",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupInstances/testbi/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Azure-AsyncOperation": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupVaults/testvault/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/SuspendBackups.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/SuspendBackups.json
new file mode 100644
index 000000000000..d565c1bf8439
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/SuspendBackups.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "testrg",
+ "vaultName": "testvault",
+ "backupInstanceName": "testbi",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupInstances/testbi/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Azure-AsyncOperation": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupVaults/testvault/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/SyncBackupInstance.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/SyncBackupInstance.json
new file mode 100644
index 000000000000..bffae0458cea
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/SyncBackupInstance.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "testrg",
+ "vaultName": "testvault",
+ "backupInstanceName": "testbi",
+ "api-version": "2023-08-01-preview",
+ "parameters": {
+ "syncType": "Default"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupInstances/testbi/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Azure-AsyncOperation": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupVaults/testvault/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/TriggerBackup.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/TriggerBackup.json
new file mode 100644
index 000000000000..3759b6d66b18
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/TriggerBackup.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2023-08-01-preview",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "backupRuleOptions": {
+ "ruleName": "BackupWeekly",
+ "triggerOption": {
+ "retentionTagOverride": "yearly"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "objectType": "OperationJobExtendedInfo"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/TriggerRehydrate.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/TriggerRehydrate.json
new file mode 100644
index 000000000000..201d2d97cb77
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/TriggerRehydrate.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2023-08-01-preview",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "recoveryPointId": "hardcodedRP",
+ "rehydrationRetentionDuration": "7D",
+ "rehydrationPriority": "High"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/TriggerRestore.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/TriggerRestore.json
new file mode 100644
index 000000000000..bfa86e0eb5b8
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/TriggerRestore.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2023-08-01-preview",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "objectType": "AzureBackupRecoveryPointBasedRestoreRequest",
+ "recoveryPointId": "hardcodedRP",
+ "sourceDataStoreType": "VaultStore",
+ "sourceResourceId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "restoreTargetInfo": {
+ "objectType": "RestoreTargetInfo",
+ "recoveryOption": "FailIfExists",
+ "datasourceSetInfo": {
+ "objectType": "DatasourceSet",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceName": "viveksipgtest",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases"
+ },
+ "datasourceInfo": {
+ "objectType": "Datasource",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/targetdb",
+ "resourceName": "targetdb",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases"
+ },
+ "datasourceAuthCredentials": {
+ "secretStoreResource": {
+ "uri": "https://samplevault.vault.azure.net/secrets/credentials",
+ "secretStoreType": "AzureKeyVault"
+ },
+ "objectType": "SecretStoreBasedAuthCredentials"
+ },
+ "restoreLocation": "southeastasia"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "objectType": "OperationJobExtendedInfo"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/TriggerRestoreAsFiles.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/TriggerRestoreAsFiles.json
new file mode 100644
index 000000000000..adf1651376f4
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/TriggerRestoreAsFiles.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PrivatePreviewVault1",
+ "api-version": "2023-08-01-preview",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "objectType": "AzureBackupRecoveryPointBasedRestoreRequest",
+ "recoveryPointId": "hardcodedRP",
+ "sourceDataStoreType": "VaultStore",
+ "sourceResourceId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "restoreTargetInfo": {
+ "targetDetails": {
+ "url": "https://teststorage.blob.core.windows.net/restoretest",
+ "filePrefix": "restoredblob",
+ "restoreTargetLocationType": "AzureBlobs"
+ },
+ "restoreLocation": "southeastasia",
+ "recoveryOption": "FailIfExists",
+ "objectType": "RestoreFilesTargetInfo"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/testInstance1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "objectType": "OperationJobExtendedInfo"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/TriggerRestoreWithRehydration.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/TriggerRestoreWithRehydration.json
new file mode 100644
index 000000000000..fb8faadff97a
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/TriggerRestoreWithRehydration.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2023-08-01-preview",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "objectType": "AzureBackupRestoreWithRehydrationRequest",
+ "recoveryPointId": "hardcodedRP",
+ "rehydrationRetentionDuration": "7D",
+ "rehydrationPriority": "High",
+ "sourceDataStoreType": "VaultStore",
+ "sourceResourceId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "restoreTargetInfo": {
+ "objectType": "RestoreTargetInfo",
+ "recoveryOption": "FailIfExists",
+ "datasourceSetInfo": {
+ "objectType": "DatasourceSet",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceName": "viveksipgtest",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "datasourceInfo": {
+ "objectType": "Datasource",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceName": "testdb",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "restoreLocation": "southeastasia"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "objectType": "OperationJobExtendedInfo"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ValidateForBackup.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ValidateForBackup.json
new file mode 100644
index 000000000000..19ca2682ca21
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ValidateForBackup.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2023-08-01-preview",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "backupInstance": {
+ "objectType": "BackupInstance",
+ "friendlyName": "harshitbi2",
+ "dataSourceSetInfo": {
+ "objectType": "DatasourceSet",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceName": "viveksipgtest",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "dataSourceInfo": {
+ "objectType": "Datasource",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceName": "testdb",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "datasourceAuthCredentials": {
+ "secretStoreResource": {
+ "uri": "https://samplevault.vault.azure.net/secrets/credentials",
+ "secretStoreType": "AzureKeyVault"
+ },
+ "objectType": "SecretStoreBasedAuthCredentials"
+ },
+ "policyInfo": {
+ "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/Backupvaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "objectType": "OperationJobExtendedInfo"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ValidateForModifyBackup.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ValidateForModifyBackup.json
new file mode 100644
index 000000000000..eaea4b7a2657
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ValidateForModifyBackup.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2023-08-01-preview",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "backupInstance": {
+ "objectType": "BackupInstance",
+ "friendlyName": "harshitbi2",
+ "dataSourceSetInfo": {
+ "objectType": "DatasourceSet",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceName": "viveksipgtest",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "dataSourceInfo": {
+ "objectType": "Datasource",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceName": "testdb",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "datasourceAuthCredentials": {
+ "secretStoreResource": {
+ "uri": "https://samplevault.vault.azure.net/secrets/credentials",
+ "secretStoreType": "AzureKeyVault"
+ },
+ "objectType": "SecretStoreBasedAuthCredentials"
+ },
+ "policyInfo": {
+ "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/Backupvaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Retry-After": "60"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ValidateRestore.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ValidateRestore.json
new file mode 100644
index 000000000000..036b36ac2aa5
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/BackupInstanceOperations/ValidateRestore.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2023-08-01-preview",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "restoreRequestObject": {
+ "objectType": "AzureBackupRecoveryPointBasedRestoreRequest",
+ "recoveryPointId": "hardcodedRP",
+ "sourceDataStoreType": "VaultStore",
+ "sourceResourceId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "restoreTargetInfo": {
+ "objectType": "RestoreTargetInfo",
+ "recoveryOption": "FailIfExists",
+ "datasourceSetInfo": {
+ "objectType": "DatasourceSet",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceName": "viveksipgtest",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases"
+ },
+ "datasourceInfo": {
+ "objectType": "Datasource",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/targetdb",
+ "resourceName": "targetdb",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases"
+ },
+ "datasourceAuthCredentials": {
+ "secretStoreResource": {
+ "uri": "https://samplevault.vault.azure.net/secrets/credentials",
+ "secretStoreType": "AzureKeyVault"
+ },
+ "objectType": "SecretStoreBasedAuthCredentials"
+ },
+ "restoreLocation": "southeastasia"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "objectType": "OperationJobExtendedInfo"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/CheckfeatureSupport.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/CheckfeatureSupport.json
new file mode 100644
index 000000000000..c4904d962553
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/CheckfeatureSupport.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "location": "WestUS",
+ "api-version": "2023-08-01-preview",
+ "parameters": {
+ "featureType": "DataSourceType",
+ "objectType": "FeatureValidationRequest"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "featureType": "DataSourceType",
+ "features": [
+ {
+ "featureName": "Microsoft.Storage/storageAccounts/blobServices",
+ "supportStatus": "PrivatePreview",
+ "exposureControlledFeatures": []
+ },
+ {
+ "featureName": "Microsoft.DBforPostgreSQL/servers/databases",
+ "supportStatus": "PublicPreview",
+ "exposureControlledFeatures": []
+ }
+ ],
+ "objectType": "FeatureValidationResponse"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/CrossRegionRestore/FetchCrossRegionRestoreJob.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/CrossRegionRestore/FetchCrossRegionRestoreJob.json
new file mode 100644
index 000000000000..1839acfb8a81
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/CrossRegionRestore/FetchCrossRegionRestoreJob.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "resourceGroupName": "BugBash1",
+ "location": "west us",
+ "parameters": {
+ "sourceRegion": "east us",
+ "sourceBackupVaultId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11",
+ "jobId": "3c60cb49-63e8-4b21-b9bd-26277b3fdfae"
+ },
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "activityID": "c4344fb4-7c11-43a4-8307-7ae7c7fb09b9",
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/28460a9d-707a-45f3-ace6-b16284c2900e",
+ "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetdailypolicy",
+ "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb2",
+ "vaultName": "BugBashVaultForCCYv11",
+ "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb2",
+ "policyName": "jakavetdailypolicy",
+ "sourceResourceGroup": "DppPostgresTestingCcy",
+ "dataSourceSetName": "mabtestingccybasicv11",
+ "dataSourceName": "bugbashdb2",
+ "progressEnabled": false,
+ "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "startTime": "2021-03-17T03:00:03.7604146Z",
+ "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "operationCategory": "Backup",
+ "operation": "Backup",
+ "status": "Started",
+ "isUserTriggered": false,
+ "supportedActions": [],
+ "duration": "00:00:00",
+ "dataSourceLocation": "east us",
+ "extendedInfo": {
+ "subTasks": [
+ {
+ "taskId": 1,
+ "taskName": "Trigger Backup",
+ "taskStatus": "Started"
+ }
+ ],
+ "additionalDetails": {
+ "RetentionTag": "Default",
+ "PolicyRuleName": "BackupWeekly",
+ "TaskId": "c4344fb4-7c11-43a4-8307-7ae7c7fb09b9"
+ }
+ }
+ },
+ "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/3c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "name": "3c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "type": "Microsoft.DataProtection/Backupvaults/backupJobs"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/CrossRegionRestore/FetchCrossRegionRestoreJobs.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/CrossRegionRestore/FetchCrossRegionRestoreJobs.json
new file mode 100644
index 000000000000..61f9b5d3f2ac
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/CrossRegionRestore/FetchCrossRegionRestoreJobs.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "resourceGroupName": "BugBash1",
+ "location": "east us",
+ "api-version": "2023-08-01-preview",
+ "parameters": {
+ "sourceRegion": "east us",
+ "sourceBackupVaultId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "activityID": "932925c4-3d81-4550-8105-c7f7b0a934c5",
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/3048870f-b1b7-44c4-b078-368da3fd000e",
+ "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetPolicy2",
+ "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb4",
+ "vaultName": "BugBashVaultForCCYv11",
+ "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb4",
+ "policyName": "jakavetPolicy2",
+ "sourceResourceGroup": "DppPostgresTestingCcy",
+ "dataSourceSetName": "mabtestingccybasicv11",
+ "dataSourceName": "bugbashdb4",
+ "progressEnabled": false,
+ "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "startTime": "2021-03-16T05:00:08.1746833Z",
+ "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "operationCategory": "Backup",
+ "operation": "Backup",
+ "status": "Started",
+ "isUserTriggered": false,
+ "supportedActions": [],
+ "duration": "00:00:00",
+ "dataSourceLocation": "centraluseuap"
+ },
+ "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/8989416e-7573-4836-8cf1-0e90954f1002",
+ "name": "8989416e-7573-4836-8cf1-0e90954f1002",
+ "type": "Microsoft.DataProtection/Backupvaults/backupJobs"
+ },
+ {
+ "properties": {
+ "activityID": "b4f32e03-ded0-46fc-9afc-91853878efcd",
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/943c60db-c033-4d93-bb00-66048474e00e",
+ "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetPolicy3",
+ "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb5",
+ "vaultName": "BugBashVaultForCCYv11",
+ "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb5",
+ "policyName": "jakavetPolicy3",
+ "sourceResourceGroup": "DppPostgresTestingCcy",
+ "dataSourceSetName": "mabtestingccybasicv11",
+ "dataSourceName": "bugbashdb5",
+ "progressEnabled": false,
+ "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "startTime": "2021-03-16T18:00:03.6660733Z",
+ "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "operationCategory": "Backup",
+ "operation": "Backup",
+ "status": "Started",
+ "isUserTriggered": false,
+ "supportedActions": [],
+ "duration": "00:00:00",
+ "dataSourceLocation": "centraluseuap"
+ },
+ "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/ad218c05-242a-47c2-b7b7-c16bd0f8870c",
+ "name": "ad218c05-242a-47c2-b7b7-c16bd0f8870c",
+ "type": "Microsoft.DataProtection/Backupvaults/backupJobs"
+ },
+ {
+ "properties": {
+ "activityID": "c4344fb4-7c11-43a4-8307-7ae7c7fb09b9",
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/28460a9d-707a-45f3-ace6-b16284c2900e",
+ "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetdailypolicy",
+ "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb2",
+ "vaultName": "BugBashVaultForCCYv11",
+ "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb2",
+ "policyName": "jakavetdailypolicy",
+ "sourceResourceGroup": "DppPostgresTestingCcy",
+ "dataSourceSetName": "mabtestingccybasicv11",
+ "dataSourceName": "bugbashdb2",
+ "progressEnabled": false,
+ "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "startTime": "2021-03-17T03:00:03.7604146Z",
+ "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "operationCategory": "Backup",
+ "operation": "Backup",
+ "status": "Started",
+ "isUserTriggered": false,
+ "supportedActions": [],
+ "duration": "00:00:00",
+ "dataSourceLocation": "centraluseuap"
+ },
+ "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/3c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "name": "3c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "type": "Microsoft.DataProtection/Backupvaults/backupJobs"
+ },
+ {
+ "properties": {
+ "activityID": "94052cf1-a47f-4c1b-93e7-79e07b2bd008-Tue Mar 17 2021 11:11:48 GMT+0530 (India Standard Time)-Ibz",
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/0b247869-b8be-4885-b832-8ac4cdf5b00e",
+ "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetPolicy1",
+ "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb3",
+ "vaultName": "BugBashVaultForCCYv11",
+ "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb3",
+ "policyName": "jakavetPolicy1",
+ "sourceResourceGroup": "DppPostgresTestingCcy",
+ "dataSourceSetName": "mabtestingccybasicv11",
+ "dataSourceName": "bugbashdb3",
+ "progressEnabled": false,
+ "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "startTime": "2021-03-17T11:11:50.5595259Z",
+ "endTime": "2021-03-17T11:14:02.5319646Z",
+ "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "operationCategory": "Backup",
+ "operation": "Backup",
+ "status": "Succeeded",
+ "isUserTriggered": true,
+ "supportedActions": [
+ ""
+ ],
+ "duration": "00:02:11.9724387",
+ "dataSourceLocation": "centraluseuap"
+ },
+ "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/43252662-1b43-44fd-a856-0055665cb097",
+ "name": "43252662-1b43-44fd-a856-0055665cb097",
+ "type": "Microsoft.DataProtection/Backupvaults/backupJobs"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/CrossRegionRestore/FetchSecondaryRPs.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/CrossRegionRestore/FetchSecondaryRPs.json
new file mode 100644
index 000000000000..5caeb5f248ea
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/CrossRegionRestore/FetchSecondaryRPs.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "api-version": "2023-08-01-preview",
+ "location": "WestUS",
+ "parameters": {
+ "sourceBackupInstanceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/HelloTest/providers/Microsoft.DataProtection/backupVaults/HelloTestVault/backupInstances/653213d-c5b3-44f6-a0d9-db3c4f9d8e34",
+ "sourceRegion": "EastUS"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/HelloTest/providers/Microsoft.DataProtection/backupVaults/HelloTestVault/backupInstances/653213d-c5b3-44f6-a0d9-db3c4f9d8e34/recoveryPoints/7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25",
+ "name": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5e35",
+ "type": "microsoft.dataprotection/backupvaults/backupInstances/recoveryPoints",
+ "properties": {
+ "objectType": "AzureBackupDiscreteRecoveryPoint",
+ "recoveryPointTime": "2019-03-01T13:00:00Z",
+ "recoveryPointType": "Full",
+ "friendlyName": "panbha4",
+ "expiryTime": "2023-03-01T13:00:00Z",
+ "recoveryPointDataStoresDetails": [
+ {
+ "id": "0ff03512-b333-4509-a6c7-12164c8b1dce",
+ "type": "Snapshot",
+ "creationTime": "2019-03-01T13:00:00Z",
+ "metaData": "123456"
+ },
+ {
+ "id": "5d8cfd30-722e-4bab-85f6-4a9d01ffc6f1",
+ "type": "BackupStorage",
+ "creationTime": "2019-03-01T13:00:00Z",
+ "metaData": "123456"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/HelloTest/providers/Microsoft.DataProtection/backupVaults/HelloTestVault/backupInstances/653213d-c5b3-44f6-a0d9-db3c4f9d8e34/recoveryPoints/7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25",
+ "name": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25",
+ "type": "microsoft.dataprotection/backupvaults/backupInstances/recoveryPoints",
+ "properties": {
+ "objectType": "AzureBackupDiscreteRecoveryPoint",
+ "recoveryPointTime": "2019-03-01T13:00:00Z",
+ "recoveryPointType": "Full",
+ "friendlyName": "panbha4",
+ "recoveryPointDataStoresDetails": [
+ {
+ "id": "808cfd30-722e-4bab-85f6-4a9d01ffc6f2",
+ "type": "Snapshot",
+ "creationTime": "2019-03-01T13:00:00Z",
+ "metaData": "123456"
+ },
+ {
+ "id": "798cfd30-722e-4bab-85f6-4a9d01ffc6f3",
+ "type": "BackupStorage",
+ "creationTime": "2019-03-01T13:00:00Z",
+ "metaData": "123456"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/CrossRegionRestore/TriggerCrossRegionRestore.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/CrossRegionRestore/TriggerCrossRegionRestore.json
new file mode 100644
index 000000000000..2ba07c4a7e81
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/CrossRegionRestore/TriggerCrossRegionRestore.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "location": "EastAsia",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2023-08-01-preview",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "restoreRequestObject": {
+ "objectType": "AzureBackupRecoveryPointBasedRestoreRequest",
+ "recoveryPointId": "hardcodedRP",
+ "sourceDataStoreType": "VaultStore",
+ "sourceResourceId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "restoreTargetInfo": {
+ "objectType": "RestoreTargetInfo",
+ "recoveryOption": "FailIfExists",
+ "datasourceSetInfo": {
+ "objectType": "DatasourceSet",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceName": "viveksipgtest",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases"
+ },
+ "datasourceInfo": {
+ "objectType": "Datasource",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/targetdb",
+ "resourceName": "targetdb",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases"
+ },
+ "datasourceAuthCredentials": {
+ "secretStoreResource": {
+ "uri": "https://samplevault.vault.azure.net/secrets/credentials",
+ "secretStoreType": "AzureKeyVault"
+ },
+ "objectType": "SecretStoreBasedAuthCredentials"
+ },
+ "restoreLocation": "southeastasia"
+ }
+ },
+ "crossRegionRestoreDetails": {
+ "sourceRegion": "east asia",
+ "sourceBackupInstanceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/BackupInstances/harshitbi1"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "objectType": "OperationJobExtendedInfo"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/CrossRegionRestore/ValidateCrossRegionRestore.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/CrossRegionRestore/ValidateCrossRegionRestore.json
new file mode 100644
index 000000000000..2ba07c4a7e81
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/CrossRegionRestore/ValidateCrossRegionRestore.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "location": "EastAsia",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2023-08-01-preview",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "restoreRequestObject": {
+ "objectType": "AzureBackupRecoveryPointBasedRestoreRequest",
+ "recoveryPointId": "hardcodedRP",
+ "sourceDataStoreType": "VaultStore",
+ "sourceResourceId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "restoreTargetInfo": {
+ "objectType": "RestoreTargetInfo",
+ "recoveryOption": "FailIfExists",
+ "datasourceSetInfo": {
+ "objectType": "DatasourceSet",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceName": "viveksipgtest",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases"
+ },
+ "datasourceInfo": {
+ "objectType": "Datasource",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/targetdb",
+ "resourceName": "targetdb",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases"
+ },
+ "datasourceAuthCredentials": {
+ "secretStoreResource": {
+ "uri": "https://samplevault.vault.azure.net/secrets/credentials",
+ "secretStoreType": "AzureKeyVault"
+ },
+ "objectType": "SecretStoreBasedAuthCredentials"
+ },
+ "restoreLocation": "southeastasia"
+ }
+ },
+ "crossRegionRestoreDetails": {
+ "sourceRegion": "east asia",
+ "sourceBackupInstanceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/BackupInstances/harshitbi1"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "objectType": "OperationJobExtendedInfo"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/DeletedBackupInstanceOperations/GetDeletedBackupInstance.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/DeletedBackupInstanceOperations/GetDeletedBackupInstance.json
new file mode 100644
index 000000000000..90cfd0d1b386
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/DeletedBackupInstanceOperations/GetDeletedBackupInstance.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2023-08-01-preview",
+ "backupInstanceName": "testInstance1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/deletedBackupInstances/testInstance1",
+ "name": "testInstance1",
+ "type": "Microsoft.DataProtection/backupVaults/deletedBackupInstances",
+ "properties": {
+ "friendlyName": "testInstance1",
+ "dataSourceInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceUri": "",
+ "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceName": "testdb",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceLocation": "",
+ "objectType": "Datasource"
+ },
+ "dataSourceSetInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceUri": "",
+ "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceName": "viveksipgtest",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers",
+ "resourceLocation": "",
+ "objectType": "DatasourceSet"
+ },
+ "deletionInfo": {
+ "deletionTime": "2022-05-04T00:00:36.6660445Z",
+ "scheduledPurgeTime": "2022-05-20T00:00:36.6660445Z",
+ "billingEndDate": "2022-05-06T00:00:36.6660445Z",
+ "deleteActivityID": "1e9ec790-d198-4efb-bbd7-e4669d5351a4"
+ },
+ "policyInfo": {
+ "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1"
+ },
+ "protectionStatus": {
+ "status": "SoftDeleted"
+ },
+ "provisioningState": "Succeeded",
+ "objectType": "DeletedBackupInstance"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/DeletedBackupInstanceOperations/ListDeletedBackupInstances.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/DeletedBackupInstanceOperations/ListDeletedBackupInstances.json
new file mode 100644
index 000000000000..d2fb3ea6d424
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/DeletedBackupInstanceOperations/ListDeletedBackupInstances.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/deletedBackupInstances/testInstance1",
+ "name": "testInstance1",
+ "type": "Microsoft.DataProtection/backupVaults/deletedBackupInstances",
+ "properties": {
+ "friendlyName": "testInstance1",
+ "dataSourceInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceUri": "",
+ "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceName": "testdb",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceLocation": "",
+ "objectType": "Datasource"
+ },
+ "dataSourceSetInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceUri": "",
+ "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceName": "viveksipgtest",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers",
+ "resourceLocation": "",
+ "objectType": "DatasourceSet"
+ },
+ "deletionInfo": {
+ "deletionTime": "2022-05-04T00:00:36.6660445Z",
+ "scheduledPurgeTime": "2022-05-20T00:00:36.6660445Z",
+ "billingEndDate": "2022-05-06T00:00:36.6660445Z",
+ "deleteActivityID": "1e9ec790-d198-4efb-bbd7-e4669d5351a4"
+ },
+ "policyInfo": {
+ "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1"
+ },
+ "protectionStatus": {
+ "status": "SoftDeleted"
+ },
+ "provisioningState": "Succeeded",
+ "objectType": "DeletedBackupInstance"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/DeletedBackupInstanceOperations/UndeleteDeletedBackupInstance.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/DeletedBackupInstanceOperations/UndeleteDeletedBackupInstance.json
new file mode 100644
index 000000000000..d565c1bf8439
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/DeletedBackupInstanceOperations/UndeleteDeletedBackupInstance.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "testrg",
+ "vaultName": "testvault",
+ "backupInstanceName": "testbi",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupInstances/testbi/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Azure-AsyncOperation": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupVaults/testvault/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/GetOperationResult.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/GetOperationResult.json
new file mode 100644
index 000000000000..6ea6d509b301
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/GetOperationResult.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "location": "WestUS",
+ "operationId": "MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-01-01",
+ "Azure-AsyncOperation": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-01-01",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "objectType": "OperationJobExtendedInfo"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/GetOperationStatus.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/GetOperationStatus.json
new file mode 100644
index 000000000000..7f9f40069e4f
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/GetOperationStatus.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "location": "WestUS",
+ "operationId": "MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/providers/Microsoft.DataProtection/locations/WestUS/operationStatus/MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==",
+ "name": "MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==",
+ "status": "Succeeded",
+ "startTime": "2019-11-20T09:49:44.0478496Z",
+ "endTime": "2019-11-20T09:49:46Z"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/GetOperationStatusRGContext.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/GetOperationStatusRGContext.json
new file mode 100644
index 000000000000..d1647b240184
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/GetOperationStatusRGContext.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "operationId": "MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/operationStatus/MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==",
+ "name": "MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==",
+ "status": "Succeeded",
+ "startTime": "2019-11-20T09:49:44.0478496Z",
+ "endTime": "2019-11-20T09:49:46Z"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/GetOperationStatusVaultContext.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/GetOperationStatusVaultContext.json
new file mode 100644
index 000000000000..7c1bac639cbc
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/GetOperationStatusVaultContext.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "operationId": "MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/backupVaults/swaggerExample/operationStatus/MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==",
+ "name": "MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==",
+ "status": "Succeeded",
+ "startTime": "2019-11-20T09:49:44.0478496Z",
+ "endTime": "2019-11-20T09:49:46Z"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/JobCRUD/GenerateProgressURL.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/JobCRUD/GenerateProgressURL.json
new file mode 100644
index 000000000000..6c54287574bc
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/JobCRUD/GenerateProgressURL.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestVault",
+ "jobId": "3c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "progressUrl": "https://azureblob.blob.core.windows.net/jobprogresscontainer/00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/JobCRUD/GetExportJobsOperationResult.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/JobCRUD/GetExportJobsOperationResult.json
new file mode 100644
index 000000000000..b0dd44e16722
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/JobCRUD/GetExportJobsOperationResult.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "blobUrl": "https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreport00000000-0000-0000-0000-000000000000",
+ "blobSasKey": "someKey",
+ "excelFileBlobUrl": "https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreport00000000-0000-0000-0000-000000000000_ExcelFile.xlsx",
+ "excelFileBlobSasKey": "someKey"
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 60,
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.DataProtection/backupVaults/NetSDKTestRsVault/backupJobs/operations/00000000-0000-0000-0000-000000000000?api-version=2023-08-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/JobCRUD/GetJob.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/JobCRUD/GetJob.json
new file mode 100644
index 000000000000..e8e1e3be2dce
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/JobCRUD/GetJob.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "resourceGroupName": "BugBash1",
+ "vaultName": "BugBashVaultForCCYv11",
+ "jobId": "3c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "activityID": "c4344fb4-7c11-43a4-8307-7ae7c7fb09b9",
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/28460a9d-707a-45f3-ace6-b16284c2900e",
+ "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetdailypolicy",
+ "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb2",
+ "vaultName": "BugBashVaultForCCYv11",
+ "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb2",
+ "policyName": "jakavetdailypolicy",
+ "sourceResourceGroup": "DppPostgresTestingCcy",
+ "dataSourceSetName": "mabtestingccybasicv11",
+ "dataSourceName": "bugbashdb2",
+ "progressEnabled": false,
+ "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "startTime": "2021-03-17T03:00:03.7604146Z",
+ "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "operationCategory": "Backup",
+ "operation": "Backup",
+ "status": "Started",
+ "isUserTriggered": false,
+ "supportedActions": [],
+ "duration": "00:00:00",
+ "dataSourceLocation": "centraluseuap",
+ "extendedInfo": {
+ "subTasks": [
+ {
+ "taskId": 1,
+ "taskName": "Trigger Backup",
+ "taskStatus": "Started"
+ }
+ ],
+ "additionalDetails": {
+ "RetentionTag": "Default",
+ "PolicyRuleName": "BackupWeekly",
+ "TaskId": "c4344fb4-7c11-43a4-8307-7ae7c7fb09b9"
+ }
+ }
+ },
+ "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/3c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "name": "3c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "type": "Microsoft.DataProtection/Backupvaults/backupJobs"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/JobCRUD/ListJobs.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/JobCRUD/ListJobs.json
new file mode 100644
index 000000000000..8a3aa483c606
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/JobCRUD/ListJobs.json
@@ -0,0 +1,135 @@
+{
+ "parameters": {
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "resourceGroupName": "BugBash1",
+ "vaultName": "BugBashVaultForCCYv11",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "activityID": "932925c4-3d81-4550-8105-c7f7b0a934c5",
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/3048870f-b1b7-44c4-b078-368da3fd000e",
+ "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetPolicy2",
+ "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb4",
+ "vaultName": "BugBashVaultForCCYv11",
+ "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb4",
+ "policyName": "jakavetPolicy2",
+ "sourceResourceGroup": "DppPostgresTestingCcy",
+ "dataSourceSetName": "mabtestingccybasicv11",
+ "dataSourceName": "bugbashdb4",
+ "progressEnabled": false,
+ "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "startTime": "2021-03-16T05:00:08.1746833Z",
+ "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "operationCategory": "Backup",
+ "operation": "Backup",
+ "status": "Started",
+ "isUserTriggered": false,
+ "supportedActions": [],
+ "duration": "00:00:00",
+ "dataSourceLocation": "centraluseuap"
+ },
+ "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/8989416e-7573-4836-8cf1-0e90954f1002",
+ "name": "8989416e-7573-4836-8cf1-0e90954f1002",
+ "type": "Microsoft.DataProtection/Backupvaults/backupJobs"
+ },
+ {
+ "properties": {
+ "activityID": "b4f32e03-ded0-46fc-9afc-91853878efcd",
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/943c60db-c033-4d93-bb00-66048474e00e",
+ "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetPolicy3",
+ "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb5",
+ "vaultName": "BugBashVaultForCCYv11",
+ "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb5",
+ "policyName": "jakavetPolicy3",
+ "sourceResourceGroup": "DppPostgresTestingCcy",
+ "dataSourceSetName": "mabtestingccybasicv11",
+ "dataSourceName": "bugbashdb5",
+ "progressEnabled": false,
+ "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "startTime": "2021-03-16T18:00:03.6660733Z",
+ "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "operationCategory": "Backup",
+ "operation": "Backup",
+ "status": "Started",
+ "isUserTriggered": false,
+ "supportedActions": [],
+ "duration": "00:00:00",
+ "dataSourceLocation": "centraluseuap"
+ },
+ "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/ad218c05-242a-47c2-b7b7-c16bd0f8870c",
+ "name": "ad218c05-242a-47c2-b7b7-c16bd0f8870c",
+ "type": "Microsoft.DataProtection/Backupvaults/backupJobs"
+ },
+ {
+ "properties": {
+ "activityID": "c4344fb4-7c11-43a4-8307-7ae7c7fb09b9",
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/28460a9d-707a-45f3-ace6-b16284c2900e",
+ "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetdailypolicy",
+ "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb2",
+ "vaultName": "BugBashVaultForCCYv11",
+ "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb2",
+ "policyName": "jakavetdailypolicy",
+ "sourceResourceGroup": "DppPostgresTestingCcy",
+ "dataSourceSetName": "mabtestingccybasicv11",
+ "dataSourceName": "bugbashdb2",
+ "progressEnabled": false,
+ "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "startTime": "2021-03-17T03:00:03.7604146Z",
+ "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "operationCategory": "Backup",
+ "operation": "Backup",
+ "status": "Started",
+ "isUserTriggered": false,
+ "supportedActions": [],
+ "duration": "00:00:00",
+ "dataSourceLocation": "centraluseuap"
+ },
+ "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/3c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "name": "3c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "type": "Microsoft.DataProtection/Backupvaults/backupJobs"
+ },
+ {
+ "properties": {
+ "activityID": "94052cf1-a47f-4c1b-93e7-79e07b2bd008-Tue Mar 17 2021 11:11:48 GMT+0530 (India Standard Time)-Ibz",
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/0b247869-b8be-4885-b832-8ac4cdf5b00e",
+ "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetPolicy1",
+ "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb3",
+ "vaultName": "BugBashVaultForCCYv11",
+ "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb3",
+ "policyName": "jakavetPolicy1",
+ "sourceResourceGroup": "DppPostgresTestingCcy",
+ "dataSourceSetName": "mabtestingccybasicv11",
+ "dataSourceName": "bugbashdb3",
+ "progressEnabled": false,
+ "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "startTime": "2021-03-17T11:11:50.5595259Z",
+ "endTime": "2021-03-17T11:14:02.5319646Z",
+ "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "operationCategory": "Backup",
+ "operation": "Backup",
+ "status": "Succeeded",
+ "isUserTriggered": true,
+ "supportedActions": [
+ ""
+ ],
+ "duration": "00:02:11.9724387",
+ "dataSourceLocation": "centraluseuap"
+ },
+ "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/43252662-1b43-44fd-a856-0055665cb097",
+ "name": "43252662-1b43-44fd-a856-0055665cb097",
+ "type": "Microsoft.DataProtection/Backupvaults/backupJobs"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/JobCRUD/TriggerCancel.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/JobCRUD/TriggerCancel.json
new file mode 100644
index 000000000000..5b2b870ab7db
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/JobCRUD/TriggerCancel.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestVault",
+ "jobId": "3c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://api-dogfood.resources.windows-int.net/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/SwaggerTestRg/providers/Microsoft.DataProtection/backupJobs/3c60cb49-63e8-4b21-b9bd-26277b3fdfae/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Azure-AsyncOperation": "https://api-dogfood.resources.windows-int.net/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-08-01-preview",
+ "Retry-After": "60"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/JobCRUD/TriggerExportJobs.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/JobCRUD/TriggerExportJobs.json
new file mode 100644
index 000000000000..b778c76769a5
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/JobCRUD/TriggerExportJobs.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.DataProtection/backupVaults/NetSDKTestRsVault/backupJobs/operations/00000000-0000-0000-0000-000000000000?api-version=2023-08-01-preview",
+ "Retry-After": 60
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/Operations/List.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/Operations/List.json
new file mode 100644
index 000000000000..4eb10b3e2f4b
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/Operations/List.json
@@ -0,0 +1,533 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DataProtection/locations/getBackupStatus/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Status",
+ "operation": "Check Backup Status for Vault",
+ "description": "Check Backup Status for Recovery Services Vaults"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/write",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Create a Backup Instance",
+ "description": "Creates a Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/delete",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Delete Backup Instance",
+ "description": "Deletes the Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Get Backup Instance Details",
+ "description": "Returns details of the Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Get Backup Instances",
+ "description": "Returns all Backup Instances"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/backup/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Backup Backup Instance",
+ "description": "Performs Backup on the Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/sync/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Sync Backup Instance",
+ "description": "Sync operation retries last failed operation on backup instance to bring it to a valid state."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/operationResults/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Get Backup Operation Result",
+ "description": "Returns Backup Operation Result for Backup Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/stopProtection/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Stop Protection of Backup Instance",
+ "description": "Stop Protection operation stops both backup and retention schedules of backup instance. Existing data will be retained forever."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/suspendBackups/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Suspend Backups of Backup Instance",
+ "description": "Suspend Backups operation stops only backups of backup instance. Retention activities will continue and hence data will be ratained as per policy."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/resumeProtection/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Resume Protection of Backup Instance",
+ "description": "Resume protection of a ProtectionStopped BI."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/resumeBackups/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Resume Backups of Backup Instance",
+ "description": "Resume Backups for a BackupsSuspended BI."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/validateRestore/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Validate for Restore of Backup Instance",
+ "description": "Validates for Restore of the Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/restore/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Restore Backup Instance",
+ "description": "Triggers restore on the Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupPolicies/write",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Policies",
+ "operation": "Create Backup Policy",
+ "description": "Creates Backup Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupPolicies/delete",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Policies",
+ "operation": "Delete Backup Policy",
+ "description": "Deletes the Backup Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupPolicies/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Policies",
+ "operation": "Get Backup Policy details",
+ "description": "Returns details of the Backup Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupPolicies/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Policies",
+ "operation": "Get Backup Policies",
+ "description": "Returns all Backup Policies"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupResourceGuardProxies/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guard Proxy",
+ "operation": "Get the list of ResourceGuard proxies for a resource",
+ "description": "Get the list of ResourceGuard proxies for a resource"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupResourceGuardProxies/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guard Proxy",
+ "operation": "Get ResourceGuard proxy",
+ "description": "Get ResourceGuard proxy operation gets an object representing the Azure resource of type 'ResourceGuard proxy'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupResourceGuardProxies/write",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guard Proxy",
+ "operation": "Create ResourceGuard proxy",
+ "description": "Create ResourceGuard proxy operation creates an Azure resource of type 'ResourceGuard Proxy'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupResourceGuardProxies/delete",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guard Proxy",
+ "operation": "Delete ResourceGuard proxy",
+ "description": "The Delete ResourceGuard proxy operation deletes the specified Azure resource of type 'ResourceGuard proxy'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupResourceGuardProxies/unlockDelete/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guard Proxy",
+ "operation": "Unlock delete ResourceGuard proxy operation unlocks the next delete critical operation",
+ "description": "Unlock delete ResourceGuard proxy operation unlocks the next delete critical operation"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/recoveryPoints/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Recovery Points",
+ "operation": "Get Recovery Point Details",
+ "description": "Returns details of the Recovery Point"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/recoveryPoints/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Recovery Points",
+ "operation": "Get Recovery Points",
+ "description": "Returns all Recovery Points"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/findRestorableTimeRanges/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Restorable Time Ranges",
+ "operation": "Find Restorable Time Ranges",
+ "description": "Finds Restorable Time Ranges"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/write",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Create Backup Vault",
+ "description": "Create BackupVault operation creates an Azure resource of type 'Backup Vault'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Create Backup Vault",
+ "description": "Create BackupVault operation creates an Azure resource of type 'Backup Vault'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/delete",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Create Backup Vault",
+ "description": "Create BackupVault operation creates an Azure resource of type 'Backup Vault'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/operationResults/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Get Operation Result of a Patch Operation for a Backup Vault",
+ "description": "Gets Operation Result of a Patch Operation for a Backup Vault"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/locations/checkNameAvailability/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Check if the requested BackupVault Name is Available",
+ "description": "Checks if the requested BackupVault Name is Available"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Get Backup Vaults in a Resource Group",
+ "description": "Gets list of Backup Vaults in a Resource Group"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Get Backup Vaults in a Subscription",
+ "description": "Gets list of Backup Vaults in a Subscription"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/write",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Create ResourceGuard",
+ "description": "Create ResourceGuard operation creates an Azure resource of type 'ResourceGuard'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Get ResourceGuard",
+ "description": "The Get ResourceGuard operation gets an object representing the Azure resource of type 'ResourceGuard'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/delete",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Delete ResourceGuard",
+ "description": "The Delete ResourceGuard operation deletes the specified Azure resource of type 'ResourceGuard'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Get ResourceGuards in a Resource Group",
+ "description": "Gets list of ResourceGuards in a Resource Group"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/providers/resourceGuards/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Get ResourceGuards in a Subscription",
+ "description": "Gets list of ResourceGuards in a Subscription"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/write",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Update ResourceGuard",
+ "description": "Update ResouceGuard operation updates an Azure resource of type 'ResourceGuard'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/{operationName}/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Get ResourceGuard operation request info",
+ "description": "Gets ResourceGuard operation request info"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/{operationName}/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Get ResourceGuard default operation request info",
+ "description": "Gets ResourceGuard default operation request info"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/providers/locations/checkFeatureSupport/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Provider Operation",
+ "operation": "Validate if a feature is supported",
+ "description": "Validates if a feature is supported"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/locations/operationStatus/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Operation Status",
+ "operation": "Get Backup Operation Status",
+ "description": "Returns Backup Operation Status for Backup Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/operationStatus/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Operation Status",
+ "operation": "Get Backup Operation Status",
+ "description": "Returns Backup Operation Status for Backup Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/operationStatus/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Operation Status",
+ "operation": "Get Backup Operation Status",
+ "description": "Returns Backup Operation Status for Backup Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/locations/operationResults/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Operation Results",
+ "operation": "Get Backup Operation Result",
+ "description": "Returns Backup Operation Result for Backup Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/validateForBackup/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Validate Backup",
+ "operation": "Validate for backup of Backup Instance",
+ "description": "Validates for backup of Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupJobs/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Jobs",
+ "operation": "Backup Jobs",
+ "description": "Get Jobs list"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupJobs/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Jobs",
+ "operation": "Backup Job Object",
+ "description": "Get Job details"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/register/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Provider Operation",
+ "operation": "Register Resource Provider",
+ "description": "Registers subscription for given Resource Provider"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/unregister/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Provider Operation",
+ "operation": "Unregister Resource Provider",
+ "description": "Unregisters subscription for given Resource Provider"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/operations/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Provider Operation",
+ "operation": "List of Operations",
+ "description": "Operation returns the list of Operations for a Resource Provider"
+ },
+ "origin": "user"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/PolicyCRUD/CreateOrUpdateBackupPolicy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/PolicyCRUD/CreateOrUpdateBackupPolicy.json
new file mode 100644
index 000000000000..ba09a9aa6471
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/PolicyCRUD/CreateOrUpdateBackupPolicy.json
@@ -0,0 +1,200 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PrivatePreviewVault",
+ "backupPolicyName": "OSSDBPolicy",
+ "api-version": "2023-08-01-preview",
+ "parameters": {
+ "properties": {
+ "policyRules": [
+ {
+ "backupParameters": {
+ "backupType": "Full",
+ "objectType": "AzureBackupParams"
+ },
+ "trigger": {
+ "schedule": {
+ "repeatingTimeIntervals": [
+ "R/2019-11-20T08:00:00-08:00/P1W"
+ ]
+ },
+ "taggingCriteria": [
+ {
+ "tagInfo": {
+ "tagName": "Default"
+ },
+ "taggingPriority": 99,
+ "isDefault": true
+ },
+ {
+ "tagInfo": {
+ "tagName": "Weekly"
+ },
+ "taggingPriority": 20,
+ "isDefault": false,
+ "criteria": [
+ {
+ "scheduleTimes": [
+ "2019-03-01T13:00:00Z"
+ ],
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "objectType": "ScheduleBasedBackupCriteria"
+ }
+ ]
+ }
+ ],
+ "objectType": "ScheduleBasedTriggerContext"
+ },
+ "dataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "name": "BackupWeekly",
+ "objectType": "AzureBackupRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P1W"
+ }
+ }
+ ],
+ "isDefault": true,
+ "name": "Default",
+ "objectType": "AzureRetentionRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P12W"
+ }
+ }
+ ],
+ "isDefault": false,
+ "name": "Weekly",
+ "objectType": "AzureRetentionRule"
+ }
+ ],
+ "datasourceTypes": [
+ "OssDB"
+ ],
+ "objectType": "BackupPolicy"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PrivatePreviewVault/backupPolicies/OSSDBPolicy",
+ "name": "OSSDBPolicy",
+ "type": "Microsoft.DataProtection/backupVaults/backupPolicies",
+ "properties": {
+ "policyRules": [
+ {
+ "backupParameters": {
+ "backupType": "Full",
+ "objectType": "AzureBackupParams"
+ },
+ "trigger": {
+ "schedule": {
+ "repeatingTimeIntervals": [
+ "R/2019-11-20T08:00:00-08:00/P1W"
+ ]
+ },
+ "taggingCriteria": [
+ {
+ "tagInfo": {
+ "tagName": "Default",
+ "id": "Default_"
+ },
+ "taggingPriority": 99,
+ "isDefault": true
+ },
+ {
+ "tagInfo": {
+ "tagName": "Weekly",
+ "id": "Weekly_"
+ },
+ "taggingPriority": 20,
+ "isDefault": false,
+ "criteria": [
+ {
+ "scheduleTimes": [
+ "2019-03-01T13:00:00Z"
+ ],
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "objectType": "ScheduleBasedBackupCriteria"
+ }
+ ]
+ }
+ ],
+ "objectType": "ScheduleBasedTriggerContext"
+ },
+ "dataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "name": "BackupWeekly",
+ "objectType": "AzureBackupRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P1W"
+ }
+ }
+ ],
+ "isDefault": true,
+ "name": "Default",
+ "objectType": "AzureRetentionRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P12W"
+ }
+ }
+ ],
+ "isDefault": false,
+ "name": "Weekly",
+ "objectType": "AzureRetentionRule"
+ }
+ ],
+ "datasourceTypes": [
+ "OssDB"
+ ],
+ "objectType": "BackupPolicy"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/PolicyCRUD/DeleteBackupPolicy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/PolicyCRUD/DeleteBackupPolicy.json
new file mode 100644
index 000000000000..32a91b216f2d
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/PolicyCRUD/DeleteBackupPolicy.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PrivatePreviewVault",
+ "backupPolicyName": "OSSDBPolicy",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/PolicyCRUD/GetBackupPolicy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/PolicyCRUD/GetBackupPolicy.json
new file mode 100644
index 000000000000..04a2e31f3b13
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/PolicyCRUD/GetBackupPolicy.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PrivatePreviewVault",
+ "backupPolicyName": "OSSDBPolicy",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PrivatePreviewVault/backupPolicies/OSSDBPolicy",
+ "name": "OSSDBPolicy",
+ "type": "Microsoft.DataProtection/backupVaults/backupPolicies",
+ "properties": {
+ "policyRules": [
+ {
+ "backupParameters": {
+ "backupType": "Full",
+ "objectType": "AzureBackupParams"
+ },
+ "trigger": {
+ "schedule": {
+ "repeatingTimeIntervals": [
+ "R/2019-11-20T08:00:00-08:00/P1W"
+ ]
+ },
+ "taggingCriteria": [
+ {
+ "tagInfo": {
+ "tagName": "Default",
+ "id": "Default_"
+ },
+ "taggingPriority": 99,
+ "isDefault": true
+ },
+ {
+ "tagInfo": {
+ "tagName": "Weekly",
+ "id": "Weekly_"
+ },
+ "taggingPriority": 20,
+ "isDefault": false,
+ "criteria": [
+ {
+ "scheduleTimes": [
+ "2019-03-01T13:00:00Z"
+ ],
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "objectType": "ScheduleBasedBackupCriteria"
+ }
+ ]
+ }
+ ],
+ "objectType": "ScheduleBasedTriggerContext"
+ },
+ "dataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "name": "BackupWeekly",
+ "objectType": "AzureBackupRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P1W"
+ }
+ }
+ ],
+ "isDefault": true,
+ "name": "Default",
+ "objectType": "AzureRetentionRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P12W"
+ }
+ }
+ ],
+ "isDefault": false,
+ "name": "Weekly",
+ "objectType": "AzureRetentionRule"
+ }
+ ],
+ "datasourceTypes": [
+ "OssDB"
+ ],
+ "objectType": "BackupPolicy"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/PolicyCRUD/ListBackupPolicy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/PolicyCRUD/ListBackupPolicy.json
new file mode 100644
index 000000000000..1e82ee80244b
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/PolicyCRUD/ListBackupPolicy.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PrivatePreviewVault",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PrivatePreviewVault/backupPolicies/OSSDBPolicy",
+ "name": "OSSDBPolicy",
+ "type": "Microsoft.DataProtection/backupVaults/backupPolicies",
+ "properties": {
+ "policyRules": [
+ {
+ "backupParameters": {
+ "backupType": "Full",
+ "objectType": "AzureBackupParams"
+ },
+ "trigger": {
+ "schedule": {
+ "repeatingTimeIntervals": [
+ "R/2019-11-20T08:00:00-08:00/P1W"
+ ]
+ },
+ "taggingCriteria": [
+ {
+ "tagInfo": {
+ "tagName": "Default",
+ "id": "Default_"
+ },
+ "taggingPriority": 99,
+ "isDefault": true
+ },
+ {
+ "tagInfo": {
+ "tagName": "Weekly",
+ "id": "Weekly_"
+ },
+ "taggingPriority": 20,
+ "isDefault": false,
+ "criteria": [
+ {
+ "scheduleTimes": [
+ "2019-03-01T13:00:00Z"
+ ],
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "objectType": "ScheduleBasedBackupCriteria"
+ }
+ ]
+ }
+ ],
+ "objectType": "ScheduleBasedTriggerContext"
+ },
+ "dataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "name": "BackupWeekly",
+ "objectType": "AzureBackupRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P1W"
+ }
+ }
+ ],
+ "isDefault": true,
+ "name": "Default",
+ "objectType": "AzureRetentionRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P12W"
+ }
+ }
+ ],
+ "isDefault": false,
+ "name": "Weekly",
+ "objectType": "AzureRetentionRule"
+ }
+ ],
+ "datasourceTypes": [
+ "OssDB"
+ ],
+ "objectType": "BackupPolicy"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/DeleteResourceGuard.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/DeleteResourceGuard.json
new file mode 100644
index 000000000000..6fd4466c36aa
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/DeleteResourceGuard.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardsName": "swaggerExample",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetDefaultBackupSecurityPINRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetDefaultBackupSecurityPINRequests.json
new file mode 100644
index 000000000000..77c03d0a02e1
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetDefaultBackupSecurityPINRequests.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardsName": "swaggerExample",
+ "requestName": "default",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/getBackupSecurityPINRequests/default",
+ "name": "default",
+ "type": "Microsoft.DataProtection/resourceGuards/getBackupSecurityPINRequests"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetDefaultDeleteProtectedItemRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetDefaultDeleteProtectedItemRequests.json
new file mode 100644
index 000000000000..73b52ed35bd0
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetDefaultDeleteProtectedItemRequests.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardsName": "swaggerExample",
+ "requestName": "default",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/deleteProtectedItemRequests/default",
+ "name": "default",
+ "type": "Microsoft.DataProtection/resourceGuards/deleteProtectedItemRequests"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetDefaultDeleteResourceGuardProxyRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetDefaultDeleteResourceGuardProxyRequests.json
new file mode 100644
index 000000000000..1fc934fb32d2
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetDefaultDeleteResourceGuardProxyRequests.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardsName": "swaggerExample",
+ "requestName": "default",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/deleteResourceGuardProxyRequests/default",
+ "name": "default",
+ "type": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetDefaultDisableSoftDeleteRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetDefaultDisableSoftDeleteRequests.json
new file mode 100644
index 000000000000..c0ffabdb7012
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetDefaultDisableSoftDeleteRequests.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardsName": "swaggerExample",
+ "requestName": "default",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/disableSoftDeleteRequests/default",
+ "name": "default",
+ "type": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetDefaultUpdateProtectedItemRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetDefaultUpdateProtectedItemRequests.json
new file mode 100644
index 000000000000..25bb6a6c27e3
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetDefaultUpdateProtectedItemRequests.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardsName": "swaggerExample",
+ "requestName": "default",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/updateProtectedItemRequests/default",
+ "name": "default",
+ "type": "Microsoft.DataProtection/resourceGuards/updateProtectedItemRequests"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetDefaultUpdateProtectionPolicyRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetDefaultUpdateProtectionPolicyRequests.json
new file mode 100644
index 000000000000..320ecb5c6440
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetDefaultUpdateProtectionPolicyRequests.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardsName": "swaggerExample",
+ "requestName": "default",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/updateProtectionPolicyRequests/default",
+ "name": "default",
+ "type": "Microsoft.DataProtection/resourceGuards/updateProtectionPolicyRequests"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetResourceGuard.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetResourceGuard.json
new file mode 100644
index 000000000000..3face31214b5
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetResourceGuard.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardsName": "swaggerExample",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "eastus",
+ "tags": {
+ "TestKey": "TestValue"
+ },
+ "id": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew",
+ "name": "ResourceGuardTestNew",
+ "type": "Microsoft.DataProtection/resourceGuards",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "allowAutoApprovals": true,
+ "resourceGuardOperations": [
+ {
+ "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies/delete",
+ "requestResourceType": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests"
+ },
+ {
+ "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupconfig/write",
+ "requestResourceType": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests"
+ }
+ ],
+ "description": "Please take JIT access before performing any of the critical operation",
+ "vaultCriticalOperationExclusionList": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetResourceGuardsInResourceGroup.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetResourceGuardsInResourceGroup.json
new file mode 100644
index 000000000000..5df3dbb8039a
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetResourceGuardsInResourceGroup.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "eastus",
+ "tags": {
+ "TestKey": "TestValue"
+ },
+ "id": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew",
+ "name": "VaultGuardTestNew",
+ "type": "Microsoft.DataProtection/resourceGuards",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "allowAutoApprovals": true,
+ "resourceGuardOperations": [
+ {
+ "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies/delete",
+ "requestResourceType": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests"
+ },
+ {
+ "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupconfig/write",
+ "requestResourceType": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests"
+ }
+ ],
+ "description": "Please take JIT access before performing any of the critical operation",
+ "vaultCriticalOperationExclusionList": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetResourceGuardsInSubscription.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetResourceGuardsInSubscription.json
new file mode 100644
index 000000000000..66187e6636c1
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/GetResourceGuardsInSubscription.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "eastus",
+ "tags": {
+ "TestKey": "TestValue"
+ },
+ "id": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew",
+ "name": "VaultGuardTestNew",
+ "type": "Microsoft.DataProtection/resourceGuards",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "allowAutoApprovals": true,
+ "resourceGuardOperations": [
+ {
+ "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies/delete",
+ "requestResourceType": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests"
+ },
+ {
+ "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupconfig/write",
+ "requestResourceType": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests"
+ }
+ ],
+ "description": "Please take JIT access before performing any of the critical operation",
+ "vaultCriticalOperationExclusionList": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/ListBackupSecurityPINRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/ListBackupSecurityPINRequests.json
new file mode 100644
index 000000000000..ba349a7db265
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/ListBackupSecurityPINRequests.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardsName": "swaggerExample",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/getBackupSecurityPINRequests/default",
+ "name": "default",
+ "type": "Microsoft.DataProtection/resourceGuards/getBackupSecurityPINRequests"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/ListDeleteProtectedItemRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/ListDeleteProtectedItemRequests.json
new file mode 100644
index 000000000000..7d6730cb8e9d
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/ListDeleteProtectedItemRequests.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardsName": "swaggerExample",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/deleteProtectedItemRequests/default",
+ "name": "default",
+ "type": "Microsoft.DataProtection/resourceGuards/deleteProtectedItemRequests"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/ListDeleteResourceGuardProxyRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/ListDeleteResourceGuardProxyRequests.json
new file mode 100644
index 000000000000..0a0a2f14a122
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/ListDeleteResourceGuardProxyRequests.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardsName": "swaggerExample",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/deleteResourceGuardProxyRequests/default",
+ "name": "default",
+ "type": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/ListDisableSoftDeleteRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/ListDisableSoftDeleteRequests.json
new file mode 100644
index 000000000000..120d5bfc2b6a
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/ListDisableSoftDeleteRequests.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardsName": "swaggerExample",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/disableSoftDeleteRequests/default",
+ "name": "default",
+ "type": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/ListUpdateProtectedItemRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/ListUpdateProtectedItemRequests.json
new file mode 100644
index 000000000000..6ac227dca20b
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/ListUpdateProtectedItemRequests.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardsName": "swaggerExample",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/updateProtectedItemRequests/default",
+ "name": "default",
+ "type": "Microsoft.DataProtection/resourceGuards/updateProtectedItemRequests"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/ListUpdateProtectionPolicyRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/ListUpdateProtectionPolicyRequests.json
new file mode 100644
index 000000000000..91bc10bf0bbd
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/ListUpdateProtectionPolicyRequests.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardsName": "swaggerExample",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/updateProtectionPolicyRequests/default",
+ "name": "default",
+ "type": "Microsoft.DataProtection/resourceGuards/updateProtectionPolicyRequests"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/PatchResourceGuard.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/PatchResourceGuard.json
new file mode 100644
index 000000000000..528383f0187d
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/PatchResourceGuard.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardsName": "swaggerExample",
+ "api-version": "2023-08-01-preview",
+ "parameters": {
+ "tags": {
+ "newKey": "newVal"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "eastus",
+ "tags": {
+ "TestKey": "TestValue"
+ },
+ "id": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew",
+ "name": "VaultGuardTestNew",
+ "type": "Microsoft.DataProtection/resourceGuards",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "allowAutoApprovals": true,
+ "resourceGuardOperations": [
+ {
+ "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies/delete",
+ "requestResourceType": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests"
+ },
+ {
+ "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupconfig/write",
+ "requestResourceType": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests"
+ }
+ ],
+ "description": "Please take JIT access before performing any of the critical operation"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/PutResourceGuard.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/PutResourceGuard.json
new file mode 100644
index 000000000000..17be95be79a4
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardCRUD/PutResourceGuard.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardsName": "swaggerExample",
+ "api-version": "2023-08-01-preview",
+ "parameters": {
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "eastus",
+ "tags": {
+ "TestKey": "TestValue"
+ },
+ "id": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew",
+ "name": "VaultGuardTestNew",
+ "type": "Microsoft.DataProtection/resourceGuards",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "allowAutoApprovals": true,
+ "resourceGuardOperations": [
+ {
+ "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies/delete",
+ "requestResourceType": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests"
+ },
+ {
+ "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupconfig/write",
+ "requestResourceType": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests"
+ }
+ ],
+ "description": "Please take JIT access before performing any of the critical operation",
+ "vaultCriticalOperationExclusionList": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "eastus",
+ "tags": {
+ "TestKey": "TestValue"
+ },
+ "id": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew",
+ "name": "VaultGuardTestNew",
+ "type": "Microsoft.DataProtection/resourceGuards",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "allowAutoApprovals": true,
+ "resourceGuardOperations": [
+ {
+ "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies/delete",
+ "requestResourceType": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests"
+ },
+ {
+ "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupconfig/write",
+ "requestResourceType": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests"
+ }
+ ],
+ "description": "Please take JIT access before performing any of the critical operation",
+ "vaultCriticalOperationExclusionList": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json
new file mode 100644
index 000000000000..361288b061df
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "5e13b949-1218-4d18-8b99-7e12155ec4f7",
+ "vaultName": "sampleVault",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardProxyName": "swaggerExample",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json
new file mode 100644
index 000000000000..24f8a34e8456
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "5e13b949-1218-4d18-8b99-7e12155ec4f7",
+ "vaultName": "sampleVault",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardProxyName": "swaggerExample",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5e13b949-1218-4d18-8b99-7e12155ec4f7/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/backupVaults/sampleVault/backupResourceGuardProxies/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/vaults/backupResourceGuardProxies",
+ "properties": {
+ "resourceGuardResourceId": "/subscriptions/f9e67185-f313-4e79-aa71-6458d429369d/resourceGroups/ResourceGuardSecurityAdminRG/providers/Microsoft.DataProtection/resourceGuards/ResourceGuardTestResource",
+ "resourceGuardOperationDetails": [
+ {
+ "vaultCriticalOperation": "Microsoft.DataProtection/backupVaults/backupInstances/delete",
+ "defaultResourceRequest": "/subscriptions/f9e67185-f313-4e79-aa71-6458d429369d/resourceGroups/ResourceGuardSecurityAdminRG/providers/Microsoft.DataProtection/resourceGuards/ResourceGuardTestResource/deleteBackupInstanceRequests/default"
+ },
+ {
+ "vaultCriticalOperation": "Microsoft.DataProtection/backupVaults/backupResourceGuardProxies/delete",
+ "defaultResourceRequest": "/subscriptions/f9e67185-f313-4e79-aa71-6458d429369d/resourceGroups/ResourceGuardSecurityAdminRG/providers/Microsoft.DataProtection/resourceGuards/ResourceGuardTestResource/deleteResourceGuardProxyRequests/default"
+ }
+ ],
+ "lastUpdatedTime": "2022-09-16T11:44:37.6130487Z",
+ "description": "Please take JIT access before performing any of the critical operation"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json
new file mode 100644
index 000000000000..2f46bcd3b49d
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "5e13b949-1218-4d18-8b99-7e12155ec4f7",
+ "vaultName": "sampleVault",
+ "resourceGroupName": "SampleResourceGroup",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5e13b949-1218-4d18-8b99-7e12155ec4f7/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/backupVaults/sampleVault/backupResourceGuardProxies/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/vaults/backupResourceGuardProxies",
+ "properties": {
+ "resourceGuardResourceId": "/subscriptions/f9e67185-f313-4e79-aa71-6458d429369d/resourceGroups/ResourceGuardSecurityAdminRG/providers/Microsoft.DataProtection/resourceGuards/ResourceGuardTestResource",
+ "resourceGuardOperationDetails": [
+ {
+ "vaultCriticalOperation": "Microsoft.DataProtection/backupVaults/backupInstances/delete",
+ "defaultResourceRequest": "/subscriptions/f9e67185-f313-4e79-aa71-6458d429369d/resourceGroups/ResourceGuardSecurityAdminRG/providers/Microsoft.DataProtection/resourceGuards/ResourceGuardTestResource/deleteBackupInstanceRequests/default"
+ },
+ {
+ "vaultCriticalOperation": "Microsoft.DataProtection/backupVaults/backupResourceGuardProxies/delete",
+ "defaultResourceRequest": "/subscriptions/f9e67185-f313-4e79-aa71-6458d429369d/resourceGroups/ResourceGuardSecurityAdminRG/providers/Microsoft.DataProtection/resourceGuards/ResourceGuardTestResource/deleteResourceGuardProxyRequests/default"
+ }
+ ],
+ "lastUpdatedTime": "2022-09-16T11:44:37.6130487Z",
+ "description": "Please take JIT access before performing any of the critical operation"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json
new file mode 100644
index 000000000000..ce5116f5a6d5
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "5e13b949-1218-4d18-8b99-7e12155ec4f7",
+ "vaultName": "sampleVault",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardProxyName": "swaggerExample",
+ "api-version": "2023-08-01-preview",
+ "parameters": {
+ "properties": {
+ "resourceGuardResourceId": "/subscriptions/f9e67185-f313-4e79-aa71-6458d429369d/resourceGroups/ResourceGuardSecurityAdminRG/providers/Microsoft.DataProtection/resourceGuards/ResourceGuardTestResource"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5e13b949-1218-4d18-8b99-7e12155ec4f7/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/backupVaults/sampleVault/backupResourceGuardProxies/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/vaults/backupResourceGuardProxies",
+ "properties": {
+ "resourceGuardResourceId": "/subscriptions/f9e67185-f313-4e79-aa71-6458d429369d/resourceGroups/ResourceGuardSecurityAdminRG/providers/Microsoft.DataProtection/resourceGuards/ResourceGuardTestResource",
+ "resourceGuardOperationDetails": [
+ {
+ "vaultCriticalOperation": "Microsoft.DataProtection/backupVaults/backupInstances/delete",
+ "defaultResourceRequest": "/subscriptions/f9e67185-f313-4e79-aa71-6458d429369d/resourceGroups/ResourceGuardSecurityAdminRG/providers/Microsoft.DataProtection/resourceGuards/ResourceGuardTestResource/deleteBackupInstanceRequests/default"
+ },
+ {
+ "vaultCriticalOperation": "Microsoft.DataProtection/backupVaults/backupResourceGuardProxies/delete",
+ "defaultResourceRequest": "/subscriptions/f9e67185-f313-4e79-aa71-6458d429369d/resourceGroups/ResourceGuardSecurityAdminRG/providers/Microsoft.DataProtection/resourceGuards/ResourceGuardTestResource/deleteResourceGuardProxyRequests/default"
+ }
+ ],
+ "lastUpdatedTime": "2022-09-16T11:44:37.6130487Z",
+ "description": "Please take JIT access before performing any of the critical operation"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json
new file mode 100644
index 000000000000..33404c86e57d
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "5e13b949-1218-4d18-8b99-7e12155ec4f7",
+ "vaultName": "sampleVault",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardProxyName": "swaggerExample",
+ "api-version": "2023-08-01-preview",
+ "parameters": {
+ "resourceGuardOperationRequests": [
+ "/subscriptions/f9e67185-f313-4e79-aa71-6458d429369d/resourceGroups/ResourceGuardSecurityAdminRG/providers/Microsoft.DataProtection/resourceGuards/ResourceGuardTestResource/deleteBackupInstanceRequests/default"
+ ],
+ "resourceToBeDeleted": "/subscriptions/5e13b949-1218-4d18-8b99-7e12155ec4f7/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/backupVaults/sampleVault/backupInstances/TestBI9779f4de"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "unlockDeleteExpiryTime": "2022-09-16T12:50:10.7039695Z"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/CheckBackupVaultsNameAvailability.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/CheckBackupVaultsNameAvailability.json
new file mode 100644
index 000000000000..33d359db1bbb
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/CheckBackupVaultsNameAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "location": "westus",
+ "api-version": "2023-08-01-preview",
+ "parameters": {
+ "type": "Microsoft.DataProtection/BackupVaults",
+ "name": "swaggerExample"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/DeleteBackupVault.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/DeleteBackupVault.json
new file mode 100644
index 000000000000..f966d141e8b9
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/DeleteBackupVault.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {},
+ "202": {
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-08-01-preview",
+ "Location": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-08-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/GetBackupVault.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/GetBackupVault.json
new file mode 100644
index 000000000000..198075b0b59f
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/GetBackupVault.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "monitoringSettings": {
+ "azureMonitorAlertSettings": {
+ "alertsForAllJobFailures": "Enabled"
+ }
+ },
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ],
+ "featureSettings": {
+ "crossRegionRestoreSettings": {
+ "state": "Enabled"
+ }
+ },
+ "securitySettings": {
+ "softDeleteSettings": {
+ "state": "Enabled",
+ "retentionDurationInDays": 14
+ }
+ },
+ "secureScore": "Adequate"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/GetBackupVaultWithCMK.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/GetBackupVaultWithCMK.json
new file mode 100644
index 000000000000..54612d03e049
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/GetBackupVaultWithCMK.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "identity": {
+ "principalId": "c009b9a0-0024-417c-83cd-025d3776045d",
+ "tenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cecc",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securitySettings": {
+ "softDeleteSettings": {
+ "state": "Off",
+ "retentionDurationInDays": 0
+ },
+ "immutabilitySettings": {
+ "state": "Disabled"
+ },
+ "encryptionSettings": {
+ "state": "Enabled",
+ "keyVaultProperties": {
+ "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"
+ },
+ "kekIdentity": {
+ "identityType": "UserAssigned",
+ "identityId": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi"
+ },
+ "infrastructureEncryption": "Disabled"
+ }
+ },
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/GetBackupVaultWithMSI.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/GetBackupVaultWithMSI.json
new file mode 100644
index 000000000000..b88bd87f1c56
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/GetBackupVaultWithMSI.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "identity": {
+ "principalId": "c009b9a0-0024-417c-83cd-025d3776045d",
+ "tenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cecc",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ],
+ "featureSettings": {
+ "crossRegionRestoreSettings": {
+ "state": "Enabled"
+ }
+ },
+ "securitySettings": {
+ "softDeleteSettings": {
+ "state": "Enabled",
+ "retentionDurationInDays": 14
+ }
+ },
+ "secureScore": "Adequate"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/GetBackupVaultsInResourceGroup.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/GetBackupVaultsInResourceGroup.json
new file mode 100644
index 000000000000..c72b1dea2c5d
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/GetBackupVaultsInResourceGroup.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/BackupVaults/ExampleVault1",
+ "name": "ExampleVault1",
+ "type": "Microsoft.DataProtection/BackupVaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ],
+ "featureSettings": {
+ "crossRegionRestoreSettings": {
+ "state": "Enabled"
+ }
+ },
+ "securitySettings": {
+ "softDeleteSettings": {
+ "state": "Enabled",
+ "retentionDurationInDays": 14
+ }
+ },
+ "secureScore": "Adequate"
+ }
+ },
+ {
+ "identity": {
+ "principalId": "c009b9a0-0024-417c-83cd-025d3776045d",
+ "tenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cecc",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/BackupVaults/ExampleVault2",
+ "name": "ExampleVault2",
+ "type": "Microsoft.DataProtection/BackupVaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "monitoringSettings": {
+ "azureMonitorAlertSettings": {
+ "alertsForAllJobFailures": "Enabled"
+ }
+ },
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ],
+ "featureSettings": {
+ "crossRegionRestoreSettings": {
+ "state": "Enabled"
+ }
+ },
+ "securitySettings": {
+ "softDeleteSettings": {
+ "state": "Enabled",
+ "retentionDurationInDays": 14
+ }
+ },
+ "secureScore": "Adequate"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/GetBackupVaultsInSubscription.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/GetBackupVaultsInSubscription.json
new file mode 100644
index 000000000000..17de26132c4a
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/GetBackupVaultsInSubscription.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup2/providers/Microsoft.DataProtection/BackupVaults/ExampleVault1",
+ "name": "ExampleVault1",
+ "type": "Microsoft.DataProtection/BackupVaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ],
+ "featureSettings": {
+ "crossRegionRestoreSettings": {
+ "state": "Enabled"
+ }
+ },
+ "securitySettings": {
+ "softDeleteSettings": {
+ "state": "Enabled",
+ "retentionDurationInDays": 14
+ }
+ },
+ "secureScore": "Adequate"
+ }
+ },
+ {
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/BackupVaults/ExampleVault2",
+ "name": "ExampleVault2",
+ "type": "Microsoft.DataProtection/BackupVaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ],
+ "featureSettings": {
+ "crossRegionRestoreSettings": {
+ "state": "Enabled"
+ }
+ },
+ "securitySettings": {
+ "softDeleteSettings": {
+ "state": "Enabled",
+ "retentionDurationInDays": 14
+ }
+ },
+ "secureScore": "Adequate"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/GetOperationResultPatch.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/GetOperationResultPatch.json
new file mode 100644
index 000000000000..39740406904c
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/GetOperationResultPatch.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "operationId": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==",
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/backupVaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-08-01-preview",
+ "Location": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-08-01-preview"
+ },
+ "body": {
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/backupVaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-08-01-preview",
+ "Location": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-08-01-preview",
+ "Retry-After": "60"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/PatchBackupVault.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/PatchBackupVault.json
new file mode 100644
index 000000000000..56aa15dbcc1f
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/PatchBackupVault.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2023-08-01-preview",
+ "operationId": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==",
+ "parameters": {
+ "tags": {
+ "newKey": "newVal"
+ },
+ "properties": {
+ "monitoringSettings": {
+ "azureMonitorAlertSettings": {
+ "alertsForAllJobFailures": "Enabled"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-08-01-preview",
+ "Location": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-08-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "newKey": "newVal"
+ },
+ "properties": {
+ "monitoringSettings": {
+ "azureMonitorAlertSettings": {
+ "alertsForAllJobFailures": "Enabled"
+ }
+ },
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/PatchBackupVaultWithCMK.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/PatchBackupVaultWithCMK.json
new file mode 100644
index 000000000000..4e54e103fe25
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/PatchBackupVaultWithCMK.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2023-08-01-preview",
+ "operationId": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==",
+ "parameters": {
+ "tags": {
+ "newKey": "newVal"
+ },
+ "properties": {
+ "monitoringSettings": {
+ "azureMonitorAlertSettings": {
+ "alertsForAllJobFailures": "Enabled"
+ }
+ },
+ "securitySettings": {
+ "softDeleteSettings": {
+ "state": "On",
+ "retentionDurationInDays": 90
+ },
+ "immutabilitySettings": {
+ "state": "Disabled"
+ },
+ "encryptionSettings": {
+ "state": "Enabled",
+ "keyVaultProperties": {
+ "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"
+ },
+ "kekIdentity": {
+ "identityType": "SystemAssigned"
+ },
+ "infrastructureEncryption": "Enabled"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-04-01-privatepreview",
+ "Location": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-04-01-privatepreview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "newKey": "newVal"
+ },
+ "properties": {
+ "monitoringSettings": {
+ "azureMonitorAlertSettings": {
+ "alertsForAllJobFailures": "Enabled"
+ }
+ },
+ "securitySettings": {
+ "softDeleteSettings": {
+ "state": "On",
+ "retentionDurationInDays": 90
+ },
+ "immutabilitySettings": {
+ "state": "Disabled"
+ },
+ "encryptionSettings": {
+ "keyVaultProperties": {
+ "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"
+ },
+ "kekIdentity": {
+ "identityType": "SystemAssigned"
+ },
+ "infrastructureEncryption": "Enabled"
+ }
+ },
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/PutBackupVault.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/PutBackupVault.json
new file mode 100644
index 000000000000..ca0581fe058b
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/PutBackupVault.json
@@ -0,0 +1,123 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2023-08-01-preview",
+ "parameters": {
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "properties": {
+ "monitoringSettings": {
+ "azureMonitorAlertSettings": {
+ "alertsForAllJobFailures": "Enabled"
+ }
+ },
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ],
+ "featureSettings": {
+ "crossRegionRestoreSettings": {
+ "state": "Enabled"
+ }
+ },
+ "securitySettings": {
+ "softDeleteSettings": {
+ "state": "Enabled",
+ "retentionDurationInDays": 14
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "monitoringSettings": {
+ "azureMonitorAlertSettings": {
+ "alertsForAllJobFailures": "Enabled"
+ }
+ },
+ "provisioningState": "Provisioning",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ],
+ "featureSettings": {
+ "crossRegionRestoreSettings": {
+ "state": "Enabled"
+ }
+ },
+ "securitySettings": {
+ "softDeleteSettings": {
+ "state": "Enabled",
+ "retentionDurationInDays": 14
+ }
+ }
+ }
+ },
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-08-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "monitoringSettings": {
+ "azureMonitorAlertSettings": {
+ "alertsForAllJobFailures": "Enabled"
+ }
+ },
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ],
+ "featureSettings": {
+ "crossRegionRestoreSettings": {
+ "state": "Enabled"
+ }
+ },
+ "securitySettings": {
+ "softDeleteSettings": {
+ "state": "Enabled",
+ "retentionDurationInDays": 14
+ }
+ },
+ "secureScore": "Adequate"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/PutBackupVaultWithCMK.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/PutBackupVaultWithCMK.json
new file mode 100644
index 000000000000..bf448757ab19
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/PutBackupVaultWithCMK.json
@@ -0,0 +1,129 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2023-08-01-preview",
+ "parameters": {
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "properties": {
+ "monitoringSettings": {
+ "azureMonitorAlertSettings": {
+ "alertsForAllJobFailures": "Enabled"
+ }
+ },
+ "securitySettings": {
+ "softDeleteSettings": {
+ "state": "Off",
+ "retentionDurationInDays": 0
+ },
+ "immutabilitySettings": {
+ "state": "Disabled"
+ },
+ "encryptionSettings": {
+ "state": "Enabled",
+ "keyVaultProperties": {
+ "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"
+ },
+ "kekIdentity": {
+ "identityType": "UserAssigned",
+ "identityId": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi"
+ },
+ "infrastructureEncryption": "Enabled"
+ }
+ },
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "monitoringSettings": {
+ "azureMonitorAlertSettings": {
+ "alertsForAllJobFailures": "Enabled"
+ }
+ },
+ "securitySettings": {
+ "softDeleteSettings": {
+ "state": "Off",
+ "retentionDurationInDays": 0
+ },
+ "immutabilitySettings": {
+ "state": "Disabled"
+ },
+ "encryptionSettings": {
+ "state": "Enabled",
+ "keyVaultProperties": {
+ "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3"
+ },
+ "kekIdentity": {
+ "identityType": "UserAssigned",
+ "identityId": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi"
+ },
+ "infrastructureEncryption": "Enabled"
+ }
+ },
+ "provisioningState": "Provisioning",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ },
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-04-01-privatepreview"
+ }
+ },
+ "200": {
+ "body": {
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "monitoringSettings": {
+ "azureMonitorAlertSettings": {
+ "alertsForAllJobFailures": "Enabled"
+ }
+ },
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/PutBackupVaultWithMSI.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/PutBackupVaultWithMSI.json
new file mode 100644
index 000000000000..cf4d7d841c2e
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2023-08-01-preview/examples/VaultCRUD/PutBackupVaultWithMSI.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2023-08-01-preview",
+ "parameters": {
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "identity": {
+ "type": "systemAssigned"
+ },
+ "properties": {
+ "monitoringSettings": {
+ "azureMonitorAlertSettings": {
+ "alertsForAllJobFailures": "Enabled"
+ }
+ },
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ],
+ "featureSettings": {
+ "crossRegionRestoreSettings": {
+ "state": "Enabled"
+ }
+ },
+ "securitySettings": {
+ "softDeleteSettings": {
+ "state": "Enabled",
+ "retentionDurationInDays": 14
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "monitoringSettings": {
+ "azureMonitorAlertSettings": {
+ "alertsForAllJobFailures": "Enabled"
+ }
+ },
+ "provisioningState": "Provisioning",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ],
+ "featureSettings": {
+ "crossRegionRestoreSettings": {
+ "state": "Enabled"
+ }
+ },
+ "securitySettings": {
+ "softDeleteSettings": {
+ "state": "Enabled",
+ "retentionDurationInDays": 14
+ }
+ }
+ }
+ },
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-08-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "identity": {
+ "principalId": "c009b9a0-0024-417c-83cd-025d3776045d",
+ "tenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cecc",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "monitoringSettings": {
+ "azureMonitorAlertSettings": {
+ "alertsForAllJobFailures": "Enabled"
+ }
+ },
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ],
+ "featureSettings": {
+ "crossRegionRestoreSettings": {
+ "state": "Enabled"
+ }
+ },
+ "securitySettings": {
+ "softDeleteSettings": {
+ "state": "Enabled",
+ "retentionDurationInDays": 14
+ }
+ },
+ "secureScore": "Adequate"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-08-01/dataprotection.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-08-01/dataprotection.json
index 9108de8ec3ae..41875f42705a 100644
--- a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-08-01/dataprotection.json
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-08-01/dataprotection.json
@@ -6541,6 +6541,116 @@
},
"x-ms-discriminator-value": "KubernetesClusterRestoreCriteria"
},
+ "KubernetesClusterVaultTierRestoreCriteria": {
+ "description": "kubernetes Cluster Backup target info for restore operation from vault",
+ "required": [
+ "includeClusterScopeResources"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ItemLevelRestoreCriteria"
+ }
+ ],
+ "properties": {
+ "includeClusterScopeResources": {
+ "description": "Gets or sets the include cluster resources property. This property if enabled will include cluster scope resources during restore from vault.",
+ "type": "boolean"
+ },
+ "includedNamespaces": {
+ "description": "Gets or sets the include namespaces property. This property sets the namespaces to be included during restore from vault.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "excludedNamespaces": {
+ "description": "Gets or sets the exclude namespaces property. This property sets the namespaces to be excluded during restore from vault.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "includedResourceTypes": {
+ "description": "Gets or sets the include resource types property. This property sets the resource types to be included during restore from vault.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "excludedResourceTypes": {
+ "description": "Gets or sets the exclude resource types property. This property sets the resource types to be excluded during restore from vault.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "labelSelectors": {
+ "description": "Gets or sets the LabelSelectors property. This property sets the resource with such label selectors to be included during restore from vault.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "persistentVolumeRestoreMode": {
+ "description": "Gets or sets the PV (Persistent Volume) Restore Mode property. This property sets whether volumes needs to be restored from vault.",
+ "enum": [
+ "RestoreWithVolumeData",
+ "RestoreWithoutVolumeData"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PersistentVolumeRestoreMode",
+ "modelAsString": true
+ }
+ },
+ "conflictPolicy": {
+ "description": "Gets or sets the Conflict Policy property. This property sets policy during conflict of resources during restore from vault.",
+ "enum": [
+ "Skip",
+ "Patch"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ExistingResourcePolicy",
+ "modelAsString": true
+ }
+ },
+ "namespaceMappings": {
+ "description": "Gets or sets the Namespace Mappings property. This property sets if namespace needs to be change during restore from vault.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "restoreHookReferences": {
+ "description": "Gets or sets the restore hook references. This property sets the hook reference to be executed during restore from vault.",
+ "items": {
+ "$ref": "#/definitions/NamespacedNameResource"
+ },
+ "x-ms-identifiers": [],
+ "type": "array"
+ },
+ "stagingResourceGroupId": {
+ "description": "Gets or sets the staging RG Id for creating staging disks and snapshots during restore from vault.",
+ "type": "string",
+ "format": "arm-id"
+ },
+ "stagingStorageAccountId": {
+ "description": "Gets or sets the staging Storage Account Id for creating backup extension object store data during restore from vault.",
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.Storage/storageAccounts"
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "KubernetesClusterVaultTierRestoreCriteria"
+ },
"RecoveryPointDataStoreDetails": {
"description": "RecoveryPoint datastore details",
"properties": {
diff --git a/specification/dataprotection/resource-manager/readme.md b/specification/dataprotection/resource-manager/readme.md
index 7c40b6955c9b..f71bb4db13bc 100644
--- a/specification/dataprotection/resource-manager/readme.md
+++ b/specification/dataprotection/resource-manager/readme.md
@@ -33,6 +33,10 @@ csharp-sdks-folder: ./Generated/CSharp
python-sdks-folder: ./Generated/Python
go-sdk-folder: ./Generated/Golang
license-header: MICROSOFT_MIT
+suppressions:
+ - code: ResourceNameRestriction
+ reason: BackupInstance Resource is created by DPP Service, so regex wont add much value here.
+
```
### Validations
@@ -55,6 +59,16 @@ These settings apply only when `--tag=package-2023-08` is specified on the comma
input-file:
- Microsoft.DataProtection/stable/2023-08-01/dataprotection.json
```
+
+### Tag: package-preview-2023-08
+
+These settings apply only when `--tag=package-preview-2023-08` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2023-08'
+input-file:
+ - Microsoft.DataProtection/preview/2023-08-01-preview/dataprotection.json
+```
+
### Tag: package-preview-2023-06
These settings apply only when `--tag=package-preview-2023-06` is specified on the command line.
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/desktopvirtualization.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/desktopvirtualization.json
new file mode 100644
index 000000000000..c945a9479f28
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/desktopvirtualization.json
@@ -0,0 +1,7782 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-10-04-preview",
+ "title": "Desktop Virtualization API Client"
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "host": "management.azure.com",
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.DesktopVirtualization/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "List all of the available operations the Desktop Virtualization resource provider supports.",
+ "x-ms-examples": {
+ "OperationDescription_List": {
+ "$ref": "./examples/OperationDescription_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved operations.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderOperationList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}": {
+ "get": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_Get",
+ "description": "Get a workspace.",
+ "x-ms-examples": {
+ "Workspace_Get": {
+ "$ref": "./examples/Workspace_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved workspace.",
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_CreateOrUpdate",
+ "description": "Create or update a workspace.",
+ "x-ms-examples": {
+ "Workspace_Create": {
+ "$ref": "./examples/Workspace_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ },
+ {
+ "name": "workspace",
+ "description": "Object containing Workspace definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated workspace.",
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "201": {
+ "description": "Successfully created workspace.",
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_Delete",
+ "description": "Remove a workspace.",
+ "x-ms-examples": {
+ "Workspace_Delete": {
+ "$ref": "./examples/Workspace_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted workspace."
+ },
+ "204": {
+ "description": "Workspace does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_Update",
+ "description": "Update a workspace.",
+ "x-ms-examples": {
+ "Workspace_Update": {
+ "$ref": "./examples/Workspace_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ },
+ {
+ "name": "workspace",
+ "description": "Object containing Workspace definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/WorkspacePatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated workspace.",
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateLink"
+ ],
+ "operationId": "PrivateEndpointConnections_ListByWorkspace",
+ "description": "List private endpoint connections.",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_ListByWorkspace": {
+ "$ref": "./examples/PrivateEndpointConnection_ListByWorkspace.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved connection list.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResultWithSystemData"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateLink"
+ ],
+ "operationId": "PrivateEndpointConnections_GetByWorkspace",
+ "description": "Get a private endpoint connection.",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_GetByWorkspace": {
+ "$ref": "./examples/PrivateEndpointConnection_GetByWorkspace.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/parameters/PrivateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the connection.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateLink"
+ ],
+ "operationId": "PrivateEndpointConnections_DeleteByWorkspace",
+ "description": "Remove a connection.",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_DeleteByWorkspace": {
+ "$ref": "./examples/PrivateEndpointConnection_DeleteByWorkspace.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed."
+ },
+ "204": {
+ "description": "Connection does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateLink"
+ ],
+ "operationId": "PrivateEndpointConnections_UpdateByWorkspace",
+ "description": "Approve or reject a private endpoint connection.",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_UpdateByWorkspace": {
+ "$ref": "./examples/PrivateEndpointConnection_UpdateByWorkspace.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName"
+ },
+ {
+ "name": "connection",
+ "description": "Object containing the updated connection.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateLink"
+ ],
+ "operationId": "PrivateLinkResources_ListByWorkspace",
+ "description": "List the private link resources available for this workspace.",
+ "x-ms-examples": {
+ "PrivateLinkResources_ListByWorkspace": {
+ "$ref": "./examples/PrivateLinkResources_ListByWorkspace.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of items per page."
+ },
+ {
+ "name": "isDescending",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates whether the collection is descending."
+ },
+ {
+ "name": "initialSkip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Initial number of items to skip."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of resources.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces": {
+ "get": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_ListByResourceGroup",
+ "description": "List workspaces.",
+ "x-ms-examples": {
+ "Workspace_ListByResourceGroup": {
+ "$ref": "./examples/Workspace_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of items per page."
+ },
+ {
+ "name": "isDescending",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates whether the collection is descending."
+ },
+ {
+ "name": "initialSkip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Initial number of items to skip."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved workspaces in resource group.",
+ "schema": {
+ "$ref": "#/definitions/WorkspaceList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces": {
+ "get": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_ListBySubscription",
+ "description": "List workspaces in subscription.",
+ "x-ms-examples": {
+ "Workspace_ListBySubscription": {
+ "$ref": "./examples/Workspace_ListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved workspaces in subscription.",
+ "schema": {
+ "$ref": "#/definitions/WorkspaceList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}": {
+ "get": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_Get",
+ "description": "Get a scaling plan.",
+ "x-ms-examples": {
+ "ScalingPlans_Get": {
+ "$ref": "./examples/ScalingPlan_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved scaling plan.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_Create",
+ "description": "Create or update a scaling plan.",
+ "x-ms-examples": {
+ "ScalingPlans_Create": {
+ "$ref": "./examples/ScalingPlan_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ },
+ {
+ "name": "scalingPlan",
+ "description": "Object containing scaling plan definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated scaling plan.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ },
+ "201": {
+ "description": "Successfully created scaling plan.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_Delete",
+ "description": "Remove a scaling plan.",
+ "x-ms-examples": {
+ "ScalingPlans_Delete": {
+ "$ref": "./examples/ScalingPlan_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted scaling plan."
+ },
+ "204": {
+ "description": "Scaling plan does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_Update",
+ "description": "Update a scaling plan.",
+ "x-ms-examples": {
+ "ScalingPlans_Update": {
+ "$ref": "./examples/ScalingPlan_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ },
+ {
+ "name": "scalingPlan",
+ "description": "Object containing scaling plan definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated scaling plan.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans": {
+ "get": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_ListByResourceGroup",
+ "description": "List scaling plans.",
+ "x-ms-examples": {
+ "ScalingPlans_ListByResourceGroup": {
+ "$ref": "./examples/ScalingPlan_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of items per page."
+ },
+ {
+ "name": "isDescending",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates whether the collection is descending."
+ },
+ {
+ "name": "initialSkip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Initial number of items to skip."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved scaling plans in resource group.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}/pooledSchedules/{scalingPlanScheduleName}": {
+ "get": {
+ "tags": [
+ "ScalingPlanPooledSchedule"
+ ],
+ "operationId": "ScalingPlanPooledSchedules_Get",
+ "description": "Get a ScalingPlanPooledSchedule.",
+ "x-ms-examples": {
+ "ScalingPlanPooledSchedules_Get": {
+ "$ref": "./examples/ScalingPlanPooledSchedule_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanScheduleNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved ScalingPlanPooledSchedule.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanPooledSchedule"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ScalingPlanPooledSchedule"
+ ],
+ "operationId": "ScalingPlanPooledSchedules_Create",
+ "description": "Create or update a ScalingPlanPooledSchedule.",
+ "x-ms-examples": {
+ "ScalingPlanPooledSchedules_Create": {
+ "$ref": "./examples/ScalingPlanPooledSchedule_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanScheduleNameParameter"
+ },
+ {
+ "name": "scalingPlanSchedule",
+ "description": "Object containing ScalingPlanPooledSchedule definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanPooledSchedule"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated ScalingPlanPooledSchedule.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanPooledSchedule"
+ }
+ },
+ "201": {
+ "description": "Successfully created ScalingPlanPooledSchedule.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanPooledSchedule"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ScalingPlanPooledSchedule"
+ ],
+ "operationId": "ScalingPlanPooledSchedules_Delete",
+ "description": "Remove a ScalingPlanPooledSchedule.",
+ "x-ms-examples": {
+ "ScalingPlanPooledSchedules_Delete": {
+ "$ref": "./examples/ScalingPlanPooledSchedule_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanScheduleNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed ScalingPlanPooledSchedule."
+ },
+ "204": {
+ "description": "ScalingPlanPooledSchedule does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ScalingPlanPooledSchedule"
+ ],
+ "operationId": "ScalingPlanPooledSchedules_Update",
+ "description": "Update a ScalingPlanPooledSchedule.",
+ "x-ms-examples": {
+ "ScalingPlanPooledSchedules_Update": {
+ "$ref": "./examples/ScalingPlanPooledSchedule_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanScheduleNameParameter"
+ },
+ {
+ "name": "scalingPlanSchedule",
+ "description": "Object containing ScalingPlanPooledSchedule definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanPooledSchedulePatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated ScalingPlanPooledSchedule.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanPooledSchedule"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}/pooledSchedules": {
+ "get": {
+ "tags": [
+ "ScalingPlanPooledSchedule"
+ ],
+ "operationId": "ScalingPlanPooledSchedules_List",
+ "description": "List ScalingPlanPooledSchedules.",
+ "x-ms-examples": {
+ "ScalingPlanPooledSchedules_List": {
+ "$ref": "./examples/ScalingPlanPooledSchedule_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of items per page."
+ },
+ {
+ "name": "isDescending",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates whether the collection is descending."
+ },
+ {
+ "name": "initialSkip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Initial number of items to skip."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved ScalingPlanPooledSchedules.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanPooledScheduleList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}/personalSchedules/{scalingPlanScheduleName}": {
+ "get": {
+ "tags": [
+ "ScalingPlanPersonalSchedule"
+ ],
+ "operationId": "ScalingPlanPersonalSchedules_Get",
+ "description": "Get a ScalingPlanPersonalSchedule.",
+ "x-ms-examples": {
+ "ScalingPlanPersonalSchedules_Get": {
+ "$ref": "./examples/ScalingPlanPersonalSchedule_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanScheduleNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved ScalingPlanPersonalSchedule.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanPersonalSchedule"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ScalingPlanPersonalSchedule"
+ ],
+ "operationId": "ScalingPlanPersonalSchedules_Create",
+ "description": "Create or update a ScalingPlanPersonalSchedule.",
+ "x-ms-examples": {
+ "ScalingPlanPersonalSchedules_Create": {
+ "$ref": "./examples/ScalingPlanPersonalSchedule_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanScheduleNameParameter"
+ },
+ {
+ "name": "scalingPlanSchedule",
+ "description": "Object containing ScalingPlanPersonalSchedule definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanPersonalSchedule"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated ScalingPlanPersonalSchedule.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanPersonalSchedule"
+ }
+ },
+ "201": {
+ "description": "Successfully created ScalingPlanPersonalSchedule.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanPersonalSchedule"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ScalingPlanPersonalSchedule"
+ ],
+ "operationId": "ScalingPlanPersonalSchedules_Delete",
+ "description": "Remove a ScalingPlanPersonalSchedule.",
+ "x-ms-examples": {
+ "ScalingPlanPersonalSchedules_Delete": {
+ "$ref": "./examples/ScalingPlanPersonalSchedule_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanScheduleNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed ScalingPlanPersonalSchedule."
+ },
+ "204": {
+ "description": "ScalingPlanPersonalSchedule does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ScalingPlanPersonalSchedule"
+ ],
+ "operationId": "ScalingPlanPersonalSchedules_Update",
+ "description": "Update a ScalingPlanPersonalSchedule.",
+ "x-ms-examples": {
+ "ScalingPlanPersonalSchedules_Update": {
+ "$ref": "./examples/ScalingPlanPersonalSchedule_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanScheduleNameParameter"
+ },
+ {
+ "name": "scalingPlanSchedule",
+ "description": "Object containing ScalingPlanPersonalSchedule definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanPersonalSchedulePatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated ScalingPlanPersonalSchedule.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanPersonalSchedule"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}/personalSchedules": {
+ "get": {
+ "tags": [
+ "ScalingPlanPersonalSchedule"
+ ],
+ "operationId": "ScalingPlanPersonalSchedules_List",
+ "description": "List ScalingPlanPersonalSchedules.",
+ "x-ms-examples": {
+ "ScalingPlanPersonalSchedules_List": {
+ "$ref": "./examples/ScalingPlanPersonalSchedule_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of items per page."
+ },
+ {
+ "name": "isDescending",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates whether the collection is descending."
+ },
+ {
+ "name": "initialSkip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Initial number of items to skip."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved ScalingPlanPersonalSchedules.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanPersonalScheduleList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/scalingPlans": {
+ "get": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_ListBySubscription",
+ "description": "List scaling plans in subscription.",
+ "x-ms-examples": {
+ "ScalingPlans_ListBySubscription": {
+ "$ref": "./examples/ScalingPlan_ListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of items per page."
+ },
+ {
+ "name": "isDescending",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates whether the collection is descending."
+ },
+ {
+ "name": "initialSkip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Initial number of items to skip."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved scaling plans in subscription.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}": {
+ "get": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_Get",
+ "description": "Get an application group.",
+ "x-ms-examples": {
+ "ApplicationGroup_Get": {
+ "$ref": "./examples/ApplicationGroup_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved application group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_CreateOrUpdate",
+ "description": "Create or update an applicationGroup.",
+ "x-ms-examples": {
+ "ApplicationGroup_Create": {
+ "$ref": "./examples/ApplicationGroup_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "name": "applicationGroup",
+ "description": "Object containing ApplicationGroup definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated application group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ },
+ "201": {
+ "description": "Successfully created application group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_Delete",
+ "description": "Remove an applicationGroup.",
+ "x-ms-examples": {
+ "ApplicationGroup_Delete": {
+ "$ref": "./examples/ApplicationGroup_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed application group."
+ },
+ "204": {
+ "description": "Application group does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_Update",
+ "description": "Update an applicationGroup.",
+ "x-ms-examples": {
+ "ApplicationGroups_Update": {
+ "$ref": "./examples/ApplicationGroup_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "name": "applicationGroup",
+ "description": "Object containing ApplicationGroup definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroupPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated application group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups": {
+ "get": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_ListByResourceGroup",
+ "description": "List applicationGroups.",
+ "x-ms-examples": {
+ "ApplicationGroup_ListByResourceGroup": {
+ "$ref": "./examples/ApplicationGroup_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData filter expression. Valid properties for filtering are applicationGroupType."
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of items per page."
+ },
+ {
+ "name": "isDescending",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates whether the collection is descending."
+ },
+ {
+ "name": "initialSkip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Initial number of items to skip."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved application groups in resource group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroupList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups": {
+ "get": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_ListBySubscription",
+ "description": "List applicationGroups in subscription.",
+ "x-ms-examples": {
+ "ApplicationGroup_List": {
+ "$ref": "./examples/ApplicationGroup_ListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData filter expression. Valid properties for filtering are applicationGroupType."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved application groups in subscription.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroupList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems": {
+ "get": {
+ "tags": [
+ "StartMenuItem"
+ ],
+ "operationId": "StartMenuItems_List",
+ "description": "List start menu items in the given application group.",
+ "x-ms-examples": {
+ "StartMenuItem_List": {
+ "$ref": "./examples/StartMenuItem_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of items per page."
+ },
+ {
+ "name": "isDescending",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates whether the collection is descending."
+ },
+ {
+ "name": "initialSkip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Initial number of items to skip."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved start menu items in application group.",
+ "schema": {
+ "$ref": "#/definitions/StartMenuItemList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}": {
+ "get": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Applications_Get",
+ "description": "Get an application.",
+ "x-ms-examples": {
+ "Application_Get": {
+ "$ref": "./examples/Application_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved application.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Applications_CreateOrUpdate",
+ "description": "Create or update an application.",
+ "x-ms-examples": {
+ "Application_Create": {
+ "$ref": "./examples/Application_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "name": "application",
+ "description": "Object containing Application definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated application.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "201": {
+ "description": "Successfully created application.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Applications_Delete",
+ "description": "Remove an application.",
+ "x-ms-examples": {
+ "Application_Delete": {
+ "$ref": "./examples/Application_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed application."
+ },
+ "204": {
+ "description": "Application does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Applications_Update",
+ "description": "Update an application.",
+ "x-ms-examples": {
+ "Application_Update": {
+ "$ref": "./examples/Application_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "name": "application",
+ "description": "Object containing Application definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ApplicationPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated application.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications": {
+ "get": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Applications_List",
+ "description": "List applications.",
+ "x-ms-examples": {
+ "Applications_List": {
+ "$ref": "./examples/Application_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of items per page."
+ },
+ {
+ "name": "isDescending",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates whether the collection is descending."
+ },
+ {
+ "name": "initialSkip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Initial number of items to skip."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved applications in application group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}": {
+ "get": {
+ "tags": [
+ "Desktop"
+ ],
+ "operationId": "Desktops_Get",
+ "description": "Get a desktop.",
+ "x-ms-examples": {
+ "Desktop_Get": {
+ "$ref": "./examples/Desktop_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DesktopNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved desktop.",
+ "schema": {
+ "$ref": "#/definitions/Desktop"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Desktop"
+ ],
+ "operationId": "Desktops_Update",
+ "description": "Update a desktop.",
+ "x-ms-examples": {
+ "Desktop_Update": {
+ "$ref": "./examples/Desktop_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DesktopNameParameter"
+ },
+ {
+ "name": "desktop",
+ "description": "Object containing Desktop definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/DesktopPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated desktop.",
+ "schema": {
+ "$ref": "#/definitions/Desktop"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops": {
+ "get": {
+ "tags": [
+ "Desktop"
+ ],
+ "operationId": "Desktops_List",
+ "description": "List desktops.",
+ "x-ms-examples": {
+ "Desktop_List": {
+ "$ref": "./examples/Desktop_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of items per page."
+ },
+ {
+ "name": "isDescending",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates whether the collection is descending."
+ },
+ {
+ "name": "initialSkip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Initial number of items to skip."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved desktops in application group.",
+ "schema": {
+ "$ref": "#/definitions/DesktopList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}": {
+ "get": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_Get",
+ "description": "Get a host pool.",
+ "x-ms-examples": {
+ "HostPool_Get": {
+ "$ref": "./examples/HostPool_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved host pool.",
+ "schema": {
+ "$ref": "#/definitions/HostPool"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_CreateOrUpdate",
+ "description": "Create or update a host pool.",
+ "x-ms-examples": {
+ "HostPool_Create": {
+ "$ref": "./examples/HostPool_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "hostPool",
+ "description": "Object containing HostPool definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/HostPool"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated host pool.",
+ "schema": {
+ "$ref": "#/definitions/HostPool"
+ }
+ },
+ "201": {
+ "description": "Successfully created host pool.",
+ "schema": {
+ "$ref": "#/definitions/HostPool"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_Delete",
+ "description": "Remove a host pool.",
+ "x-ms-examples": {
+ "HostPool_Delete": {
+ "$ref": "./examples/HostPool_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "force",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Force flag to delete sessionHost."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed host pool."
+ },
+ "204": {
+ "description": "Host pool does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_Update",
+ "description": "Update a host pool.",
+ "x-ms-examples": {
+ "HostPool_Update": {
+ "$ref": "./examples/HostPool_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "hostPool",
+ "description": "Object containing HostPool definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/HostPoolPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated host pool.",
+ "schema": {
+ "$ref": "#/definitions/HostPool"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools": {
+ "get": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_ListByResourceGroup",
+ "description": "List hostPools.",
+ "x-ms-examples": {
+ "HostPool_ListByResourceGroup": {
+ "$ref": "./examples/HostPool_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of items per page."
+ },
+ {
+ "name": "isDescending",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates whether the collection is descending."
+ },
+ {
+ "name": "initialSkip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Initial number of items to skip."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved host pool in resource group.",
+ "schema": {
+ "$ref": "#/definitions/HostPoolList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools": {
+ "get": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_List",
+ "description": "List hostPools in subscription.",
+ "x-ms-examples": {
+ "HostPool_List": {
+ "$ref": "./examples/HostPool_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of items per page."
+ },
+ {
+ "name": "isDescending",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates whether the collection is descending."
+ },
+ {
+ "name": "initialSkip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Initial number of items to skip."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved host pool in subscription.",
+ "schema": {
+ "$ref": "#/definitions/HostPoolList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateLink"
+ ],
+ "operationId": "PrivateLinkResources_ListByHostPool",
+ "description": "List the private link resources available for this hostpool.",
+ "x-ms-examples": {
+ "PrivateLinkResources_ListByHostPool": {
+ "$ref": "./examples/PrivateLinkResources_ListByHostPool.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of items per page."
+ },
+ {
+ "name": "isDescending",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates whether the collection is descending."
+ },
+ {
+ "name": "initialSkip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Initial number of items to skip."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of resources.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/retrieveRegistrationToken": {
+ "post": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_RetrieveRegistrationToken",
+ "description": "Registration token of the host pool.",
+ "x-ms-examples": {
+ "HostPools_RetrieveRegistrationToken_Post": {
+ "$ref": "./examples/HostPools_RetrieveRegistrationToken_Post.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved host pool in resource group.",
+ "schema": {
+ "$ref": "#/definitions/RegistrationInfo"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions": {
+ "get": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_ListByHostPool",
+ "description": "List userSessions.",
+ "x-ms-examples": {
+ "UserSession_ListByHostPool": {
+ "$ref": "./examples/UserSession_ListByHostPool.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData filter expression. Valid properties for filtering are userprincipalname and sessionstate."
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of items per page."
+ },
+ {
+ "name": "isDescending",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates whether the collection is descending."
+ },
+ {
+ "name": "initialSkip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Initial number of items to skip."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved user sessions in host pool.",
+ "schema": {
+ "$ref": "#/definitions/UserSessionList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}": {
+ "get": {
+ "tags": [
+ "SessionHost"
+ ],
+ "operationId": "SessionHosts_Get",
+ "description": "Get a session host.",
+ "x-ms-examples": {
+ "SessionHost_Get": {
+ "$ref": "./examples/SessionHost_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved session host.",
+ "schema": {
+ "$ref": "#/definitions/SessionHost"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "SessionHost"
+ ],
+ "operationId": "SessionHosts_Delete",
+ "description": "Remove a SessionHost.",
+ "x-ms-examples": {
+ "SessionHost_Delete": {
+ "$ref": "./examples/SessionHost_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "name": "force",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Force flag to force sessionHost deletion even when userSession exists."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed session host."
+ },
+ "204": {
+ "description": "Session host does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SessionHost"
+ ],
+ "operationId": "SessionHosts_Update",
+ "description": "Update a session host.",
+ "x-ms-examples": {
+ "SessionHost_Update": {
+ "$ref": "./examples/SessionHost_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "name": "sessionHost",
+ "description": "Object containing SessionHost definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/SessionHostPatch"
+ }
+ },
+ {
+ "name": "force",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Force flag to update assign, unassign or reassign personal desktop."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated session host.",
+ "schema": {
+ "$ref": "#/definitions/SessionHost"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts": {
+ "get": {
+ "tags": [
+ "SessionHost"
+ ],
+ "operationId": "SessionHosts_List",
+ "description": "List sessionHosts.",
+ "x-ms-examples": {
+ "SessionHost_List": {
+ "$ref": "./examples/SessionHost_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of items per page."
+ },
+ {
+ "name": "isDescending",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates whether the collection is descending."
+ },
+ {
+ "name": "initialSkip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Initial number of items to skip."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved session hosts in host pool.",
+ "schema": {
+ "$ref": "#/definitions/SessionHostList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages/{msixPackageFullName}": {
+ "get": {
+ "tags": [
+ "MSIXPackage"
+ ],
+ "operationId": "MSIXPackages_Get",
+ "description": "Get a msixpackage.",
+ "x-ms-examples": {
+ "MSIXPackage_Get": {
+ "$ref": "./examples/MsixPackage_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MSIXPackageFullNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved MSIX Package.",
+ "schema": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "MSIXPackage"
+ ],
+ "operationId": "MSIXPackages_CreateOrUpdate",
+ "description": "Create or update a MSIX package.",
+ "x-ms-examples": {
+ "MSIXPackage_Create": {
+ "$ref": "./examples/MsixPackage_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MSIXPackageFullNameParameter"
+ },
+ {
+ "name": "msixPackage",
+ "description": "Object containing MSIX Package definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated MSIX Package.",
+ "schema": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ },
+ "201": {
+ "description": "Successfully created MSIX Package.",
+ "schema": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "MSIXPackage"
+ ],
+ "operationId": "MSIXPackages_Delete",
+ "description": "Remove an MSIX Package.",
+ "x-ms-examples": {
+ "MSIXPackage_Delete": {
+ "$ref": "./examples/MsixPackage_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MSIXPackageFullNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed MSIX Package."
+ },
+ "204": {
+ "description": "MSIX Package does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "MSIXPackage"
+ ],
+ "operationId": "MSIXPackages_Update",
+ "description": "Update an MSIX Package.",
+ "x-ms-examples": {
+ "MSIXPackage_Update": {
+ "$ref": "./examples/MsixPackage_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MSIXPackageFullNameParameter"
+ },
+ {
+ "name": "msixPackage",
+ "description": "Object containing MSIX Package definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/MSIXPackagePatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated MSIX Package.",
+ "schema": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages": {
+ "get": {
+ "tags": [
+ "MSIXPackage"
+ ],
+ "operationId": "MSIXPackages_List",
+ "description": "List MSIX packages in hostpool.",
+ "x-ms-examples": {
+ "MSIXPackage_List": {
+ "$ref": "./examples/MsixPackage_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of items per page."
+ },
+ {
+ "name": "isDescending",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates whether the collection is descending."
+ },
+ {
+ "name": "initialSkip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Initial number of items to skip."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved MSIX Packages in hostpool.",
+ "schema": {
+ "$ref": "#/definitions/MSIXPackageList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/importAppAttachPackageInfo": {
+ "post": {
+ "tags": [
+ "AppAttachPackageInfo"
+ ],
+ "operationId": "AppAttachPackageInfo_Import",
+ "description": "Gets information from a package given the path to the package.",
+ "x-ms-examples": {
+ "AppAttachPackageInfo_Import": {
+ "$ref": "./examples/AppAttachPackageInfo_Import_Post.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "importPackageInfoRequest",
+ "description": "Object containing URI to package image and other optional properties",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImportPackageInfoRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved packages in specified Image Path.",
+ "schema": {
+ "$ref": "#/definitions/AppAttachPackageList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/expandMsixImage": {
+ "post": {
+ "tags": [
+ "MsixImage"
+ ],
+ "operationId": "MsixImages_Expand",
+ "description": "Expands and Lists MSIX packages in an Image, given the Image Path.",
+ "x-ms-examples": {
+ "MsixImage_Expand": {
+ "$ref": "./examples/MsixImage_Expand_Post.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "msixImageURI",
+ "description": "Object containing URI to MSIX Image",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MSIXImageURI"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved MSIX packages in specified Image Path.",
+ "schema": {
+ "$ref": "#/definitions/ExpandMsixImageList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/appAttachPackages/{appAttachPackageName}": {
+ "get": {
+ "tags": [
+ "AppAttachPackage"
+ ],
+ "operationId": "AppAttachPackage_Get",
+ "description": "Get an app attach package.",
+ "x-ms-examples": {
+ "AppAttachPackage_Get": {
+ "$ref": "./examples/AppAttachPackage_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppAttachPackageNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved App Attach Package.",
+ "schema": {
+ "$ref": "#/definitions/AppAttachPackage"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AppAttachPackage"
+ ],
+ "operationId": "AppAttachPackage_CreateOrUpdate",
+ "description": "Create or update an App Attach package.",
+ "x-ms-examples": {
+ "AppAttachPackage_Create": {
+ "$ref": "./examples/AppAttachPackage_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppAttachPackageNameParameter"
+ },
+ {
+ "name": "appAttachPackage",
+ "description": "Object containing App Attach Package definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AppAttachPackage"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated App Attach Package.",
+ "schema": {
+ "$ref": "#/definitions/AppAttachPackage"
+ }
+ },
+ "201": {
+ "description": "Successfully created App Attach Package.",
+ "schema": {
+ "$ref": "#/definitions/AppAttachPackage"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AppAttachPackage"
+ ],
+ "operationId": "AppAttachPackage_Delete",
+ "description": "Remove an App Attach Package.",
+ "x-ms-examples": {
+ "AppAttachPackage_Delete": {
+ "$ref": "./examples/AppAttachPackage_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppAttachPackageNameParameter"
+ },
+ {
+ "name": "force",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Force flag to delete App Attach package."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted App Attach Package."
+ },
+ "204": {
+ "description": "App Attach Package does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "AppAttachPackage"
+ ],
+ "operationId": "AppAttachPackage_Update",
+ "description": "Update an App Attach Package",
+ "x-ms-examples": {
+ "AppAttachPackage_Update": {
+ "$ref": "./examples/AppAttachPackage_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppAttachPackageNameParameter"
+ },
+ {
+ "name": "appAttachPackagePatch",
+ "description": "Object containing App Attach Package definition.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/AppAttachPackagePatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated App Attach Package.",
+ "schema": {
+ "$ref": "#/definitions/AppAttachPackage"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/appAttachPackages": {
+ "get": {
+ "tags": [
+ "AppAttachPackage"
+ ],
+ "operationId": "AppAttachPackage_ListByResourceGroup",
+ "description": "List App Attach packages in resource group.",
+ "x-ms-examples": {
+ "AppAttachPackage_ListByResourceGroup": {
+ "$ref": "./examples/AppAttachPackage_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData filter expression. Valid properties for filtering are package name and host pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved App Attach Packages in resource group.",
+ "schema": {
+ "$ref": "#/definitions/AppAttachPackageList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/appAttachPackages": {
+ "get": {
+ "tags": [
+ "AppAttachPackage"
+ ],
+ "operationId": "AppAttachPackage_ListBySubscription",
+ "description": "List App Attach packages in subscription.",
+ "x-ms-examples": {
+ "AppAttachPackage_ListBySubscription": {
+ "$ref": "./examples/AppAttachPackage_ListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData filter expression. Valid properties for filtering are package name, host pool, and resource group."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved App Attach Packages in subscription.",
+ "schema": {
+ "$ref": "#/definitions/AppAttachPackageList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}": {
+ "get": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_Get",
+ "description": "Get a userSession.",
+ "x-ms-examples": {
+ "UserSession_Get": {
+ "$ref": "./examples/UserSession_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSessionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved user session.",
+ "schema": {
+ "$ref": "#/definitions/UserSession"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_Delete",
+ "description": "Remove a userSession.",
+ "x-ms-examples": {
+ "UserSession_Delete": {
+ "$ref": "./examples/UserSession_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSessionIdParameter"
+ },
+ {
+ "name": "force",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Force flag to login off userSession."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed user session."
+ },
+ "204": {
+ "description": "User session does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions": {
+ "get": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_List",
+ "description": "List userSessions.",
+ "x-ms-examples": {
+ "UserSession_List": {
+ "$ref": "./examples/UserSession_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of items per page."
+ },
+ {
+ "name": "isDescending",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates whether the collection is descending."
+ },
+ {
+ "name": "initialSkip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Initial number of items to skip."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved user sessions in session host.",
+ "schema": {
+ "$ref": "#/definitions/UserSessionList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect": {
+ "post": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_Disconnect",
+ "description": "Disconnect a userSession.",
+ "x-ms-examples": {
+ "UserSession_Disconnect_Post": {
+ "$ref": "./examples/UserSession_Disconnect_Post.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSessionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully disconnected user session."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage": {
+ "post": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_SendMessage",
+ "description": "Send a message to a user.",
+ "x-ms-examples": {
+ "UserSession_SendMessage_Post": {
+ "$ref": "./examples/UserSession_SendMessage_Post.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSessionIdParameter"
+ },
+ {
+ "name": "sendMessage",
+ "description": "Object containing message includes title and message body",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/SendMessage"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully sent message to user session."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/scalingPlans": {
+ "get": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_ListByHostPool",
+ "description": "List scaling plan associated with hostpool.",
+ "x-ms-examples": {
+ "ScalingPlan_ListByHostPool": {
+ "$ref": "./examples/ScalingPlan_ListByHostPool.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of items per page."
+ },
+ {
+ "name": "isDescending",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates whether the collection is descending."
+ },
+ {
+ "name": "initialSkip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Initial number of items to skip."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved scaling plan associated with hostpool.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateLink"
+ ],
+ "operationId": "PrivateEndpointConnections_ListByHostPool",
+ "description": "List private endpoint connections associated with hostpool.",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_ListByHostPool": {
+ "$ref": "./examples/PrivateEndpointConnection_ListByHostPool.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "pageSize",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of items per page."
+ },
+ {
+ "name": "isDescending",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates whether the collection is descending."
+ },
+ {
+ "name": "initialSkip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Initial number of items to skip."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved connection list.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResultWithSystemData"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateLink"
+ ],
+ "operationId": "PrivateEndpointConnections_GetByHostPool",
+ "description": "Get a private endpoint connection.",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_GetByHostPool": {
+ "$ref": "./examples/PrivateEndpointConnection_GetByHostPool.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/parameters/PrivateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the connection.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateLink"
+ ],
+ "operationId": "PrivateEndpointConnections_DeleteByHostPool",
+ "description": "Remove a connection.",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_DeleteByHostPool": {
+ "$ref": "./examples/PrivateEndpointConnection_DeleteByHostPool.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed."
+ },
+ "204": {
+ "description": "Connection does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateLink"
+ ],
+ "operationId": "PrivateEndpointConnections_UpdateByHostPool",
+ "description": "Approve or reject a private endpoint connection.",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_UpdateByHostPool": {
+ "$ref": "./examples/PrivateEndpointConnection_UpdateByHostPool.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName"
+ },
+ {
+ "name": "connection",
+ "description": "Object containing the updated connection.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CloudError": {
+ "description": "Cloud error object.",
+ "type": "object",
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorProperties"
+ }
+ }
+ },
+ "CloudErrorProperties": {
+ "description": "Cloud error object properties.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceProviderOperationList": {
+ "type": "object",
+ "description": "Result of the request to list operations.",
+ "readOnly": true,
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceProviderOperation"
+ },
+ "description": "List of operations supported by this resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "ResourceProviderOperation": {
+ "type": "object",
+ "description": "Supported operation of this resource provider.",
+ "readOnly": true,
+ "properties": {
+ "name": {
+ "description": "Operation name, in format of {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "type": "object",
+ "description": "Display metadata associated with the operation.",
+ "properties": {
+ "provider": {
+ "description": "Resource provider: Microsoft Desktop Virtualization.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Type of operation: get, read, delete, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of this operation.",
+ "type": "string"
+ }
+ }
+ },
+ "isDataAction": {
+ "description": "Is a data action.",
+ "type": "boolean"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties"
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Properties of the operation",
+ "type": "object",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ServiceSpecification"
+ }
+ }
+ },
+ "ServiceSpecification": {
+ "description": "Service specification payload",
+ "type": "object",
+ "properties": {
+ "logSpecifications": {
+ "description": "Specifications of the Log for Azure Monitoring",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LogSpecification"
+ }
+ }
+ }
+ },
+ "LogSpecification": {
+ "description": "Specifications of the Log for Azure Monitoring",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the log",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Localized friendly display name of the log",
+ "type": "string"
+ },
+ "blobDuration": {
+ "description": "Blob duration of the log",
+ "type": "string"
+ }
+ }
+ },
+ "Workspace": {
+ "type": "object",
+ "description": "Represents a Workspace definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ResourceModelWithAllowedPropertySet"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ },
+ "properties": {
+ "description": "Detailed properties for Workspace",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/WorkspaceProperties"
+ }
+ }
+ },
+ "WorkspaceProperties": {
+ "description": "Schema for Workspace properties.",
+ "type": "object",
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of Workspace. (internal use)",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of Workspace."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Workspace."
+ },
+ "applicationGroupReferences": {
+ "type": "array",
+ "description": "List of applicationGroup resource Ids.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "cloudPcResource": {
+ "type": "boolean",
+ "description": "Is cloud pc resource.",
+ "readOnly": true
+ },
+ "publicNetworkAccess": {
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints",
+ "x-nullable": false
+ },
+ "privateEndpointConnections": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection"
+ },
+ "description": "List of private endpoint connection associated with the specified resource"
+ }
+ }
+ },
+ "WorkspaceList": {
+ "type": "object",
+ "title": "WorkspaceList",
+ "description": "List of Workspace definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of Workspace definitions.",
+ "items": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "WorkspacePatch": {
+ "type": "object",
+ "description": "Workspace properties that can be patched.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "Detailed properties for Workspace",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/WorkspacePatchProperties"
+ }
+ }
+ },
+ "WorkspacePatchProperties": {
+ "description": "Workspace properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of Workspace."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Workspace."
+ },
+ "applicationGroupReferences": {
+ "type": "array",
+ "description": "List of applicationGroup links.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "publicNetworkAccess": {
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Enabled to allow this resource to be access from the public network"
+ }
+ }
+ },
+ "ApplicationGroup": {
+ "type": "object",
+ "description": "Represents a ApplicationGroup definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ResourceModelWithAllowedPropertySet"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ },
+ "properties": {
+ "description": "Detailed properties for ApplicationGroup",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGroupProperties",
+ "x-nullable": false
+ }
+ }
+ },
+ "ApplicationGroupProperties": {
+ "description": "Schema for ApplicationGroup properties.",
+ "type": "object",
+ "required": [
+ "hostPoolArmPath",
+ "applicationGroupType"
+ ],
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of ApplicationGroup. (internal use)",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of ApplicationGroup."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of ApplicationGroup."
+ },
+ "hostPoolArmPath": {
+ "type": "string",
+ "description": "HostPool arm path of ApplicationGroup.",
+ "x-nullable": false
+ },
+ "workspaceArmPath": {
+ "type": "string",
+ "description": "Workspace arm path of ApplicationGroup.",
+ "readOnly": true
+ },
+ "applicationGroupType": {
+ "enum": [
+ "RemoteApp",
+ "Desktop"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGroupType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Resource Type of ApplicationGroup.",
+ "x-nullable": false
+ },
+ "cloudPcResource": {
+ "type": "boolean",
+ "description": "Is cloud pc resource.",
+ "readOnly": true
+ },
+ "showInFeed": {
+ "type": "boolean",
+ "description": "Boolean representing whether the applicationGroup is show in the feed."
+ }
+ }
+ },
+ "ApplicationGroupPatch": {
+ "type": "object",
+ "description": "ApplicationGroup properties that can be patched.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "ApplicationGroup properties that can be patched.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGroupPatchProperties"
+ }
+ }
+ },
+ "ApplicationGroupPatchProperties": {
+ "description": "ApplicationGroup properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of ApplicationGroup."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of ApplicationGroup."
+ },
+ "showInFeed": {
+ "type": "boolean",
+ "description": "Boolean representing whether the applicationGroup is show in the feed."
+ }
+ }
+ },
+ "ApplicationGroupList": {
+ "type": "object",
+ "title": "ApplicationGroupList",
+ "description": "List of ApplicationGroup definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of ApplicationGroup definitions.",
+ "items": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "HostPool": {
+ "type": "object",
+ "description": "Represents a HostPool definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ResourceModelWithAllowedPropertySet"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ },
+ "properties": {
+ "description": "Detailed properties for HostPool",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/HostPoolProperties",
+ "x-nullable": false
+ }
+ }
+ },
+ "HostPoolProperties": {
+ "description": "Properties of HostPool.",
+ "type": "object",
+ "required": [
+ "hostPoolType",
+ "loadBalancerType",
+ "preferredAppGroupType"
+ ],
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of HostPool. (internal use)",
+ "readOnly": true
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of HostPool."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of HostPool."
+ },
+ "hostPoolType": {
+ "enum": [
+ "Personal",
+ "Pooled",
+ "BYODesktop"
+ ],
+ "x-ms-enum": {
+ "name": "HostPoolType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Personal",
+ "description": "Users will be assigned a SessionHost either by administrators (PersonalDesktopAssignmentType = Direct) or upon connecting to the pool (PersonalDesktopAssignmentType = Automatic). They will always be redirected to their assigned SessionHost."
+ },
+ {
+ "value": "Pooled",
+ "description": "Users get a new (random) SessionHost every time it connects to the HostPool."
+ },
+ {
+ "value": "BYODesktop",
+ "description": "Users assign their own machines, load balancing logic remains the same as Personal. PersonalDesktopAssignmentType must be Direct."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "HostPool type for desktop.",
+ "x-nullable": false
+ },
+ "personalDesktopAssignmentType": {
+ "enum": [
+ "Automatic",
+ "Direct"
+ ],
+ "x-ms-enum": {
+ "name": "PersonalDesktopAssignmentType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "PersonalDesktopAssignment type for HostPool."
+ },
+ "customRdpProperty": {
+ "type": "string",
+ "description": "Custom rdp property of HostPool."
+ },
+ "maxSessionLimit": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The max session limit of HostPool."
+ },
+ "loadBalancerType": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst",
+ "Persistent"
+ ],
+ "x-ms-enum": {
+ "name": "LoadBalancerType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of the load balancer.",
+ "x-nullable": false
+ },
+ "ring": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The ring number of HostPool."
+ },
+ "validationEnvironment": {
+ "type": "boolean",
+ "description": "Is validation environment."
+ },
+ "registrationInfo": {
+ "$ref": "#/definitions/RegistrationInfo",
+ "description": "The registration info of HostPool."
+ },
+ "vmTemplate": {
+ "type": "string",
+ "description": "VM template for sessionhosts configuration within hostpool."
+ },
+ "applicationGroupReferences": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of applicationGroup links.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "appAttachPackageReferences": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of App Attach Package links.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ssoadfsAuthority": {
+ "type": "string",
+ "description": "URL to customer ADFS server for signing WVD SSO certificates."
+ },
+ "ssoClientId": {
+ "type": "string",
+ "description": "ClientId for the registered Relying Party used to issue WVD SSO certificates."
+ },
+ "ssoClientSecretKeyVaultPath": {
+ "type": "string",
+ "description": "Path to Azure KeyVault storing the secret used for communication to ADFS."
+ },
+ "ssoSecretType": {
+ "enum": [
+ "SharedKey",
+ "Certificate",
+ "SharedKeyInKeyVault",
+ "CertificateInKeyVault"
+ ],
+ "x-ms-enum": {
+ "name": "SSOSecretType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of single sign on Secret Type."
+ },
+ "preferredAppGroupType": {
+ "enum": [
+ "None",
+ "Desktop",
+ "RailApplications"
+ ],
+ "x-ms-enum": {
+ "name": "PreferredAppGroupType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of preferred application group type, default to Desktop Application Group",
+ "x-nullable": false
+ },
+ "startVMOnConnect": {
+ "type": "boolean",
+ "description": "The flag to turn on/off StartVMOnConnect feature."
+ },
+ "cloudPcResource": {
+ "type": "boolean",
+ "description": "Is cloud pc resource.",
+ "readOnly": true
+ },
+ "publicNetworkAccess": {
+ "enum": [
+ "Enabled",
+ "Disabled",
+ "EnabledForSessionHostsOnly",
+ "EnabledForClientsOnly"
+ ],
+ "x-ms-enum": {
+ "name": "HostpoolPublicNetworkAccess",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints",
+ "x-nullable": false
+ },
+ "agentUpdate": {
+ "$ref": "#/definitions/AgentUpdateProperties",
+ "description": "The session host configuration for updating agent, monitoring agent, and stack component."
+ },
+ "privateEndpointConnections": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection"
+ },
+ "description": "List of private endpoint connection associated with the specified resource"
+ }
+ }
+ },
+ "HostPoolPatch": {
+ "type": "object",
+ "description": "HostPool properties that can be patched.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "HostPool properties that can be patched.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/HostPoolPatchProperties"
+ }
+ }
+ },
+ "HostPoolPatchProperties": {
+ "description": "Properties of HostPool.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of HostPool."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of HostPool."
+ },
+ "customRdpProperty": {
+ "type": "string",
+ "description": "Custom rdp property of HostPool."
+ },
+ "maxSessionLimit": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The max session limit of HostPool."
+ },
+ "personalDesktopAssignmentType": {
+ "enum": [
+ "Automatic",
+ "Direct"
+ ],
+ "x-ms-enum": {
+ "name": "PersonalDesktopAssignmentType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "PersonalDesktopAssignment type for HostPool."
+ },
+ "loadBalancerType": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst",
+ "Persistent"
+ ],
+ "x-ms-enum": {
+ "name": "LoadBalancerType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of the load balancer."
+ },
+ "ring": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The ring number of HostPool."
+ },
+ "validationEnvironment": {
+ "type": "boolean",
+ "description": "Is validation environment."
+ },
+ "registrationInfo": {
+ "$ref": "#/definitions/RegistrationInfoPatch",
+ "description": "The registration info of HostPool."
+ },
+ "vmTemplate": {
+ "type": "string",
+ "description": "VM template for sessionhosts configuration within hostpool."
+ },
+ "ssoadfsAuthority": {
+ "type": "string",
+ "description": "URL to customer ADFS server for signing WVD SSO certificates."
+ },
+ "ssoClientId": {
+ "type": "string",
+ "description": "ClientId for the registered Relying Party used to issue WVD SSO certificates."
+ },
+ "ssoClientSecretKeyVaultPath": {
+ "type": "string",
+ "description": "Path to Azure KeyVault storing the secret used for communication to ADFS."
+ },
+ "ssoSecretType": {
+ "enum": [
+ "SharedKey",
+ "Certificate",
+ "SharedKeyInKeyVault",
+ "CertificateInKeyVault"
+ ],
+ "x-ms-enum": {
+ "name": "SSOSecretType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of single sign on Secret Type."
+ },
+ "preferredAppGroupType": {
+ "enum": [
+ "None",
+ "Desktop",
+ "RailApplications"
+ ],
+ "x-ms-enum": {
+ "name": "PreferredAppGroupType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of preferred application group type, default to Desktop Application Group"
+ },
+ "startVMOnConnect": {
+ "type": "boolean",
+ "description": "The flag to turn on/off StartVMOnConnect feature."
+ },
+ "publicNetworkAccess": {
+ "enum": [
+ "Enabled",
+ "Disabled",
+ "EnabledForSessionHostsOnly",
+ "EnabledForClientsOnly"
+ ],
+ "x-ms-enum": {
+ "name": "HostpoolPublicNetworkAccess",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Enabled to allow this resource to be access from the public network"
+ },
+ "agentUpdate": {
+ "$ref": "#/definitions/AgentUpdatePatchProperties",
+ "description": "The session host configuration for updating agent, monitoring agent, and stack component."
+ }
+ }
+ },
+ "RegistrationInfo": {
+ "description": "Represents a RegistrationInfo definition.",
+ "type": "object",
+ "properties": {
+ "expirationTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Expiration time of registration token."
+ },
+ "token": {
+ "type": "string",
+ "description": "The registration token base64 encoded string."
+ },
+ "registrationTokenOperation": {
+ "enum": [
+ "Delete",
+ "None",
+ "Update"
+ ],
+ "x-ms-enum": {
+ "name": "RegistrationTokenOperation",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of resetting the token.",
+ "x-nullable": false
+ }
+ }
+ },
+ "RegistrationInfoPatch": {
+ "description": "Represents a RegistrationInfo definition.",
+ "type": "object",
+ "properties": {
+ "expirationTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Expiration time of registration token."
+ },
+ "registrationTokenOperation": {
+ "enum": [
+ "Delete",
+ "None",
+ "Update"
+ ],
+ "x-ms-enum": {
+ "name": "RegistrationTokenOperation",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of resetting the token."
+ }
+ }
+ },
+ "AgentUpdateProperties": {
+ "description": "The session host configuration for updating agent, monitoring agent, and stack component.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The type of maintenance for session host components.",
+ "enum": [
+ "Default",
+ "Scheduled"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostComponentUpdateType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Default",
+ "description": "Agent and other agent side components are delivery schedule is controlled by WVD Infra."
+ },
+ {
+ "value": "Scheduled",
+ "description": "TenantAdmin have opted in for Scheduled Component Update feature."
+ }
+ ]
+ }
+ },
+ "useSessionHostLocalTime": {
+ "type": "boolean",
+ "description": "Whether to use localTime of the virtual machine."
+ },
+ "maintenanceWindowTimeZone": {
+ "type": "string",
+ "description": "Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true."
+ },
+ "maintenanceWindows": {
+ "type": "array",
+ "description": "List of maintenance windows. Maintenance windows are 2 hours long.",
+ "items": {
+ "$ref": "#/definitions/MaintenanceWindowProperties"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "MaintenanceWindowProperties": {
+ "description": "Maintenance window starting hour and day of week.",
+ "type": "object",
+ "properties": {
+ "hour": {
+ "format": "int32",
+ "type": "integer",
+ "description": "The update start hour of the day. (0 - 23)"
+ },
+ "dayOfWeek": {
+ "type": "string",
+ "description": "Day of the week.",
+ "enum": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday",
+ "Sunday"
+ ],
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "AgentUpdatePatchProperties": {
+ "description": "The session host configuration for updating agent, monitoring agent, and stack component.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The type of maintenance for session host components.",
+ "enum": [
+ "Default",
+ "Scheduled"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostComponentUpdateType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Default",
+ "description": "Agent and other agent side components are delivery schedule is controlled by WVD Infra."
+ },
+ {
+ "value": "Scheduled",
+ "description": "TenantAdmin have opted in for Scheduled Component Update feature."
+ }
+ ]
+ }
+ },
+ "useSessionHostLocalTime": {
+ "type": "boolean",
+ "description": "Whether to use localTime of the virtual machine."
+ },
+ "maintenanceWindowTimeZone": {
+ "type": "string",
+ "description": "Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true."
+ },
+ "maintenanceWindows": {
+ "type": "array",
+ "description": "List of maintenance windows. Maintenance windows are 2 hours long.",
+ "items": {
+ "$ref": "#/definitions/MaintenanceWindowPatchProperties"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "MaintenanceWindowPatchProperties": {
+ "description": "Maintenance window starting hour and day of week.",
+ "type": "object",
+ "properties": {
+ "hour": {
+ "format": "int32",
+ "type": "integer",
+ "description": "The update start hour of the day. (0 - 23)"
+ },
+ "dayOfWeek": {
+ "type": "string",
+ "description": "Day of the week.",
+ "enum": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday",
+ "Sunday"
+ ],
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "SendMessage": {
+ "description": "Represents message sent to a UserSession.",
+ "type": "object",
+ "properties": {
+ "messageTitle": {
+ "type": "string",
+ "description": "Title of message."
+ },
+ "messageBody": {
+ "type": "string",
+ "description": "Body of message."
+ }
+ }
+ },
+ "HostPoolList": {
+ "type": "object",
+ "title": "HostPoolList",
+ "description": "List of HostPool definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of HostPool definitions.",
+ "items": {
+ "$ref": "#/definitions/HostPool"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "MSIXPackage": {
+ "description": "Schema for MSIX Package properties.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ },
+ "properties": {
+ "description": "Detailed properties for MSIX Package",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MSIXPackageProperties",
+ "x-nullable": false
+ }
+ }
+ },
+ "MSIXPackageProperties": {
+ "description": "Schema for MSIX Package properties.",
+ "type": "object",
+ "properties": {
+ "imagePath": {
+ "type": "string",
+ "description": "VHD/CIM image path on Network Share.",
+ "x-nullable": false
+ },
+ "packageName": {
+ "type": "string",
+ "description": "Package Name from appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "packageFamilyName": {
+ "type": "string",
+ "description": "Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. ",
+ "x-nullable": false
+ },
+ "displayName": {
+ "type": "string",
+ "description": "User friendly Name to be displayed in the portal. ",
+ "x-nullable": true
+ },
+ "packageRelativePath": {
+ "type": "string",
+ "description": "Relative Path to the package inside the image. ",
+ "x-nullable": false
+ },
+ "isRegularRegistration": {
+ "type": "boolean",
+ "description": "Specifies how to register Package in feed.",
+ "x-nullable": false
+ },
+ "isActive": {
+ "type": "boolean",
+ "description": "Make this version of the package the active one across the hostpool. ",
+ "x-nullable": false
+ },
+ "packageDependencies": {
+ "type": "array",
+ "description": "List of package dependencies. ",
+ "items": {
+ "$ref": "#/definitions/MsixPackageDependencies"
+ }
+ },
+ "version": {
+ "type": "string",
+ "description": "Package Version found in the appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "lastUpdated": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Date Package was last updated, found in the appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "packageApplications": {
+ "type": "array",
+ "description": "List of package applications. ",
+ "items": {
+ "$ref": "#/definitions/MsixPackageApplications"
+ },
+ "x-nullable": false
+ }
+ }
+ },
+ "MSIXPackagePatch": {
+ "type": "object",
+ "description": "MSIX Package properties that can be patched.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for MSIX Package",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MSIXPackagePatchProperties"
+ }
+ }
+ },
+ "MSIXPackagePatchProperties": {
+ "description": "MSIX Package properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "isActive": {
+ "type": "boolean",
+ "description": "Set a version of the package to be active across hostpool. "
+ },
+ "isRegularRegistration": {
+ "type": "boolean",
+ "description": "Set Registration mode. Regular or Delayed."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name for MSIX Package."
+ }
+ }
+ },
+ "MsixPackageApplications": {
+ "description": "Schema for MSIX Package Application properties.",
+ "type": "object",
+ "properties": {
+ "appId": {
+ "type": "string",
+ "description": "Package Application Id, found in appxmanifest.xml.",
+ "x-nullable": false
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of Package Application.",
+ "x-nullable": false
+ },
+ "appUserModelID": {
+ "type": "string",
+ "description": "Used to activate Package Application. Consists of Package Name and ApplicationID. Found in appxmanifest.xml.",
+ "x-nullable": false
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "User friendly name.",
+ "x-nullable": false
+ },
+ "iconImageName": {
+ "type": "string",
+ "description": "User friendly name.",
+ "x-nullable": false
+ },
+ "rawIcon": {
+ "type": "string",
+ "format": "byte",
+ "description": "the icon a 64 bit string as a byte array."
+ },
+ "rawPng": {
+ "type": "string",
+ "format": "byte",
+ "description": "the icon a 64 bit string as a byte array."
+ }
+ }
+ },
+ "MsixPackageDependencies": {
+ "description": "Schema for MSIX Package Dependencies properties.",
+ "type": "object",
+ "properties": {
+ "dependencyName": {
+ "type": "string",
+ "description": "Name of package dependency.",
+ "x-nullable": false
+ },
+ "publisher": {
+ "type": "string",
+ "description": "Name of dependency publisher.",
+ "x-nullable": false
+ },
+ "minVersion": {
+ "type": "string",
+ "description": "Dependency version required.",
+ "x-nullable": false
+ }
+ }
+ },
+ "MSIXPackageList": {
+ "type": "object",
+ "title": "MsixPackageList",
+ "description": "List of MSIX Package definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of MSIX Package definitions.",
+ "items": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "AppAttachPackage": {
+ "description": "Schema for App Attach Package properties.",
+ "type": "object",
+ "x-ms-client-flatten": false,
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ResourceModelWithAllowedPropertySet"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ },
+ "properties": {
+ "description": "Detailed properties for App Attach Package",
+ "$ref": "#/definitions/AppAttachPackageProperties",
+ "x-nullable": false
+ }
+ }
+ },
+ "AppAttachPackagePatch": {
+ "description": "Schema for patchable App Attach Package properties.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "Detailed properties for App Attach Package",
+ "$ref": "#/definitions/AppAttachPackagePatchProperties",
+ "x-ms-client-flatten": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "AppAttachPackageList": {
+ "type": "object",
+ "title": "AppAttachPackageList",
+ "description": "List of App Attach Package definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of App Attach Package definitions.",
+ "items": {
+ "$ref": "#/definitions/AppAttachPackage"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "AppAttachPackageProperties": {
+ "description": "Schema for App Attach Package properties.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "#/definitions/ProvisioningState",
+ "description": "The provisioning state of the App Attach Package."
+ },
+ "image": {
+ "description": "Detailed properties for App Attach Package",
+ "$ref": "#/definitions/AppAttachPackageInfoProperties",
+ "x-nullable": false
+ },
+ "hostPoolReferences": {
+ "type": "array",
+ "description": "List of Hostpool resource Ids.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "keyVaultURL": {
+ "type": "string",
+ "description": "URL of keyvault location to store certificate"
+ },
+ "failHealthCheckOnStagingFailure": {
+ "$ref": "#/definitions/FailHealthCheckOnStagingFailureEnum",
+ "description": "Parameter indicating how the health check should behave if this package fails staging"
+ }
+ }
+ },
+ "AppAttachPackagePatchProperties": {
+ "description": "Schema for patchable fields on an App Attach Package.",
+ "type": "object",
+ "properties": {
+ "image": {
+ "description": "Detailed properties for App Attach Package",
+ "$ref": "#/definitions/AppAttachPackageInfoProperties"
+ },
+ "hostPoolReferences": {
+ "type": "array",
+ "description": "List of Hostpool resource Ids.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "keyVaultURL": {
+ "type": "string",
+ "description": "URL of keyvault location to store certificate"
+ },
+ "failHealthCheckOnStagingFailure": {
+ "$ref": "#/definitions/FailHealthCheckOnStagingFailureEnum",
+ "description": "Parameter indicating how the health check should behave if this package fails staging"
+ }
+ }
+ },
+ "AppAttachPackageInfoProperties": {
+ "description": "Schema for Import Package Information properties.",
+ "type": "object",
+ "properties": {
+ "packageAlias": {
+ "type": "string",
+ "description": "Alias of App Attach Package. Assigned at import time"
+ },
+ "imagePath": {
+ "type": "string",
+ "description": "VHD/CIM image path on Network Share.",
+ "x-nullable": false
+ },
+ "packageName": {
+ "type": "string",
+ "description": "Package Name from appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "packageFamilyName": {
+ "type": "string",
+ "description": "Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. ",
+ "x-nullable": false
+ },
+ "packageFullName": {
+ "type": "string",
+ "description": "Package Full Name from appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "displayName": {
+ "type": "string",
+ "description": "User friendly Name to be displayed in the portal. ",
+ "x-nullable": true
+ },
+ "packageRelativePath": {
+ "type": "string",
+ "description": "Relative Path to the package inside the image. ",
+ "x-nullable": false
+ },
+ "isRegularRegistration": {
+ "type": "boolean",
+ "description": "Specifies how to register Package in feed.",
+ "x-nullable": false
+ },
+ "isActive": {
+ "type": "boolean",
+ "description": "Make this version of the package the active one across the hostpool. ",
+ "x-nullable": false
+ },
+ "packageDependencies": {
+ "type": "array",
+ "description": "List of package dependencies. ",
+ "items": {
+ "$ref": "#/definitions/MsixPackageDependencies"
+ },
+ "x-ms-identifiers": [],
+ "x-nullable": true
+ },
+ "version": {
+ "type": "string",
+ "description": "Package Version found in the appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "lastUpdated": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Date Package was last updated, found in the appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "packageApplications": {
+ "type": "array",
+ "description": "List of package applications. ",
+ "items": {
+ "$ref": "#/definitions/MsixPackageApplications"
+ },
+ "x-ms-identifiers": [],
+ "x-nullable": false
+ },
+ "certificateName": {
+ "type": "string",
+ "description": "Certificate name found in the appxmanifest.xml. ",
+ "x-nullable": true
+ },
+ "certificateExpiry": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Date certificate expires, found in the appxmanifest.xml. ",
+ "x-nullable": true
+ },
+ "isPackageTimestamped": {
+ "enum": [
+ "Timestamped",
+ "NotTimestamped"
+ ],
+ "x-ms-enum": {
+ "name": "packageTimestamped",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Is package timestamped so it can ignore the certificate expiry date",
+ "x-nullable": true
+ }
+ }
+ },
+ "ImportPackageInfoRequest": {
+ "description": "Information to import app attach package",
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "URI to Image"
+ },
+ "packageArchitecture": {
+ "enum": [
+ "ARM",
+ "ARM64",
+ "x86",
+ "x64",
+ "Neutral",
+ "x86a64",
+ "ALL"
+ ],
+ "x-ms-enum": {
+ "name": "AppAttachPackageArchitectures",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Possible device architectures that an app attach package can be configured for",
+ "x-nullable": true
+ }
+ }
+ },
+ "FailHealthCheckOnStagingFailureEnum": {
+ "enum": [
+ "Unhealthy",
+ "NeedsAssistance",
+ "DoNotFail"
+ ],
+ "x-ms-enum": {
+ "name": "failHealthCheckOnStagingFailure",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Parameter indicating how the health check should behave if this package fails staging"
+ },
+ "ProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Provisioning",
+ "Failed",
+ "Canceled"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "Application": {
+ "description": "Schema for Application properties.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ },
+ "properties": {
+ "description": "Detailed properties for Application",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationProperties",
+ "x-nullable": false
+ }
+ }
+ },
+ "ApplicationProperties": {
+ "description": "Schema for Application properties.",
+ "type": "object",
+ "required": [
+ "commandLineSetting"
+ ],
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of Application. (internal use)",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of Application."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Application."
+ },
+ "filePath": {
+ "type": "string",
+ "description": "Specifies a path for the executable file for the application."
+ },
+ "msixPackageFamilyName": {
+ "type": "string",
+ "description": "Specifies the package family name for MSIX applications",
+ "x-nullable": true,
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "msixPackageApplicationId": {
+ "type": "string",
+ "description": "Specifies the package application Id for MSIX applications",
+ "x-nullable": true,
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "applicationType": {
+ "enum": [
+ "InBuilt",
+ "MsixApplication"
+ ],
+ "x-ms-enum": {
+ "name": "RemoteApplicationType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Resource Type of Application.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "commandLineSetting": {
+ "enum": [
+ "DoNotAllow",
+ "Allow",
+ "Require"
+ ],
+ "x-ms-enum": {
+ "name": "CommandLineSetting",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.",
+ "x-nullable": false
+ },
+ "commandLineArguments": {
+ "type": "string",
+ "description": "Command Line Arguments for Application."
+ },
+ "showInPortal": {
+ "type": "boolean",
+ "description": "Specifies whether to show the RemoteApp program in the RD Web Access server."
+ },
+ "iconPath": {
+ "type": "string",
+ "description": "Path to icon."
+ },
+ "iconIndex": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Index of the icon."
+ },
+ "iconHash": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Hash of the icon."
+ },
+ "iconContent": {
+ "readOnly": true,
+ "type": "string",
+ "format": "byte",
+ "description": "the icon a 64 bit string as a byte array."
+ }
+ }
+ },
+ "ApplicationList": {
+ "type": "object",
+ "title": "ApplicationList",
+ "description": "List of Application definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of Application definitions.",
+ "items": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "ApplicationPatch": {
+ "type": "object",
+ "description": "Application properties that can be patched.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "Detailed properties for Application",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationPatchProperties"
+ }
+ }
+ },
+ "ApplicationPatchProperties": {
+ "description": "Application properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of Application."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Application."
+ },
+ "filePath": {
+ "type": "string",
+ "description": "Specifies a path for the executable file for the application."
+ },
+ "commandLineSetting": {
+ "enum": [
+ "DoNotAllow",
+ "Allow",
+ "Require"
+ ],
+ "x-ms-enum": {
+ "name": "CommandLineSetting",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all."
+ },
+ "commandLineArguments": {
+ "type": "string",
+ "description": "Command Line Arguments for Application."
+ },
+ "showInPortal": {
+ "type": "boolean",
+ "description": "Specifies whether to show the RemoteApp program in the RD Web Access server."
+ },
+ "iconPath": {
+ "type": "string",
+ "description": "Path to icon."
+ },
+ "iconIndex": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Index of the icon."
+ },
+ "msixPackageFamilyName": {
+ "type": "string",
+ "description": "Specifies the package family name for MSIX applications",
+ "x-nullable": true
+ },
+ "msixPackageApplicationId": {
+ "type": "string",
+ "description": "Specifies the package application Id for MSIX applications",
+ "x-nullable": true
+ },
+ "applicationType": {
+ "enum": [
+ "InBuilt",
+ "MsixApplication"
+ ],
+ "x-ms-enum": {
+ "name": "RemoteApplicationType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Resource Type of Application."
+ }
+ }
+ },
+ "Desktop": {
+ "description": "Schema for Desktop properties.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ },
+ "properties": {
+ "description": "Detailed properties for Desktop",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DesktopProperties"
+ }
+ }
+ },
+ "DesktopProperties": {
+ "description": "Schema for Desktop properties.",
+ "type": "object",
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of Desktop. (internal use)",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of Desktop."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Desktop."
+ },
+ "iconHash": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Hash of the icon."
+ },
+ "iconContent": {
+ "readOnly": true,
+ "type": "string",
+ "format": "byte",
+ "description": "The icon a 64 bit string as a byte array."
+ }
+ }
+ },
+ "DesktopList": {
+ "type": "object",
+ "title": "DesktopList",
+ "description": "List of Desktop definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of Desktop definitions.",
+ "items": {
+ "$ref": "#/definitions/Desktop"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "DesktopPatch": {
+ "type": "object",
+ "description": "Desktop properties that can be patched.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "Detailed properties for Desktop",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DesktopPatchProperties"
+ }
+ }
+ },
+ "DesktopPatchProperties": {
+ "description": "Desktop properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of Desktop."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Desktop."
+ }
+ }
+ },
+ "StartMenuItemProperties": {
+ "description": "Schema for StartMenuItem properties.",
+ "type": "object",
+ "properties": {
+ "appAlias": {
+ "type": "string",
+ "description": "Alias of StartMenuItem."
+ },
+ "filePath": {
+ "type": "string",
+ "description": "Path to the file of StartMenuItem."
+ },
+ "commandLineArguments": {
+ "type": "string",
+ "description": "Command line arguments for StartMenuItem."
+ },
+ "iconPath": {
+ "type": "string",
+ "description": "Path to the icon."
+ },
+ "iconIndex": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Index of the icon."
+ }
+ }
+ },
+ "StartMenuItem": {
+ "type": "object",
+ "description": "Represents a StartMenuItem definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for StartMenuItem",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/StartMenuItemProperties"
+ }
+ }
+ },
+ "StartMenuItemList": {
+ "type": "object",
+ "title": "StartMenuItemList",
+ "description": "List of StartMenuItem definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of StartMenuItem definitions.",
+ "items": {
+ "$ref": "#/definitions/StartMenuItem"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "ExpandMsixImageProperties": {
+ "description": "Schema for Expand MSIX Image properties.",
+ "type": "object",
+ "properties": {
+ "packageAlias": {
+ "type": "string",
+ "description": "Alias of MSIX Package."
+ },
+ "imagePath": {
+ "type": "string",
+ "description": "VHD/CIM image path on Network Share.",
+ "x-nullable": false
+ },
+ "packageName": {
+ "type": "string",
+ "description": "Package Name from appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "packageFamilyName": {
+ "type": "string",
+ "description": "Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. ",
+ "x-nullable": false
+ },
+ "packageFullName": {
+ "type": "string",
+ "description": "Package Full Name from appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "displayName": {
+ "type": "string",
+ "description": "User friendly Name to be displayed in the portal. ",
+ "x-nullable": true
+ },
+ "packageRelativePath": {
+ "type": "string",
+ "description": "Relative Path to the package inside the image. ",
+ "x-nullable": false
+ },
+ "isRegularRegistration": {
+ "type": "boolean",
+ "description": "Specifies how to register Package in feed.",
+ "x-nullable": false
+ },
+ "isActive": {
+ "type": "boolean",
+ "description": "Make this version of the package the active one across the hostpool. ",
+ "x-nullable": false
+ },
+ "packageDependencies": {
+ "type": "array",
+ "description": "List of package dependencies. ",
+ "items": {
+ "$ref": "#/definitions/MsixPackageDependencies"
+ },
+ "x-nullable": true
+ },
+ "version": {
+ "type": "string",
+ "description": "Package Version found in the appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "lastUpdated": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Date Package was last updated, found in the appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "packageApplications": {
+ "type": "array",
+ "description": "List of package applications. ",
+ "items": {
+ "$ref": "#/definitions/MsixPackageApplications"
+ },
+ "x-nullable": false
+ },
+ "certificateName": {
+ "type": "string",
+ "description": "Certificate name found in the appxmanifest.xml. ",
+ "x-nullable": true
+ },
+ "certificateExpiry": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Date certificate expires, found in the appxmanifest.xml. ",
+ "x-nullable": true
+ }
+ }
+ },
+ "ExpandMsixImage": {
+ "type": "object",
+ "description": "Represents the definition of contents retrieved after expanding the MSIX Image. ",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for ExpandMsixImage",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpandMsixImageProperties"
+ }
+ }
+ },
+ "ExpandMsixImageList": {
+ "type": "object",
+ "title": "ExpandMsixImageList",
+ "description": "List of MSIX package properties retrieved from MSIX Image expansion.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of MSIX package properties from give MSIX Image.",
+ "items": {
+ "$ref": "#/definitions/ExpandMsixImage"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "MSIXImageURI": {
+ "description": "Represents URI referring to MSIX Image",
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "URI to Image"
+ }
+ }
+ },
+ "SessionHost": {
+ "type": "object",
+ "description": "Represents a SessionHost definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ },
+ "properties": {
+ "description": "Detailed properties for SessionHost",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SessionHostProperties"
+ }
+ }
+ },
+ "SessionHostProperties": {
+ "description": "Schema for SessionHost properties.",
+ "type": "object",
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of SessionHost. (internal use)",
+ "readOnly": true
+ },
+ "lastHeartBeat": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Last heart beat from SessionHost."
+ },
+ "sessions": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of sessions on SessionHost."
+ },
+ "agentVersion": {
+ "type": "string",
+ "description": "Version of agent on SessionHost."
+ },
+ "allowNewSession": {
+ "type": "boolean",
+ "description": "Allow a new session."
+ },
+ "virtualMachineId": {
+ "type": "string",
+ "description": "Virtual Machine Id of SessionHost's underlying virtual machine.",
+ "readOnly": true
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Resource Id of SessionHost's underlying virtual machine.",
+ "readOnly": true
+ },
+ "assignedUser": {
+ "type": "string",
+ "description": "User assigned to SessionHost."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of SessionHost"
+ },
+ "status": {
+ "enum": [
+ "Available",
+ "Unavailable",
+ "Shutdown",
+ "Disconnected",
+ "Upgrading",
+ "UpgradeFailed",
+ "NoHeartbeat",
+ "NotJoinedToDomain",
+ "DomainTrustRelationshipLost",
+ "SxSStackListenerNotReady",
+ "FSLogixNotHealthy",
+ "NeedsAssistance"
+ ],
+ "x-ms-enum": {
+ "name": "Status",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Available",
+ "description": "Session Host has passed all the health checks and is available to handle connections."
+ },
+ {
+ "value": "Unavailable",
+ "description": "Session Host is either turned off or has failed critical health checks which is causing service not to be able to route connections to this session host. Note this replaces previous 'NoHeartBeat' status."
+ },
+ {
+ "value": "Shutdown",
+ "description": "Session Host is shutdown - RD Agent reported session host to be stopped or deallocated."
+ },
+ {
+ "value": "Disconnected",
+ "description": "The Session Host is unavailable because it is currently disconnected."
+ },
+ {
+ "value": "Upgrading",
+ "description": "Session Host is unavailable because currently an upgrade of RDAgent/side-by-side stack is in progress. Note: this state will be removed once the upgrade completes and the host is able to accept connections."
+ },
+ {
+ "value": "UpgradeFailed",
+ "description": "Session Host is unavailable because the critical component upgrade (agent, side-by-side stack, etc.) failed."
+ },
+ {
+ "value": "NoHeartbeat",
+ "description": "The Session Host is not heart beating."
+ },
+ {
+ "value": "NotJoinedToDomain",
+ "description": "SessionHost is not joined to domain."
+ },
+ {
+ "value": "DomainTrustRelationshipLost",
+ "description": "SessionHost's domain trust relationship lost"
+ },
+ {
+ "value": "SxSStackListenerNotReady",
+ "description": "SxS stack installed on the SessionHost is not ready to receive connections."
+ },
+ {
+ "value": "FSLogixNotHealthy",
+ "description": "FSLogix is in an unhealthy state on the session host."
+ },
+ {
+ "value": "NeedsAssistance",
+ "description": "New status to inform admins that the health on their endpoint needs to be fixed. The connections might not fail, as these issues are not fatal."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "Status for a SessionHost."
+ },
+ "statusTimestamp": {
+ "format": "date-time",
+ "type": "string",
+ "description": "The timestamp of the status.",
+ "readOnly": true
+ },
+ "osVersion": {
+ "type": "string",
+ "description": "The version of the OS on the session host."
+ },
+ "sxSStackVersion": {
+ "type": "string",
+ "description": "The version of the side by side stack on the session host."
+ },
+ "updateState": {
+ "enum": [
+ "Initial",
+ "Pending",
+ "Started",
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "UpdateState",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Update state of a SessionHost."
+ },
+ "lastUpdateTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "The timestamp of the last update.",
+ "readOnly": true
+ },
+ "updateErrorMessage": {
+ "type": "string",
+ "description": "The error message."
+ },
+ "sessionHostHealthCheckResults": {
+ "type": "array",
+ "readOnly": true,
+ "description": "List of SessionHostHealthCheckReports",
+ "items": {
+ "$ref": "#/definitions/SessionHostHealthCheckReport"
+ }
+ }
+ }
+ },
+ "SessionHostHealthCheckReport": {
+ "type": "object",
+ "description": "The report for session host information.",
+ "properties": {
+ "healthCheckName": {
+ "enum": [
+ "DomainJoinedCheck",
+ "DomainTrustCheck",
+ "FSLogixHealthCheck",
+ "SxSStackListenerCheck",
+ "UrlsAccessibleCheck",
+ "MonitoringAgentCheck",
+ "DomainReachable",
+ "WebRTCRedirectorCheck",
+ "SupportedEncryptionCheck",
+ "MetaDataServiceCheck",
+ "AppAttachHealthCheck"
+ ],
+ "x-ms-enum": {
+ "name": "HealthCheckName",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "DomainJoinedCheck",
+ "description": "Verifies the SessionHost is joined to a domain. If this check fails is classified as fatal as no connection can succeed if the SessionHost is not joined to the domain. (Currently Enabled)"
+ },
+ {
+ "value": "DomainTrustCheck",
+ "description": "Verifies the SessionHost is not experiencing domain trust issues that will prevent authentication on SessionHost at connection time when session is created. If this check fails is classified as fatal as no connection can succeed if we cannot reach the domain for authentication on the SessionHost. (Currently Enabled)"
+ },
+ {
+ "value": "FSLogixHealthCheck",
+ "description": "Verifies the FSLogix service is up and running to make sure users' profiles are loaded in the session. If this check fails is classified as fatal as even if the connection can succeed, user experience is bad as the user profile cannot be loaded and user will get a temporary profile in the session. (Currently Disabled)"
+ },
+ {
+ "value": "SxSStackListenerCheck",
+ "description": "Verifies that the SxS stack is up and running so connections can succeed. If this check fails is classified as fatal as no connection can succeed if the SxS stack is not ready. (Currently Enabled)"
+ },
+ {
+ "value": "UrlsAccessibleCheck",
+ "description": "Verifies that the required WVD service and Geneva URLs are reachable from the SessionHost. These URLs are: RdTokenUri, RdBrokerURI, RdDiagnosticsUri and storage blob URLs for agent monitoring (geneva). If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is unable to store warm path data (logs, operations ...). (Currently Disabled)"
+ },
+ {
+ "value": "MonitoringAgentCheck",
+ "description": "Verifies that the required Geneva agent is running. If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is missing or running (possibly) older version. (Currently Enabled)"
+ },
+ {
+ "value": "DomainReachable",
+ "description": "Verifies the domain the SessionHost is joined to is still reachable. If this check fails is classified as fatal as no connection can succeed if the domain the SessionHost is joined is not reachable at the time of connection. (Currently Disabled)"
+ },
+ {
+ "value": "WebRTCRedirectorCheck",
+ "description": "Verifies whether the WebRTCRedirector component is healthy. The WebRTCRedirector component is used to optimize video and audio performance in Microsoft Teams. This checks whether the component is still running, and whether there is a higher version available. If this check fails, it is non fatal and the machine still can service connections, main issue may be the WebRTCRedirector component has to be restarted or updated. (Currently Disabled)"
+ },
+ {
+ "value": "SupportedEncryptionCheck",
+ "description": "Verifies the value of SecurityLayer registration key. If the value is 0 (SecurityLayer.RDP) this check fails with Error code = NativeMethodErrorCode.E_FAIL and is fatal. If the value is 1 (SecurityLayer.Negotiate) this check fails with Error code = NativeMethodErrorCode.ERROR_SUCCESS and is non fatal. (Currently Disabled)"
+ },
+ {
+ "value": "MetaDataServiceCheck",
+ "description": "Verifies the metadata service is accessible and return compute properties. (Currently Enabled)"
+ },
+ {
+ "value": "AppAttachHealthCheck",
+ "description": "Verifies that the AppAttachService is healthy (there were no issues during package staging). The AppAttachService is used to enable the staging/registration (and eventual deregistration/destaging) of MSIX apps that have been set up by the tenant admin. This checks whether the component had any failures during package staging. Failures in staging will prevent some MSIX apps from working properly for the end user. If this check fails, it is non fatal and the machine still can service connections, main issue may be certain apps will not work for end-users. (Currently Enabled)"
+ }
+ ]
+ },
+ "type": "string",
+ "description": "Represents the name of the health check operation performed.",
+ "readOnly": true
+ },
+ "healthCheckResult": {
+ "enum": [
+ "Unknown",
+ "HealthCheckSucceeded",
+ "HealthCheckFailed",
+ "SessionHostShutdown"
+ ],
+ "x-ms-enum": {
+ "name": "HealthCheckResult",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unknown",
+ "description": "Health check result is not currently known."
+ },
+ {
+ "value": "HealthCheckSucceeded",
+ "description": "Health check passed."
+ },
+ {
+ "value": "HealthCheckFailed",
+ "description": "Health check failed."
+ },
+ {
+ "value": "SessionHostShutdown",
+ "description": "We received a Shutdown notification."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "Represents the Health state of the health check we performed.",
+ "readOnly": true
+ },
+ "additionalFailureDetails": {
+ "$ref": "#/definitions/SessionHostHealthCheckFailureDetails",
+ "description": "Additional detailed information on the failure.",
+ "readOnly": true
+ }
+ }
+ },
+ "SessionHostHealthCheckFailureDetails": {
+ "type": "object",
+ "description": "Contains details on the failure.",
+ "properties": {
+ "message": {
+ "type": "string",
+ "description": "Failure message: hints on what is wrong and how to recover.",
+ "readOnly": true
+ },
+ "errorCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Error code corresponding for the failure.",
+ "readOnly": true
+ },
+ "lastHealthCheckDateTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "The timestamp of the last update.",
+ "readOnly": true
+ }
+ }
+ },
+ "SessionHostPatch": {
+ "type": "object",
+ "description": "SessionHost properties that can be patched.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for SessionHost",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SessionHostPatchProperties"
+ }
+ }
+ },
+ "SessionHostPatchProperties": {
+ "description": "SessionHost properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "allowNewSession": {
+ "type": "boolean",
+ "description": "Allow a new session."
+ },
+ "assignedUser": {
+ "type": "string",
+ "description": "User assigned to SessionHost."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of SessionHost"
+ }
+ }
+ },
+ "SessionHostList": {
+ "type": "object",
+ "title": "SessionHostList",
+ "description": "List of SessionHost definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of SessionHost definitions.",
+ "items": {
+ "$ref": "#/definitions/SessionHost"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "UserSession": {
+ "type": "object",
+ "description": "Represents a UserSession definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ },
+ "properties": {
+ "description": "Detailed properties for UserSession",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UserSessionProperties"
+ }
+ }
+ },
+ "UserSessionProperties": {
+ "description": "Schema for UserSession properties.",
+ "type": "object",
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of user session. (internal use)",
+ "readOnly": true
+ },
+ "userPrincipalName": {
+ "type": "string",
+ "description": "The user principal name."
+ },
+ "applicationType": {
+ "enum": [
+ "RemoteApp",
+ "Desktop"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Application type of application."
+ },
+ "sessionState": {
+ "enum": [
+ "Unknown",
+ "Active",
+ "Disconnected",
+ "Pending",
+ "LogOff",
+ "UserProfileDiskMounted"
+ ],
+ "x-ms-enum": {
+ "name": "SessionState",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "State of user session."
+ },
+ "activeDirectoryUserName": {
+ "type": "string",
+ "description": "The active directory user name."
+ },
+ "createTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "The timestamp of the user session create."
+ }
+ }
+ },
+ "UserSessionList": {
+ "type": "object",
+ "title": "UserSessionList",
+ "description": "List of UserSession definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of UserSession definitions.",
+ "items": {
+ "$ref": "#/definitions/UserSession"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "ScalingPlan": {
+ "type": "object",
+ "title": "ScalingPlan",
+ "description": "Represents a scaling plan definition.",
+ "required": [
+ "properties"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ResourceModelWithAllowedPropertySet"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ },
+ "properties": {
+ "description": "Detailed properties for scaling plan.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ScalingPlanProperties",
+ "x-nullable": false
+ }
+ }
+ },
+ "ScalingPlanProperties": {
+ "type": "object",
+ "description": "Scaling plan properties.",
+ "required": [
+ "timeZone"
+ ],
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of scaling plan. (internal use)",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of scaling plan."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "User friendly name of scaling plan."
+ },
+ "timeZone": {
+ "type": "string",
+ "description": "Timezone of the scaling plan."
+ },
+ "hostPoolType": {
+ "enum": [
+ "Pooled"
+ ],
+ "x-ms-enum": {
+ "name": "ScalingHostPoolType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Pooled",
+ "description": "Users get a new (random) SessionHost every time it connects to the HostPool."
+ }
+ ]
+ },
+ "default": "Pooled",
+ "type": "string",
+ "description": "HostPool type for desktop.",
+ "x-nullable": false
+ },
+ "exclusionTag": {
+ "type": "string",
+ "description": "Exclusion tag for scaling plan."
+ },
+ "schedules": {
+ "type": "array",
+ "description": "List of ScalingPlanPooledSchedule definitions.",
+ "items": {
+ "$ref": "#/definitions/ScalingSchedule"
+ }
+ },
+ "hostPoolReferences": {
+ "type": "array",
+ "description": "List of ScalingHostPoolReference definitions.",
+ "items": {
+ "$ref": "#/definitions/ScalingHostPoolReference"
+ }
+ }
+ }
+ },
+ "ScalingSchedule": {
+ "description": "A ScalingPlanPooledSchedule.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the ScalingPlanPooledSchedule."
+ },
+ "daysOfWeek": {
+ "type": "array",
+ "description": "Set of days of the week on which this schedule is active.",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string"
+ }
+ },
+ "rampUpStartTime": {
+ "$ref": "#/definitions/Time",
+ "description": "Starting time for ramp up period."
+ },
+ "rampUpLoadBalancingAlgorithm": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostLoadBalancingAlgorithm",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Load balancing algorithm for ramp up period."
+ },
+ "rampUpMinimumHostsPct": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "Minimum host percentage for ramp up period."
+ },
+ "rampUpCapacityThresholdPct": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 100,
+ "description": "Capacity threshold for ramp up period."
+ },
+ "peakStartTime": {
+ "$ref": "#/definitions/Time",
+ "description": "Starting time for peak period."
+ },
+ "peakLoadBalancingAlgorithm": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostLoadBalancingAlgorithm",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Load balancing algorithm for peak period."
+ },
+ "rampDownStartTime": {
+ "$ref": "#/definitions/Time",
+ "description": "Starting time for ramp down period."
+ },
+ "rampDownLoadBalancingAlgorithm": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostLoadBalancingAlgorithm",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Load balancing algorithm for ramp down period."
+ },
+ "rampDownMinimumHostsPct": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "Minimum host percentage for ramp down period."
+ },
+ "rampDownCapacityThresholdPct": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 100,
+ "description": "Capacity threshold for ramp down period."
+ },
+ "rampDownForceLogoffUsers": {
+ "type": "boolean",
+ "description": "Should users be logged off forcefully from hosts."
+ },
+ "rampDownStopHostsWhen": {
+ "enum": [
+ "ZeroSessions",
+ "ZeroActiveSessions"
+ ],
+ "x-ms-enum": {
+ "name": "StopHostsWhen",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Specifies when to stop hosts during ramp down period."
+ },
+ "rampDownWaitTimeMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of minutes to wait to stop hosts during ramp down period."
+ },
+ "rampDownNotificationMessage": {
+ "type": "string",
+ "description": "Notification message for users during ramp down period."
+ },
+ "offPeakStartTime": {
+ "$ref": "#/definitions/Time",
+ "description": "Starting time for off-peak period."
+ },
+ "offPeakLoadBalancingAlgorithm": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostLoadBalancingAlgorithm",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Load balancing algorithm for off-peak period."
+ }
+ }
+ },
+ "ScalingPlanPooledSchedulePatch": {
+ "type": "object",
+ "description": "ScalingPlanPooledSchedule properties that can be patched.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for ScalingPlanPooledSchedule",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ScalingPlanPooledScheduleProperties"
+ }
+ }
+ },
+ "ScalingPlanPooledScheduleList": {
+ "type": "object",
+ "title": "ScalingPlanPooledScheduleList",
+ "description": "List of ScalingPlanPooledSchedule definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of ScalingPlanPooledSchedule definitions.",
+ "items": {
+ "$ref": "#/definitions/ScalingPlanPooledSchedule"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "ScalingPlanPooledSchedule": {
+ "type": "object",
+ "description": "Represents a ScalingPlanPooledSchedule definition.",
+ "required": [
+ "properties"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ },
+ "properties": {
+ "description": "Detailed properties for ScalingPlanPooledSchedule",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ScalingPlanPooledScheduleProperties",
+ "x-nullable": false
+ }
+ }
+ },
+ "ScalingPlanPooledScheduleProperties": {
+ "description": "A ScalingPlanPooledSchedule.",
+ "type": "object",
+ "properties": {
+ "daysOfWeek": {
+ "type": "array",
+ "description": "Set of days of the week on which this schedule is active.",
+ "items": {
+ "enum": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday",
+ "Sunday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": true
+ }
+ }
+ },
+ "rampUpStartTime": {
+ "$ref": "#/definitions/Time",
+ "description": "Starting time for ramp up period."
+ },
+ "rampUpLoadBalancingAlgorithm": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostLoadBalancingAlgorithm",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Load balancing algorithm for ramp up period."
+ },
+ "rampUpMinimumHostsPct": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "Minimum host percentage for ramp up period."
+ },
+ "rampUpCapacityThresholdPct": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 100,
+ "description": "Capacity threshold for ramp up period."
+ },
+ "peakStartTime": {
+ "$ref": "#/definitions/Time",
+ "description": "Starting time for peak period."
+ },
+ "peakLoadBalancingAlgorithm": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostLoadBalancingAlgorithm",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Load balancing algorithm for peak period."
+ },
+ "rampDownStartTime": {
+ "$ref": "#/definitions/Time",
+ "description": "Starting time for ramp down period."
+ },
+ "rampDownLoadBalancingAlgorithm": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostLoadBalancingAlgorithm",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Load balancing algorithm for ramp down period."
+ },
+ "rampDownMinimumHostsPct": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "Minimum host percentage for ramp down period."
+ },
+ "rampDownCapacityThresholdPct": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 100,
+ "description": "Capacity threshold for ramp down period."
+ },
+ "rampDownForceLogoffUsers": {
+ "type": "boolean",
+ "description": "Should users be logged off forcefully from hosts."
+ },
+ "rampDownStopHostsWhen": {
+ "enum": [
+ "ZeroSessions",
+ "ZeroActiveSessions"
+ ],
+ "x-ms-enum": {
+ "name": "StopHostsWhen",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Specifies when to stop hosts during ramp down period."
+ },
+ "rampDownWaitTimeMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of minutes to wait to stop hosts during ramp down period."
+ },
+ "rampDownNotificationMessage": {
+ "type": "string",
+ "description": "Notification message for users during ramp down period."
+ },
+ "offPeakStartTime": {
+ "$ref": "#/definitions/Time",
+ "description": "Starting time for off-peak period."
+ },
+ "offPeakLoadBalancingAlgorithm": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostLoadBalancingAlgorithm",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Load balancing algorithm for off-peak period."
+ }
+ }
+ },
+ "Time": {
+ "description": "The time for a scaling action to occur.",
+ "required": [
+ "hour",
+ "minute"
+ ],
+ "type": "object",
+ "properties": {
+ "hour": {
+ "format": "int32",
+ "description": "The hour.",
+ "maximum": 23,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "minute": {
+ "format": "int32",
+ "description": "The minute.",
+ "maximum": 59,
+ "minimum": 0,
+ "type": "integer"
+ }
+ }
+ },
+ "ScalingHostPoolReference": {
+ "description": "Scaling plan reference to hostpool.",
+ "type": "object",
+ "properties": {
+ "hostPoolArmPath": {
+ "type": "string",
+ "description": "Arm path of referenced hostpool."
+ },
+ "scalingPlanEnabled": {
+ "type": "boolean",
+ "description": "Is the scaling plan enabled for this hostpool."
+ }
+ }
+ },
+ "ScalingPlanList": {
+ "type": "object",
+ "title": "ScalingPlanList",
+ "description": "List of scaling plan definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of scaling plan definitions.",
+ "items": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "ScalingPlanPatch": {
+ "type": "object",
+ "description": "Scaling plan properties that can be patched.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "Detailed properties for scaling plan",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ScalingPlanPatchProperties"
+ }
+ }
+ },
+ "ScalingPlanPatchProperties": {
+ "type": "object",
+ "description": "Scaling plan properties.",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of scaling plan."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "User friendly name of scaling plan."
+ },
+ "timeZone": {
+ "type": "string",
+ "description": "Timezone of the scaling plan."
+ },
+ "exclusionTag": {
+ "type": "string",
+ "description": "Exclusion tag for scaling plan."
+ },
+ "schedules": {
+ "type": "array",
+ "description": "List of ScalingSchedule definitions.",
+ "items": {
+ "$ref": "#/definitions/ScalingSchedule"
+ }
+ },
+ "hostPoolReferences": {
+ "type": "array",
+ "description": "List of ScalingHostPoolReference definitions.",
+ "items": {
+ "$ref": "#/definitions/ScalingHostPoolReference"
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnectionWithSystemData": {
+ "type": "object",
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection"
+ }
+ ],
+ "description": "The Private Endpoint Connection resource."
+ },
+ "PrivateLinkResourceListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private link resources",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ },
+ "description": "A list of private link resources"
+ },
+ "PrivateLinkResource": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "A private link resource"
+ },
+ "PrivateLinkResourceProperties": {
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "description": "The private link resource group id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredMembers": {
+ "description": "The private link resource required member names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "requiredZoneNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The private link resource Private link DNS zone name."
+ }
+ },
+ "description": "Properties of a private link resource."
+ },
+ "PrivateEndpointConnectionListResultWithSystemData": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private endpoint connections",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ },
+ "description": "List of private endpoint connection associated with the specified storage account"
+ },
+ "ScalingPlanPersonalSchedulePatch": {
+ "type": "object",
+ "description": "ScalingPlanPersonalSchedule properties that can be patched.",
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for ScalingPlanPersonalSchedule",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ScalingPlanPersonalScheduleProperties"
+ }
+ }
+ },
+ "ScalingPlanPersonalScheduleList": {
+ "type": "object",
+ "title": "ScalingPlanPersonalScheduleList",
+ "description": "List of ScalingPlanPersonalSchedule definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of ScalingPlanPersonalSchedule definitions.",
+ "items": {
+ "$ref": "#/definitions/ScalingPlanPersonalSchedule"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "ScalingPlanPersonalSchedule": {
+ "type": "object",
+ "description": "Represents a ScalingPlanPersonalSchedule definition.",
+ "required": [
+ "properties"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ },
+ "properties": {
+ "description": "Detailed properties for ScalingPlanPersonalSchedule",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ScalingPlanPersonalScheduleProperties",
+ "x-nullable": false
+ }
+ }
+ },
+ "ScalingPlanPersonalScheduleProperties": {
+ "description": "A ScalingPlanPersonalSchedule.",
+ "type": "object",
+ "properties": {
+ "daysOfWeek": {
+ "type": "array",
+ "description": "Set of days of the week on which this schedule is active.",
+ "items": {
+ "enum": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday",
+ "Sunday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": true
+ }
+ }
+ },
+ "rampUpStartTime": {
+ "$ref": "#/definitions/Time",
+ "description": "Starting time for ramp up period."
+ },
+ "rampUpAutoStartHosts": {
+ "enum": [
+ "None",
+ "WithAssignedUser",
+ "All"
+ ],
+ "x-ms-enum": {
+ "name": "StartupBehavior",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "Session hosts will not be started by the service. This setting depends on Start VM on Connect to be enabled to start the session hosts."
+ },
+ {
+ "value": "WithAssignedUser",
+ "description": "Session hosts with an assigned user will be started during Ramp Up"
+ },
+ {
+ "value": "All",
+ "description": "All personal session hosts in the hostpool will be started during ramp up."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "The desired startup behavior during the ramp up period for personal vms in the hostpool."
+ },
+ "rampUpStartVMOnConnect": {
+ "enum": [
+ "Enable",
+ "Disable"
+ ],
+ "x-ms-enum": {
+ "name": "SetStartVMOnConnect",
+ "modelAsString": true
+ },
+ "default": "Enable",
+ "type": "string",
+ "description": "The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually."
+ },
+ "rampUpActionOnDisconnect": {
+ "enum": [
+ "None",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHandlingOperation",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Action to be taken after a user disconnect during the ramp up period."
+ },
+ "rampUpMinutesToWaitOnDisconnect": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period."
+ },
+ "rampUpActionOnLogoff": {
+ "enum": [
+ "None",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHandlingOperation",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Action to be taken after a logoff during the ramp up period."
+ },
+ "rampUpMinutesToWaitOnLogoff": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period."
+ },
+ "peakStartTime": {
+ "$ref": "#/definitions/Time",
+ "description": "Starting time for peak period."
+ },
+ "peakStartVMOnConnect": {
+ "enum": [
+ "Enable",
+ "Disable"
+ ],
+ "x-ms-enum": {
+ "name": "SetStartVMOnConnect",
+ "modelAsString": true
+ },
+ "default": "Enable",
+ "type": "string",
+ "description": "The desired configuration of Start VM On Connect for the hostpool during the peak phase."
+ },
+ "peakActionOnDisconnect": {
+ "enum": [
+ "None",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHandlingOperation",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Action to be taken after a user disconnect during the peak period."
+ },
+ "peakMinutesToWaitOnDisconnect": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period."
+ },
+ "peakActionOnLogoff": {
+ "enum": [
+ "None",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHandlingOperation",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Action to be taken after a logoff during the peak period."
+ },
+ "peakMinutesToWaitOnLogoff": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period."
+ },
+ "rampDownStartTime": {
+ "$ref": "#/definitions/Time",
+ "description": "Starting time for ramp down period."
+ },
+ "rampDownStartVMOnConnect": {
+ "enum": [
+ "Enable",
+ "Disable"
+ ],
+ "x-ms-enum": {
+ "name": "SetStartVMOnConnect",
+ "modelAsString": true
+ },
+ "default": "Enable",
+ "type": "string",
+ "description": "The desired configuration of Start VM On Connect for the hostpool during the ramp down phase."
+ },
+ "rampDownActionOnDisconnect": {
+ "enum": [
+ "None",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHandlingOperation",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Action to be taken after a user disconnect during the ramp down period."
+ },
+ "rampDownMinutesToWaitOnDisconnect": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period."
+ },
+ "rampDownActionOnLogoff": {
+ "enum": [
+ "None",
+ "Deallocate",
+ "Hibernate"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHandlingOperation",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Action to be taken after a logoff during the ramp down period."
+ },
+ "rampDownMinutesToWaitOnLogoff": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period."
+ },
+ "offPeakStartTime": {
+ "$ref": "#/definitions/Time",
+ "description": "Starting time for off-peak period."
+ },
+ "offPeakStartVMOnConnect": {
+ "enum": [
+ "Enable",
+ "Disable"
+ ],
+ "x-ms-enum": {
+ "name": "SetStartVMOnConnect",
+ "modelAsString": true
+ },
+ "default": "Enable",
+ "type": "string",
+ "description": "The desired configuration of Start VM On Connect for the hostpool during the off-peak phase."
+ },
+ "offPeakActionOnDisconnect": {
+ "enum": [
+ "None",
+ "Deallocate",
+ "Hibernate"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHandlingOperation",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Action to be taken after a user disconnect during the off-peak period."
+ },
+ "offPeakMinutesToWaitOnDisconnect": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period."
+ },
+ "offPeakActionOnLogoff": {
+ "enum": [
+ "None",
+ "Deallocate",
+ "Hibernate"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHandlingOperation",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Action to be taken after a logoff during the off-peak period."
+ },
+ "offPeakMinutesToWaitOnLogoff": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "HostPoolNameParameter": {
+ "name": "hostPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the host pool within the specified resource group",
+ "maxLength": 64,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "MSIXPackageFullNameParameter": {
+ "name": "msixPackageFullName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The version specific package full name of the MSIX package within specified hostpool",
+ "maxLength": 100,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "AppAttachPackageNameParameter": {
+ "name": "appAttachPackageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the App Attach package arm object",
+ "maxLength": 100,
+ "minLength": 3,
+ "pattern": "^[a-z0-9]([a-z0-9]|(-(?!-))){1,61}[a-z0-9]$",
+ "x-ms-parameter-location": "method"
+ },
+ "ApplicationGroupNameParameter": {
+ "name": "applicationGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application group",
+ "maxLength": 64,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "ApplicationNameParameter": {
+ "name": "applicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application within the specified application group",
+ "maxLength": 24,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "DesktopNameParameter": {
+ "name": "desktopName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the desktop within the specified desktop group",
+ "maxLength": 24,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "WorkspaceNameParameter": {
+ "name": "workspaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the workspace",
+ "maxLength": 64,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "SessionHostNameParameter": {
+ "name": "sessionHostName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the session host within the specified host pool",
+ "maxLength": 48,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "UserSessionIdParameter": {
+ "name": "userSessionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the user session within the specified session host",
+ "maxLength": 24,
+ "minLength": 1,
+ "x-ms-parameter-location": "method"
+ },
+ "StartMenuItemNameParameter": {
+ "name": "startMenuItemName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the start menu item within the specified host pool",
+ "maxLength": 24,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "MSIXImageURIParameter": {
+ "name": "msixImageURI",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "URI to the MSIX Image (VHD/CIM).",
+ "maxLength": 100,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "ScalingPlanNameParameter": {
+ "name": "scalingPlanName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the scaling plan.",
+ "maxLength": 64,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "ScalingPlanScheduleNameParameter": {
+ "name": "scalingPlanScheduleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ScalingPlanSchedule",
+ "maxLength": 64,
+ "minLength": 1,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/AppAttachPackageInfo_Import_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/AppAttachPackageInfo_Import_Post.json
new file mode 100644
index 000000000000..e0be6a6a6097
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/AppAttachPackageInfo_Import_Post.json
@@ -0,0 +1,126 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2023-10-04-preview",
+ "importPackageInfoRequest": {
+ "path": "imagepath",
+ "packageArchitecture": "x64"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "packageName",
+ "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage",
+ "type": "Microsoft.DesktopVirtualization/appattachpackages",
+ "location": "southcentralus",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2023-09-28T23:44:56.13Z",
+ "lastModifiedBy": "user1",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-10-09T01:43:31.07Z"
+ },
+ "properties": {
+ "image": {
+ "packageAlias": "msixpackagealias",
+ "imagePath": "imagepath",
+ "packageName": "MsixPackageName",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "packageFullName": "MsixPackage_FullName",
+ "displayName": "displayname",
+ "packageRelativePath": "packagerelativepath",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "packageversion",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "AppId",
+ "description": "PackageApplicationDescription",
+ "appUserModelID": "AppUserModelId",
+ "friendlyName": "FriendlyName",
+ "iconImageName": "Iconimagename",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ],
+ "certificateName": "certName",
+ "certificateExpiry": "2023-01-02T17:18:19.1234567Z"
+ },
+ "hostPoolReferences": [],
+ "failHealthCheckOnStagingFailure": "NeedsAssistance",
+ "keyVaultURL": ""
+ }
+ },
+ {
+ "name": "packageName",
+ "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage",
+ "type": "Microsoft.DesktopVirtualization/appattachpackages",
+ "location": "southcentralus",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2023-09-28T23:44:56.13Z",
+ "lastModifiedBy": "user1",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-10-09T01:43:31.07Z"
+ },
+ "properties": {
+ "image": {
+ "packageAlias": "msixpackagealias",
+ "imagePath": "imagepath",
+ "packageName": "MsixPackageName",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "packageFullName": "MsixPackage_FullName",
+ "displayName": "displayname",
+ "packageRelativePath": "packagerelativepath",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "packageversion",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "AppId",
+ "description": "PackageApplicationDescription",
+ "appUserModelID": "AppUserModelId",
+ "friendlyName": "FriendlyName",
+ "iconImageName": "Iconimagename",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ],
+ "certificateName": "certName",
+ "certificateExpiry": "2023-01-02T17:18:19.1234567Z"
+ },
+ "hostPoolReferences": [],
+ "failHealthCheckOnStagingFailure": "NeedsAssistance",
+ "keyVaultURL": ""
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/AppAttachPackage_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/AppAttachPackage_Create.json
new file mode 100644
index 000000000000..f09085471ce4
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/AppAttachPackage_Create.json
@@ -0,0 +1,161 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "api-version": "2023-10-04-preview",
+ "appAttachPackageName": "msixpackagefullname",
+ "appAttachPackage": {
+ "location": "southcentralus",
+ "properties": {
+ "image": {
+ "packageAlias": "msixpackagealias",
+ "imagePath": "imagepath",
+ "packageName": "MsixPackageName",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "packageFullName": "MsixPackage_FullName",
+ "displayName": "displayname",
+ "packageRelativePath": "packagerelativepath",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "packageversion",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "AppId",
+ "description": "PackageApplicationDescription",
+ "appUserModelID": "AppUserModelId",
+ "friendlyName": "FriendlyName",
+ "iconImageName": "Iconimagename",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ],
+ "certificateName": "certName",
+ "certificateExpiry": "2023-01-02T17:18:19.1234567Z"
+ },
+ "hostPoolReferences": [],
+ "failHealthCheckOnStagingFailure": "NeedsAssistance",
+ "keyVaultURL": ""
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "packageName",
+ "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage",
+ "type": "Microsoft.DesktopVirtualization/appattachpackages",
+ "location": "southcentralus",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2023-09-28T23:44:56.13Z",
+ "lastModifiedBy": "user1",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-10-09T01:43:31.07Z"
+ },
+ "properties": {
+ "image": {
+ "packageAlias": "msixpackagealias",
+ "imagePath": "imagepath",
+ "packageName": "MsixPackageName",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "packageFullName": "MsixPackage_FullName",
+ "displayName": "displayname",
+ "packageRelativePath": "packagerelativepath",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "packageversion",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "AppId",
+ "description": "PackageApplicationDescription",
+ "appUserModelID": "AppUserModelId",
+ "friendlyName": "FriendlyName",
+ "iconImageName": "Iconimagename",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ],
+ "certificateName": "certName",
+ "certificateExpiry": "2023-01-02T17:18:19.1234567Z"
+ },
+ "hostPoolReferences": [],
+ "failHealthCheckOnStagingFailure": "NeedsAssistance",
+ "keyVaultURL": ""
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "packageName",
+ "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage",
+ "type": "Microsoft.DesktopVirtualization/appattachpackages",
+ "location": "southcentralus",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2023-09-28T23:44:56.13Z",
+ "lastModifiedBy": "user1",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-10-09T01:43:31.07Z"
+ },
+ "properties": {
+ "image": {
+ "packageAlias": "msixpackagealias",
+ "imagePath": "imagepath",
+ "packageName": "MsixPackageName",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "packageFullName": "MsixPackage_FullName",
+ "displayName": "displayname",
+ "packageRelativePath": "packagerelativepath",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "packageversion",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "AppId",
+ "description": "PackageApplicationDescription",
+ "appUserModelID": "AppUserModelId",
+ "friendlyName": "FriendlyName",
+ "iconImageName": "Iconimagename",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ],
+ "certificateName": "certName",
+ "certificateExpiry": "2023-01-02T17:18:19.1234567Z"
+ },
+ "hostPoolReferences": [],
+ "failHealthCheckOnStagingFailure": "NeedsAssistance",
+ "keyVaultURL": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/AppAttachPackage_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/AppAttachPackage_Delete.json
new file mode 100644
index 000000000000..f94bf1f853d2
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/AppAttachPackage_Delete.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "api-version": "2023-10-04-preview",
+ "appAttachPackageName": "packagefullname"
+ },
+ "responses": {
+ "200": {
+ "name": "packageName",
+ "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage",
+ "type": "Microsoft.DesktopVirtualization/appattachpackages",
+ "location": "southcentralus",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2023-09-28T23:44:56.13Z",
+ "lastModifiedBy": "user1",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-10-09T01:43:31.07Z"
+ },
+ "properties": {
+ "image": {
+ "packageAlias": "msixpackagealias",
+ "imagePath": "imagepath",
+ "packageName": "MsixPackageName",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "packageFullName": "MsixPackage_FullName",
+ "displayName": "displayname",
+ "packageRelativePath": "packagerelativepath",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "packageversion",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "AppId",
+ "description": "PackageApplicationDescription",
+ "appUserModelID": "AppUserModelId",
+ "friendlyName": "FriendlyName",
+ "iconImageName": "Iconimagename",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ],
+ "certificateName": "certName",
+ "certificateExpiry": "2023-01-02T17:18:19.1234567Z"
+ },
+ "hostPoolReferences": [],
+ "failHealthCheckOnStagingFailure": "NeedsAssistance",
+ "keyVaultURL": ""
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/AppAttachPackage_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/AppAttachPackage_Get.json
new file mode 100644
index 000000000000..ee294798b79c
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/AppAttachPackage_Get.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "api-version": "2023-10-04-preview",
+ "appAttachPackageName": "packagefullname"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "packageName",
+ "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage",
+ "type": "Microsoft.DesktopVirtualization/appattachpackages",
+ "location": "southcentralus",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2023-09-28T23:44:56.13Z",
+ "lastModifiedBy": "user1",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-10-09T01:43:31.07Z"
+ },
+ "properties": {
+ "image": {
+ "packageAlias": "msixpackagealias",
+ "imagePath": "imagepath",
+ "packageName": "MsixPackageName",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "packageFullName": "MsixPackage_FullName",
+ "displayName": "displayname",
+ "packageRelativePath": "packagerelativepath",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "packageversion",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "AppId",
+ "description": "PackageApplicationDescription",
+ "appUserModelID": "AppUserModelId",
+ "friendlyName": "FriendlyName",
+ "iconImageName": "Iconimagename",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ],
+ "certificateName": "certName",
+ "certificateExpiry": "2023-01-02T17:18:19.1234567Z"
+ },
+ "hostPoolReferences": [],
+ "failHealthCheckOnStagingFailure": "NeedsAssistance",
+ "keyVaultURL": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/AppAttachPackage_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/AppAttachPackage_ListByResourceGroup.json
new file mode 100644
index 000000000000..9b92a1c3b09f
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/AppAttachPackage_ListByResourceGroup.json
@@ -0,0 +1,122 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "api-version": "2023-10-04-preview",
+ "$filter": "HostPoolName eq 'hostpool1'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "packageName",
+ "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage",
+ "type": "Microsoft.DesktopVirtualization/appattachpackages",
+ "location": "southcentralus",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2023-09-28T23:44:56.13Z",
+ "lastModifiedBy": "user1",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-10-09T01:43:31.07Z"
+ },
+ "properties": {
+ "image": {
+ "packageAlias": "msixpackagealias",
+ "imagePath": "imagepath",
+ "packageName": "MsixPackageName",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "packageFullName": "MsixPackage_FullName",
+ "displayName": "displayname",
+ "packageRelativePath": "packagerelativepath",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "packageversion",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "AppId",
+ "description": "PackageApplicationDescription",
+ "appUserModelID": "AppUserModelId",
+ "friendlyName": "FriendlyName",
+ "iconImageName": "Iconimagename",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ],
+ "certificateName": "certName",
+ "certificateExpiry": "2023-01-02T17:18:19.1234567Z"
+ },
+ "hostPoolReferences": [],
+ "failHealthCheckOnStagingFailure": "NeedsAssistance",
+ "keyVaultURL": ""
+ }
+ },
+ {
+ "name": "packageName",
+ "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage",
+ "type": "Microsoft.DesktopVirtualization/appattachpackages",
+ "location": "southcentralus",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2023-09-28T23:44:56.13Z",
+ "lastModifiedBy": "user1",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-10-09T01:43:31.07Z"
+ },
+ "properties": {
+ "image": {
+ "packageAlias": "msixpackagealias",
+ "imagePath": "imagepath",
+ "packageName": "MsixPackageName",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "packageFullName": "MsixPackage_FullName",
+ "displayName": "displayname",
+ "packageRelativePath": "packagerelativepath",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "packageversion",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "AppId",
+ "description": "PackageApplicationDescription",
+ "appUserModelID": "AppUserModelId",
+ "friendlyName": "FriendlyName",
+ "iconImageName": "Iconimagename",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ],
+ "certificateName": "certName",
+ "certificateExpiry": "2023-01-02T17:18:19.1234567Z"
+ },
+ "hostPoolReferences": [],
+ "failHealthCheckOnStagingFailure": "NeedsAssistance",
+ "keyVaultURL": ""
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/AppAttachPackage_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/AppAttachPackage_ListBySubscription.json
new file mode 100644
index 000000000000..566d376afa32
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/AppAttachPackage_ListBySubscription.json
@@ -0,0 +1,121 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "api-version": "2023-10-04-preview",
+ "$filter": "HostPoolName eq 'hostpool1'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "packageName",
+ "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage",
+ "type": "Microsoft.DesktopVirtualization/appattachpackages",
+ "location": "southcentralus",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2023-09-28T23:44:56.13Z",
+ "lastModifiedBy": "user1",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-10-09T01:43:31.07Z"
+ },
+ "properties": {
+ "image": {
+ "packageAlias": "msixpackagealias",
+ "imagePath": "imagepath",
+ "packageName": "MsixPackageName",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "packageFullName": "MsixPackage_FullName",
+ "displayName": "displayname",
+ "packageRelativePath": "packagerelativepath",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "packageversion",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "AppId",
+ "description": "PackageApplicationDescription",
+ "appUserModelID": "AppUserModelId",
+ "friendlyName": "FriendlyName",
+ "iconImageName": "Iconimagename",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ],
+ "certificateName": "certName",
+ "certificateExpiry": "2023-01-02T17:18:19.1234567Z"
+ },
+ "hostPoolReferences": [],
+ "failHealthCheckOnStagingFailure": "NeedsAssistance",
+ "keyVaultURL": ""
+ }
+ },
+ {
+ "name": "packageName",
+ "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage",
+ "type": "Microsoft.DesktopVirtualization/appattachpackages",
+ "location": "southcentralus",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2023-09-28T23:44:56.13Z",
+ "lastModifiedBy": "user1",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-10-09T01:43:31.07Z"
+ },
+ "properties": {
+ "image": {
+ "packageAlias": "msixpackagealias",
+ "imagePath": "imagepath",
+ "packageName": "MsixPackageName",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "packageFullName": "MsixPackage_FullName",
+ "displayName": "displayname",
+ "packageRelativePath": "packagerelativepath",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "packageversion",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "AppId",
+ "description": "PackageApplicationDescription",
+ "appUserModelID": "AppUserModelId",
+ "friendlyName": "FriendlyName",
+ "iconImageName": "Iconimagename",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ],
+ "certificateName": "certName",
+ "certificateExpiry": "2023-01-02T17:18:19.1234567Z"
+ },
+ "hostPoolReferences": [],
+ "failHealthCheckOnStagingFailure": "NeedsAssistance",
+ "keyVaultURL": ""
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/AppAttachPackage_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/AppAttachPackage_Update.json
new file mode 100644
index 000000000000..3ebdd8feb522
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/AppAttachPackage_Update.json
@@ -0,0 +1,106 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "api-version": "2023-10-04-preview",
+ "appAttachPackageName": "msixpackagefullname",
+ "appAttachPackage": {
+ "image": {
+ "packageAlias": "msixpackagealias",
+ "imagePath": "imagepath",
+ "packageName": "MsixPackageName",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "packageFullName": "MsixPackage_FullName",
+ "displayName": "displayname",
+ "packageRelativePath": "packagerelativepath",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "packageversion",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "AppId",
+ "description": "PackageApplicationDescription",
+ "appUserModelID": "AppUserModelId",
+ "friendlyName": "FriendlyName",
+ "iconImageName": "Iconimagename",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ],
+ "certificateName": "certName",
+ "certificateExpiry": "2023-01-02T17:18:19.1234567Z"
+ },
+ "hostPoolReferences": [
+ "hostpool1",
+ "hostpool2"
+ ],
+ "keyVaultURL": "url",
+ "failHealthCheckOnStagingFailure": false
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "packageName",
+ "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage",
+ "type": "Microsoft.DesktopVirtualization/appattachpackages",
+ "location": "southcentralus",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2023-09-28T23:44:56.13Z",
+ "lastModifiedBy": "user1",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-10-09T01:43:31.07Z"
+ },
+ "properties": {
+ "image": {
+ "packageAlias": "msixpackagealias",
+ "imagePath": "imagepath",
+ "packageName": "MsixPackageName",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "packageFullName": "MsixPackage_FullName",
+ "displayName": "displayname",
+ "packageRelativePath": "packagerelativepath",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "packageversion",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "AppId",
+ "description": "PackageApplicationDescription",
+ "appUserModelID": "AppUserModelId",
+ "friendlyName": "FriendlyName",
+ "iconImageName": "Iconimagename",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ],
+ "certificateName": "certName",
+ "certificateExpiry": "2023-01-02T17:18:19.1234567Z"
+ },
+ "hostPoolReferences": [],
+ "failHealthCheckOnStagingFailure": "NeedsAssistance",
+ "keyVaultURL": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ApplicationGroup_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ApplicationGroup_Create.json
new file mode 100644
index 000000000000..7da69020be30
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ApplicationGroup_Create.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2023-10-04-preview",
+ "applicationGroup": {
+ "location": "centralus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "applicationGroupType": "RemoteApp",
+ "showInFeed": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false,
+ "showInFeed": true
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false,
+ "showInFeed": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ApplicationGroup_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ApplicationGroup_Delete.json
new file mode 100644
index 000000000000..2790dadab1c0
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ApplicationGroup_Delete.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false,
+ "showInFeed": true
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ApplicationGroup_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ApplicationGroup_Get.json
new file mode 100644
index 000000000000..91daf28fcf33
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ApplicationGroup_Get.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false,
+ "showInFeed": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ApplicationGroup_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ApplicationGroup_ListByResourceGroup.json
new file mode 100644
index 000000000000..2c1e27856107
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ApplicationGroup_ListByResourceGroup.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "api-version": "2023-10-04-preview",
+ "$filter": "applicationGroupType eq 'RailApplication'",
+ "pageSize": 10,
+ "isDescending": true,
+ "initialSkip": 0
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false,
+ "showInFeed": true
+ }
+ },
+ {
+ "name": "applicationGroup2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false,
+ "showInFeed": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ApplicationGroup_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ApplicationGroup_ListBySubscription.json
new file mode 100644
index 000000000000..ab543c678a1e
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ApplicationGroup_ListBySubscription.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "api-version": "2023-10-04-preview",
+ "$filter": "applicationGroupType eq 'RailApplication'",
+ "pageSize": 10,
+ "isDescending": true,
+ "initialSkip": 0
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false,
+ "showInFeed": true
+ }
+ },
+ {
+ "name": "applicationGroup2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false,
+ "showInFeed": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ApplicationGroup_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ApplicationGroup_Update.json
new file mode 100644
index 000000000000..30575cd1f3b0
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ApplicationGroup_Update.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2023-10-04-preview",
+ "applicationGroup": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly",
+ "showInFeed": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false,
+ "showInFeed": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Application_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Application_Create.json
new file mode 100644
index 000000000000..1965c76b9ee8
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Application_Create.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "applicationName": "application1",
+ "api-version": "2023-10-04-preview",
+ "application": {
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1/application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "applicationGroup1/application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Application_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Application_Delete.json
new file mode 100644
index 000000000000..50f47bbd77a8
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Application_Delete.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "applicationName": "application1",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {
+ "name": "applicationGroup1/application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Application_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Application_Get.json
new file mode 100644
index 000000000000..acf342a1529a
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Application_Get.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "applicationName": "application1",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1/application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Application_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Application_List.json
new file mode 100644
index 000000000000..94d1a3f6d575
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Application_List.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2023-10-04-preview",
+ "pageSize": 10,
+ "isDescending": true,
+ "initialSkip": 0
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "applicationGroup1/application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ },
+ {
+ "name": "applicationGroup1/application2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des2",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Application_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Application_Update.json
new file mode 100644
index 000000000000..c45e789002cd
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Application_Update.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "applicationName": "application1",
+ "api-version": "2023-10-04-preview",
+ "application": {
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1/application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Desktop_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Desktop_Get.json
new file mode 100644
index 000000000000..e6ebe4ffdda5
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Desktop_Get.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "desktopName": "SessionDesktop",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1/SessionDesktop",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Desktop_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Desktop_List.json
new file mode 100644
index 000000000000..e1cbb7a1edc5
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Desktop_List.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2023-10-04-preview",
+ "pageSize": 10,
+ "isDescending": true,
+ "initialSkip": 0
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "applicationGroup1/SessionDesktop",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Desktop_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Desktop_Update.json
new file mode 100644
index 000000000000..e4c1de96d4cf
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Desktop_Update.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "desktopName": "SessionDesktop",
+ "api-version": "2023-10-04-preview",
+ "desktop": {
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1/SessionDesktop",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/HostPool_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/HostPool_Create.json
new file mode 100644
index 000000000000..e8a15e920f67
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/HostPool_Create.json
@@ -0,0 +1,172 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2023-10-04-preview",
+ "hostPool": {
+ "location": "centralus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "registrationInfo": {
+ "expirationTime": "2020-10-01T14:01:54.9571247Z",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "agentUpdate": {
+ "type": "Scheduled",
+ "useSessionHostLocalTime": false,
+ "maintenanceWindowTimeZone": "Alaskan Standard Time",
+ "maintenanceWindows": [
+ {
+ "hour": 7,
+ "dayOfWeek": "Friday"
+ },
+ {
+ "hour": 8,
+ "dayOfWeek": "Saturday"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2020-10-01T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false,
+ "agentUpdate": {
+ "type": "Scheduled",
+ "useSessionHostLocalTime": false,
+ "maintenanceWindowTimeZone": "Alaskan Standard Time",
+ "maintenanceWindows": [
+ {
+ "hour": 7,
+ "dayOfWeek": "Friday"
+ },
+ {
+ "hour": 8,
+ "dayOfWeek": "Saturday"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2020-10-01T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false,
+ "agentUpdate": {
+ "type": "Scheduled",
+ "useSessionHostLocalTime": false,
+ "maintenanceWindowTimeZone": "Alaskan Standard Time",
+ "maintenanceWindows": [
+ {
+ "hour": 7,
+ "dayOfWeek": "Friday"
+ },
+ {
+ "hour": 8,
+ "dayOfWeek": "Saturday"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/HostPool_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/HostPool_Delete.json
new file mode 100644
index 000000000000..c0beaa0f98f2
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/HostPool_Delete.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2023-10-04-preview",
+ "force": true
+ },
+ "responses": {
+ "200": {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "startVMOnConnect": false,
+ "cloudPcResource": false,
+ "agentUpdate": {
+ "type": "Scheduled",
+ "useSessionHostLocalTime": false,
+ "maintenanceWindowTimeZone": "Alaskan Standard Time",
+ "maintenanceWindows": [
+ {
+ "hour": 7,
+ "dayOfWeek": "Friday"
+ },
+ {
+ "hour": 8,
+ "dayOfWeek": "Saturday"
+ }
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/HostPool_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/HostPool_Get.json
new file mode 100644
index 000000000000..e0eebe6db7a1
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/HostPool_Get.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false,
+ "agentUpdate": {
+ "type": "Scheduled",
+ "useSessionHostLocalTime": false,
+ "maintenanceWindowTimeZone": "Alaskan Standard Time",
+ "maintenanceWindows": [
+ {
+ "hour": 7,
+ "dayOfWeek": "Friday"
+ },
+ {
+ "hour": 8,
+ "dayOfWeek": "Saturday"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "default": {
+ "body": {
+ "error": {
+ "code": "hostPoolDoesNotExist",
+ "message": "Host Pool Does Not Exist"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/HostPool_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/HostPool_List.json
new file mode 100644
index 000000000000..27d76ce43566
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/HostPool_List.json
@@ -0,0 +1,133 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "api-version": "2023-10-04-preview",
+ "pageSize": 10,
+ "isDescending": true,
+ "initialSkip": 0
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false,
+ "agentUpdate": {
+ "type": "Scheduled",
+ "useSessionHostLocalTime": false,
+ "maintenanceWindowTimeZone": "Alaskan Standard Time",
+ "maintenanceWindows": [
+ {
+ "hour": 7,
+ "dayOfWeek": "Friday"
+ },
+ {
+ "hour": 8,
+ "dayOfWeek": "Saturday"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "hostPool2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false,
+ "agentUpdate": {
+ "type": "Scheduled",
+ "useSessionHostLocalTime": false,
+ "maintenanceWindowTimeZone": "Alaskan Standard Time",
+ "maintenanceWindows": [
+ {
+ "hour": 7,
+ "dayOfWeek": "Friday"
+ },
+ {
+ "hour": 8,
+ "dayOfWeek": "Saturday"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/HostPool_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/HostPool_ListByResourceGroup.json
new file mode 100644
index 000000000000..52a4104f4670
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/HostPool_ListByResourceGroup.json
@@ -0,0 +1,134 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "api-version": "2023-10-04-preview",
+ "pageSize": 10,
+ "isDescending": true,
+ "initialSkip": 0
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false,
+ "agentUpdate": {
+ "type": "Scheduled",
+ "useSessionHostLocalTime": false,
+ "maintenanceWindowTimeZone": "Alaskan Standard Time",
+ "maintenanceWindows": [
+ {
+ "hour": 7,
+ "dayOfWeek": "Friday"
+ },
+ {
+ "hour": 8,
+ "dayOfWeek": "Saturday"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "hostPool2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false,
+ "agentUpdate": {
+ "type": "Scheduled",
+ "useSessionHostLocalTime": false,
+ "maintenanceWindowTimeZone": "Alaskan Standard Time",
+ "maintenanceWindows": [
+ {
+ "hour": 7,
+ "dayOfWeek": "Friday"
+ },
+ {
+ "hour": 8,
+ "dayOfWeek": "Saturday"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/HostPool_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/HostPool_Update.json
new file mode 100644
index 000000000000..065052b91c70
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/HostPool_Update.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2023-10-04-preview",
+ "hostPool": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "friendlyName": "friendly",
+ "description": "des1",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "personalDesktopAssignmentType": "Automatic",
+ "registrationInfo": {
+ "expirationTime": "2020-10-01T15:01:54.9571247Z",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "startVMOnConnect": false,
+ "agentUpdate": {
+ "type": "Scheduled",
+ "useSessionHostLocalTime": false,
+ "maintenanceWindowTimeZone": "Alaskan Standard Time",
+ "maintenanceWindows": [
+ {
+ "hour": 7,
+ "dayOfWeek": "Friday"
+ },
+ {
+ "hour": 8,
+ "dayOfWeek": "Saturday"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false,
+ "agentUpdate": {
+ "type": "Scheduled",
+ "useSessionHostLocalTime": false,
+ "maintenanceWindowTimeZone": "Alaskan Standard Time",
+ "maintenanceWindows": [
+ {
+ "hour": 7,
+ "dayOfWeek": "Friday"
+ },
+ {
+ "hour": 8,
+ "dayOfWeek": "Saturday"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/HostPools_RetrieveRegistrationToken_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/HostPools_RetrieveRegistrationToken_Post.json
new file mode 100644
index 000000000000..4af162de30e2
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/HostPools_RetrieveRegistrationToken_Post.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/MsixImage_Expand_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/MsixImage_Expand_Post.json
new file mode 100644
index 000000000000..ba9d32987c30
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/MsixImage_Expand_Post.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2023-10-04-preview",
+ "msixImageURI": {
+ "uri": "imagepath"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "hostpool1/expandmsiximage",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/expandmsiximage",
+ "type": "Microsoft.DesktopVirtualization/hostpools/expandmsiximage",
+ "properties": {
+ "packageAlias": "msixpackagealias",
+ "imagePath": "imagepath",
+ "packageName": "MsixPackageName",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "packageFullName": "MsixPackage_FullName",
+ "displayName": "displayname",
+ "packageRelativePath": "packagerelativepath",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [],
+ "version": "packageversion",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "AppId",
+ "description": "PackageApplicationDescription",
+ "appUserModelID": "AppUserModelId",
+ "friendlyName": "FriendlyName",
+ "iconImageName": "Iconimagename",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ },
+ {
+ "name": "hostpool1/expandmsiximage",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/expandmsiximage",
+ "type": "Microsoft.DesktopVirtualization/hostpools/expandmsiximage",
+ "properties": {
+ "packageAlias": "msixpackagealias2",
+ "imagePath": "imagepath",
+ "packageName": "MsixPackageName2",
+ "packageFamilyName": "MsixPackage_FamilyName2",
+ "packageFullName": "MsixPackage_FullName2",
+ "displayName": "displayname2",
+ "packageRelativePath": "packagerelativepath2",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackageDependency1",
+ "publisher": "PublisherName1",
+ "minVersion": "ver1"
+ },
+ {
+ "dependencyName": "MsixPackageDependency2",
+ "publisher": "PublisherName2",
+ "minVersion": "ver2"
+ }
+ ],
+ "version": "packageversion",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "AppId1",
+ "description": "PackageApplicationDescription1",
+ "appUserModelID": "AppUserModelId1",
+ "friendlyName": "FriendlyName1",
+ "iconImageName": "Iconimagename1",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ },
+ {
+ "appId": "AppId2",
+ "description": "PackageApplicationDescription2",
+ "appUserModelID": "AppUserModelId2",
+ "friendlyName": "FriendlyName2",
+ "iconImageName": "Iconimagename2",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/MsixPackage_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/MsixPackage_Create.json
new file mode 100644
index 000000000000..d91e70f2a747
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/MsixPackage_Create.json
@@ -0,0 +1,130 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2023-10-04-preview",
+ "msixPackageFullName": "msixpackagefullname",
+ "msixPackage": {
+ "properties": {
+ "displayName": "displayname",
+ "imagePath": "imagepath",
+ "isActive": false,
+ "isRegularRegistration": false,
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "description": "application-desc",
+ "appId": "ApplicationId",
+ "appUserModelID": "AppUserModelId",
+ "friendlyName": "friendlyname",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ],
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixTest_Dependency_Name",
+ "minVersion": "version",
+ "publisher": "PublishedName"
+ }
+ ],
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "packageName": "MsixPackage_name",
+ "packageRelativePath": "packagerelativepath",
+ "version": "version"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": true,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/MsixPackage_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/MsixPackage_Delete.json
new file mode 100644
index 000000000000..8e7c9755902a
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/MsixPackage_Delete.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2023-10-04-preview",
+ "msixPackageFullName": "packagefullname"
+ },
+ "responses": {
+ "200": {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/MsixPackage_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/MsixPackage_Get.json
new file mode 100644
index 000000000000..354f46ee2c8e
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/MsixPackage_Get.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2023-10-04-preview",
+ "msixPackageFullName": "packagefullname"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/MsixPackage_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/MsixPackage_List.json
new file mode 100644
index 000000000000..f0e1e1a7f965
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/MsixPackage_List.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2023-10-04-preview",
+ "pageSize": 10,
+ "isDescending": true,
+ "initialSkip": 0
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ },
+ {
+ "name": "hostpool1/MsixPackageFullName2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName2",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "imagePath": "imagepath2",
+ "packageName": "MsixPackage_Name2",
+ "packageFamilyName": "MsixPackage_FamilyName2",
+ "displayName": "dis2",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot2",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name2",
+ "publisher": "MsixPackage_Dependency_Publisher2",
+ "minVersion": "packageDep_version2"
+ }
+ ],
+ "version": "version2",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id2",
+ "description": "desc2",
+ "appUserModelID": "Application_ModelID2",
+ "friendlyName": "fri2",
+ "iconImageName": "Apptile2",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/MsixPackage_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/MsixPackage_Update.json
new file mode 100644
index 000000000000..e65cc61bf9bd
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/MsixPackage_Update.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2023-10-04-preview",
+ "msixPackageFullName": "msixpackagefullname",
+ "msixPackage": {
+ "properties": {
+ "displayName": "displayname",
+ "isActive": true,
+ "isRegularRegistration": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": true,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/OperationDescription_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/OperationDescription_List.json
new file mode 100644
index 000000000000..747e3fc04015
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/OperationDescription_List.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DesktopVirtualization/hostpools/read",
+ "display": {
+ "provider": "Microsoft.DesktopVirtualization",
+ "resource": "hostpools",
+ "operation": "Read hostpool",
+ "description": "Read hostpool"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.DesktopVirtualization/hostpools/write",
+ "display": {
+ "provider": "Microsoft.DesktopVirtualization",
+ "resource": "hostpools",
+ "operation": "Write hostpool",
+ "description": "Write hostpool"
+ },
+ "properties": {
+ "serviceSpecification": {
+ "logSpecifications": [
+ {
+ "name": "",
+ "displayName": ""
+ },
+ {
+ "name": "",
+ "displayName": ""
+ },
+ {
+ "name": "",
+ "displayName": ""
+ }
+ ]
+ }
+ },
+ "isDataAction": false
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_DeleteByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_DeleteByHostPool.json
new file mode 100644
index 000000000000..bf351626ffb7
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_DeleteByHostPool.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "privateEndpointConnectionName": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_DeleteByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_DeleteByWorkspace.json
new file mode 100644
index 000000000000..91e0804b8ae7
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_DeleteByWorkspace.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "privateEndpointConnectionName": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_GetByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_GetByHostPool.json
new file mode 100644
index 000000000000..6e8fd4953301
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_GetByHostPool.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "privateEndpointConnectionName": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/privateEndpointConnections/hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "type": "Microsoft.DesktopVirtualization/hostpools/privateEndpointConnections",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_GetByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_GetByWorkspace.json
new file mode 100644
index 000000000000..870d49d6f2c1
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_GetByWorkspace.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "privateEndpointConnectionName": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1/privateEndpointConnections/workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "type": "Microsoft.DesktopVirtualization/workspaces/privateEndpointConnections",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_ListByHostPool.json
new file mode 100644
index 000000000000..109a6511922e
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_ListByHostPool.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/privateEndpointConnections/hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "type": "Microsoft.DesktopVirtualization/hostpools/privateEndpointConnections",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_ListByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_ListByWorkspace.json
new file mode 100644
index 000000000000..b5c29f42aef5
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_ListByWorkspace.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1/privateEndpointConnections/workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "type": "Microsoft.DesktopVirtualization/workspaces/privateEndpointConnections",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_UpdateByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_UpdateByHostPool.json
new file mode 100644
index 000000000000..178e53572b89
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_UpdateByHostPool.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "privateEndpointConnectionName": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "api-version": "2023-10-04-preview",
+ "connection": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by admin@consoto.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/privateEndpointConnections/hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "type": "Microsoft.DesktopVirtualization/hostpools/privateEndpointConnections",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by admin@consoto.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_UpdateByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_UpdateByWorkspace.json
new file mode 100644
index 000000000000..c6e59435c545
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateEndpointConnection_UpdateByWorkspace.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "privateEndpointConnectionName": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "api-version": "2023-10-04-preview",
+ "connection": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by admin@consoto.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1/privateEndpointConnections/workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "type": "Microsoft.DesktopVirtualization/workspaces/privateEndpointConnections",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by admin@consoto.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateLinkResources_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateLinkResources_ListByHostPool.json
new file mode 100644
index 000000000000..ab1fa0d0e132
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateLinkResources_ListByHostPool.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "hostpool",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/privateLinkResources/hostpool",
+ "type": "Microsoft.DesktopVirtualization/hostpools/privateLinkResources",
+ "properties": {
+ "groupId": "hostpool",
+ "requiredMembers": [
+ "rdbroker",
+ "rddiagnostics",
+ "rdweb",
+ "rdgateway"
+ ],
+ "requiredZoneNames": [
+ "privatelink.wvd.microsoft.com"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateLinkResources_ListByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateLinkResources_ListByWorkspace.json
new file mode 100644
index 000000000000..6b2a08d95607
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/PrivateLinkResources_ListByWorkspace.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "workspace",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1/privateLinkResources/workspace",
+ "type": "Microsoft.DesktopVirtualization/workspaces/privateLinkResources",
+ "properties": {
+ "groupId": "workspace",
+ "requiredMembers": [
+ "rdbroker",
+ "rddiagnostics",
+ "rdweb",
+ "rdgateway"
+ ],
+ "requiredZoneNames": [
+ "privatelink.wvd.microsoft.com"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPersonalSchedule_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPersonalSchedule_Create.json
new file mode 100644
index 000000000000..922f1850efd3
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPersonalSchedule_Create.json
@@ -0,0 +1,180 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "scalingPlanScheduleName": "scalingPlanScheduleWeekdays1",
+ "api-version": "2023-10-04-preview",
+ "scalingPlanSchedule": {
+ "properties": {
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpAutoStartHosts": "All",
+ "rampUpStartVMOnConnect": "Enable",
+ "rampUpActionOnDisconnect": "None",
+ "rampUpMinutesToWaitOnDisconnect": 10,
+ "rampUpActionOnLogoff": "None",
+ "rampUpMinutesToWaitOnLogoff": 10,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakStartVMOnConnect": "Enable",
+ "peakActionOnDisconnect": "None",
+ "peakMinutesToWaitOnDisconnect": 10,
+ "peakActionOnLogoff": "Deallocate",
+ "peakMinutesToWaitOnLogoff": 10,
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownStartVMOnConnect": "Enable",
+ "rampDownActionOnDisconnect": "None",
+ "rampDownMinutesToWaitOnDisconnect": 10,
+ "rampDownActionOnLogoff": "Deallocate",
+ "rampDownMinutesToWaitOnLogoff": 10,
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakStartVMOnConnect": "Enable",
+ "offPeakActionOnDisconnect": "None",
+ "offPeakMinutesToWaitOnDisconnect": 10,
+ "offPeakActionOnLogoff": "Deallocate",
+ "offPeakMinutesToWaitOnLogoff": 10
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "scalingPlanScheduleWeekdays1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/personalSchedules/scalingPlanScheduleWeekdays1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans/personalSchedules",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpAutoStartHosts": "All",
+ "rampUpActionOnDisconnect": "None",
+ "rampUpMinutesToWaitOnDisconnect": 10,
+ "rampUpActionOnLogoff": "None",
+ "rampUpMinutesToWaitOnLogoff": 10,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakStartVMOnConnect": "Enable",
+ "peakActionOnDisconnect": "None",
+ "peakMinutesToWaitOnDisconnect": 10,
+ "peakActionOnLogoff": "Deallocate",
+ "peakMinutesToWaitOnLogoff": 10,
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownStartVMOnConnect": "Enable",
+ "rampDownActionOnDisconnect": "None",
+ "rampDownMinutesToWaitOnDisconnect": 10,
+ "rampDownActionOnLogoff": "Deallocate",
+ "rampDownMinutesToWaitOnLogoff": 10,
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakStartVMOnConnect": "Enable",
+ "offPeakActionOnDisconnect": "None",
+ "offPeakMinutesToWaitOnDisconnect": 10,
+ "offPeakActionOnLogoff": "Deallocate",
+ "offPeakMinutesToWaitOnLogoff": 10
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "scalingPlanScheduleWeekdays1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/personalSchedules/scalingPlanScheduleWeekdays1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans/personalSchedules",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpAutoStartHosts": "All",
+ "rampUpStartVMOnConnect": "Enable",
+ "rampUpActionOnDisconnect": "None",
+ "rampUpMinutesToWaitOnDisconnect": 10,
+ "rampUpActionOnLogoff": "None",
+ "rampUpMinutesToWaitOnLogoff": 10,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakStartVMOnConnect": "Enable",
+ "peakActionOnDisconnect": "Deallocate",
+ "peakMinutesToWaitOnDisconnect": 10,
+ "peakActionOnLogoff": "Deallocate",
+ "peakMinutesToWaitOnLogoff": 10,
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownStartVMOnConnect": "Enable",
+ "rampDownActionOnDisconnect": "None",
+ "rampDownMinutesToWaitOnDisconnect": 10,
+ "rampDownActionOnLogoff": "Deallocate",
+ "rampDownMinutesToWaitOnLogoff": 10,
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakStartVMOnConnect": "Enable",
+ "offPeakActionOnDisconnect": "None",
+ "offPeakMinutesToWaitOnDisconnect": 10,
+ "offPeakActionOnLogoff": "Deallocate",
+ "offPeakMinutesToWaitOnLogoff": 10
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPersonalSchedule_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPersonalSchedule_Delete.json
new file mode 100644
index 000000000000..8fdae03119f0
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPersonalSchedule_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "scalingPlanScheduleName": "scalingPlanScheduleWeekdays1",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPersonalSchedule_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPersonalSchedule_Get.json
new file mode 100644
index 000000000000..2209d3c12744
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPersonalSchedule_Get.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "PersonalScalingPlan1",
+ "scalingPlanScheduleName": "PersonalScalingPlanSchedule",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "PersonalScalingPlanSchedule",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/personalSchedules/PersonalScalingPlanScheduleWeekdays1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans/personalSchedules",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpAutoStartHosts": "All",
+ "rampUpStartVMOnConnect": "Enable",
+ "rampUpActionOnDisconnect": "None",
+ "rampUpMinutesToWaitOnDisconnect": 10,
+ "rampUpActionOnLogoff": "None",
+ "rampUpMinutesToWaitOnLogoff": 10,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakStartVMOnConnect": "Enable",
+ "peakActionOnDisconnect": "None",
+ "peakMinutesToWaitOnDisconnect": 10,
+ "peakActionOnLogoff": "Deallocate",
+ "peakMinutesToWaitOnLogoff": 10,
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownStartVMOnConnect": "Enable",
+ "rampDownActionOnDisconnect": "None",
+ "rampDownMinutesToWaitOnDisconnect": 10,
+ "rampDownActionOnLogoff": "Deallocate",
+ "rampDownMinutesToWaitOnLogoff": 10,
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakStartVMOnConnect": "Enable",
+ "offPeakActionOnDisconnect": "None",
+ "offPeakMinutesToWaitOnDisconnect": 10,
+ "offPeakActionOnLogoff": "Deallocate",
+ "offPeakMinutesToWaitOnLogoff": 10
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPersonalSchedule_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPersonalSchedule_List.json
new file mode 100644
index 000000000000..27e6d684f028
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPersonalSchedule_List.json
@@ -0,0 +1,134 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan",
+ "api-version": "2023-10-04-preview",
+ "pageSize": 10,
+ "isDescending": true,
+ "initialSkip": 0
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "scalingPlanScheduleWeekday",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/personalSchedules/scalingPlanScheduleWeekdays1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans/personalSchedules",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpAutoStartHosts": "All",
+ "rampUpStartVMOnConnect": "Enable",
+ "rampUpActionOnDisconnect": "None",
+ "rampUpMinutesToWaitOnDisconnect": 10,
+ "rampUpActionOnLogoff": "None",
+ "rampUpMinutesToWaitOnLogoff": 10,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakStartVMOnConnect": "Enable",
+ "peakActionOnDisconnect": "None",
+ "peakMinutesToWaitOnDisconnect": 10,
+ "peakActionOnLogoff": "Deallocate",
+ "peakMinutesToWaitOnLogoff": 10,
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownStartVMOnConnect": "Enable",
+ "rampDownActionOnDisconnect": "None",
+ "rampDownMinutesToWaitOnDisconnect": 10,
+ "rampDownActionOnLogoff": "Deallocate",
+ "rampDownMinutesToWaitOnLogoff": 10,
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakStartVMOnConnect": "Enable",
+ "offPeakActionOnDisconnect": "None",
+ "offPeakMinutesToWaitOnDisconnect": 10,
+ "offPeakActionOnLogoff": "Deallocate",
+ "offPeakMinutesToWaitOnLogoff": 10
+ }
+ },
+ {
+ "name": "scalingPlanScheduleWeekend",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/personalSchedules/scalingPlanScheduleWeekends1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans/personalSchedules",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "daysOfWeek": [
+ "Saturday",
+ "Sunday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpAutoStartHosts": "All",
+ "rampUpStartVMOnConnect": "Enable",
+ "rampUpActionOnDisconnect": "None",
+ "rampUpMinutesToWaitOnDisconnect": 10,
+ "rampUpActionOnLogoff": "None",
+ "rampUpMinutesToWaitOnLogoff": 10,
+ "peakStartTime": {
+ "hour": 10,
+ "minute": 0
+ },
+ "peakStartVMOnConnect": "Enable",
+ "peakActionOnDisconnect": "Deallocate",
+ "peakMinutesToWaitOnDisconnect": 10,
+ "peakActionOnLogoff": "Deallocate",
+ "peakMinutesToWaitOnLogoff": 10,
+ "rampDownStartTime": {
+ "hour": 14,
+ "minute": 0
+ },
+ "rampDownStartVMOnConnect": "Enable",
+ "rampDownActionOnDisconnect": "Deallocate",
+ "rampDownMinutesToWaitOnDisconnect": 10,
+ "rampDownActionOnLogoff": "Deallocate",
+ "rampDownMinutesToWaitOnLogoff": 10,
+ "offPeakStartTime": {
+ "hour": 16,
+ "minute": 0
+ },
+ "offPeakStartVMOnConnect": "Enable",
+ "offPeakActionOnDisconnect": "Deallocate",
+ "offPeakMinutesToWaitOnDisconnect": 10,
+ "offPeakActionOnLogoff": "Deallocate",
+ "offPeakMinutesToWaitOnLogoff": 10
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPersonalSchedule_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPersonalSchedule_Update.json
new file mode 100644
index 000000000000..2402024b5b40
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPersonalSchedule_Update.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "scalingPlanScheduleName": "scalingPlanScheduleWeekdays1",
+ "api-version": "2023-10-04-preview",
+ "scalingPlanSchedule": {
+ "properties": {
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakActionOnDisconnect": "None",
+ "peakMinutesToWaitOnDisconnect": 10,
+ "peakActionOnLogoff": "Deallocate",
+ "peakMinutesToWaitOnLogoff": 10,
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownActionOnDisconnect": "None",
+ "rampDownMinutesToWaitOnDisconnect": 10,
+ "rampDownActionOnLogoff": "Deallocate",
+ "rampDownMinutesToWaitOnLogoff": 10,
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakStartVMOnConnect": "Disable",
+ "offPeakActionOnDisconnect": "None",
+ "offPeakMinutesToWaitOnDisconnect": 10,
+ "offPeakActionOnLogoff": "Deallocate",
+ "offPeakMinutesToWaitOnLogoff": 10
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "scalingPlanScheduleWeekdays1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/personalSchedules/scalingPlanScheduleWeekdays1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans/personalSchedules",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpAutoStartHosts": "All",
+ "rampUpStartVMOnConnect": "Enable",
+ "rampUpActionOnDisconnect": "None",
+ "rampUpMinutesToWaitOnDisconnect": 10,
+ "rampUpActionOnLogoff": "None",
+ "rampUpMinutesToWaitOnLogoff": 10,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakStartVMOnConnect": "Enable",
+ "peakActionOnDisconnect": "None",
+ "peakMinutesToWaitOnDisconnect": 10,
+ "peakActionOnLogoff": "Deallocate",
+ "peakMinutesToWaitOnLogoff": 10,
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownStartVMOnConnect": "Enable",
+ "rampDownActionOnDisconnect": "None",
+ "rampDownMinutesToWaitOnDisconnect": 10,
+ "rampDownActionOnLogoff": "Deallocate",
+ "rampDownMinutesToWaitOnLogoff": 10,
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakStartVMOnConnect": "Disable",
+ "offPeakActionOnDisconnect": "None",
+ "offPeakMinutesToWaitOnDisconnect": 10,
+ "offPeakActionOnLogoff": "Deallocate",
+ "offPeakMinutesToWaitOnLogoff": 10
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPooledSchedule_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPooledSchedule_Create.json
new file mode 100644
index 000000000000..553b52cf7022
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPooledSchedule_Create.json
@@ -0,0 +1,151 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "scalingPlanScheduleName": "scalingPlanScheduleWeekdays1",
+ "api-version": "2023-10-04-preview",
+ "scalingPlanSchedule": {
+ "properties": {
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "scalingPlanScheduleWeekdays1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/pooledSchedules/scalingPlanScheduleWeekdays1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans/pooledSchedules",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "scalingPlanScheduleWeekdays1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/pooledSchedules/scalingPlanScheduleWeekdays1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans/pooledSchedules",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPooledSchedule_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPooledSchedule_Delete.json
new file mode 100644
index 000000000000..8fdae03119f0
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPooledSchedule_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "scalingPlanScheduleName": "scalingPlanScheduleWeekdays1",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPooledSchedule_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPooledSchedule_Get.json
new file mode 100644
index 000000000000..ba595390884a
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPooledSchedule_Get.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "scalingPlanScheduleName": "scalingPlanScheduleWeekdays1",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "scalingPlanScheduleWeekdays1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/pooledSchedules/scalingPlanScheduleWeekdays1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans/pooledSchedules",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPooledSchedule_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPooledSchedule_List.json
new file mode 100644
index 000000000000..657f923b003a
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPooledSchedule_List.json
@@ -0,0 +1,114 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "api-version": "2023-10-04-preview",
+ "pageSize": 10,
+ "isDescending": true,
+ "initialSkip": 0
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "scalingPlanScheduleWeekdays1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/pooledSchedules/scalingPlanScheduleWeekdays1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans/pooledSchedules",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ },
+ {
+ "name": "scalingPlanScheduleWeekends1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/pooledSchedules/scalingPlanScheduleWeekends1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans/pooledSchedules",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "daysOfWeek": [
+ "Saturday",
+ "Sunday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 10,
+ "rampUpCapacityThresholdPct": 90,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 0,
+ "rampDownCapacityThresholdPct": 100,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPooledSchedule_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPooledSchedule_Update.json
new file mode 100644
index 000000000000..91fa8cbefc4f
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlanPooledSchedule_Update.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "scalingPlanScheduleName": "scalingPlanScheduleWeekdays1",
+ "api-version": "2023-10-04-preview",
+ "scalingPlanSchedule": {
+ "properties": {
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownWaitTimeMinutes": 30
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "scalingPlanScheduleWeekdays1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/pooledSchedules/scalingPlanScheduleWeekdays1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans/pooledSchedules",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlan_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlan_Create.json
new file mode 100644
index 000000000000..b7cd099deda5
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlan_Create.json
@@ -0,0 +1,215 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "api-version": "2023-10-04-preview",
+ "scalingPlan": {
+ "location": "centralus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "Description of Scaling Plan",
+ "friendlyName": "Scaling Plan 1",
+ "timeZone": "Central Standard Time",
+ "hostPoolType": "Pooled",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "description": "Description of Scaling Plan",
+ "friendlyName": "Scaling Plan 1",
+ "timeZone": "Central Standard Time",
+ "hostPoolType": "Pooled",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "description": "Description of Scaling Plan",
+ "friendlyName": "Scaling Plan 1",
+ "timeZone": "Central Standard Time",
+ "hostPoolType": "Pooled",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlan_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlan_Delete.json
new file mode 100644
index 000000000000..a4f3e1d92281
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlan_Delete.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "description": "Description of Scaling Plan",
+ "friendlyName": "Scaling Plan 1",
+ "timeZone": "Central Standard Time",
+ "hostPoolType": "Pooled",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlan_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlan_Get.json
new file mode 100644
index 000000000000..b8916c01d9ab
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlan_Get.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "description": "Description of scaling plan",
+ "friendlyName": "Scaling Plan 1",
+ "timeZone": "Central Standard Time",
+ "hostPoolType": "Pooled",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlan_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlan_ListByHostPool.json
new file mode 100644
index 000000000000..6db7b429c576
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlan_ListByHostPool.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2023-10-04-preview",
+ "pageSize": 10,
+ "isDescending": true,
+ "initialSkip": 0
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "description": "Description of Scaling Plan",
+ "friendlyName": "Scaling Plan 1",
+ "timeZone": "Central Standard Time",
+ "hostPoolType": "Pooled",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlan_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlan_ListByResourceGroup.json
new file mode 100644
index 000000000000..5bd02f1b592e
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlan_ListByResourceGroup.json
@@ -0,0 +1,159 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "api-version": "2023-10-04-preview",
+ "pageSize": 10,
+ "isDescending": true,
+ "initialSkip": 0
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "description": "Description of Scaling Plan",
+ "friendlyName": "Scaling Plan 1",
+ "timeZone": "Central Standard Time",
+ "hostPoolType": "Pooled",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ },
+ {
+ "name": "scalingPlan2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan2",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "description": "Description of Scaling Plan",
+ "friendlyName": "Scaling Plan 1",
+ "timeZone": "Central Standard Time",
+ "hostPoolType": "Pooled",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": false,
+ "rampDownStopHostsWhen": "ZeroSessions",
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlan_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlan_ListBySubscription.json
new file mode 100644
index 000000000000..bd94c9683858
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlan_ListBySubscription.json
@@ -0,0 +1,158 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "api-version": "2023-10-04-preview",
+ "pageSize": 10,
+ "isDescending": true,
+ "initialSkip": 0
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "description": "Description of Scaling Plan",
+ "friendlyName": "Scaling Plan 1",
+ "timeZone": "Central Standard Time",
+ "hostPoolType": "Pooled",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ },
+ {
+ "name": "scalingPlan2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan2",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "description": "Description of Scaling Plan",
+ "friendlyName": "Scaling Plan 1",
+ "timeZone": "Central Standard Time",
+ "hostPoolType": "Pooled",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": false,
+ "rampDownStopHostsWhen": "ZeroActiveSessions",
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlan_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlan_Update.json
new file mode 100644
index 000000000000..cdfe31aec392
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/ScalingPlan_Update.json
@@ -0,0 +1,140 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "api-version": "2023-10-04-preview",
+ "workspace": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "Description of Scaling Plan",
+ "friendlyName": "Scaling Plan 1",
+ "timeZone": "Central Standard Time",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "description": "Description of Scaling Plan",
+ "friendlyName": "Scaling Plan 1",
+ "timeZone": "Central Standard Time",
+ "hostPoolType": "Pooled",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": {
+ "hour": 6,
+ "minute": 0
+ },
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": {
+ "hour": 8,
+ "minute": 0
+ },
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": {
+ "hour": 20,
+ "minute": 0
+ },
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/SessionHost_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/SessionHost_Delete.json
new file mode 100644
index 000000000000..74efe130842d
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/SessionHost_Delete.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "api-version": "2023-10-04-preview",
+ "force": true
+ },
+ "responses": {
+ "200": {
+ "name": "sessionHost1.microsoft.com",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "lastHeartBeat": "2008-09-22T14:01:54.9571247Z",
+ "sessions": 1,
+ "agentVersion": "1.0.0.1391",
+ "allowNewSession": true,
+ "assignedUser": "user1@microsoft.com",
+ "status": "Available",
+ "statusTimestamp": "2008-09-22T14:01:54.9571247Z",
+ "osVersion": "10.0.17763",
+ "sxSStackVersion": "rdp-sxs190816002",
+ "updateState": "Succeeded",
+ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "friendlyName": "friendly",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1",
+ "sessionHostHealthCheckResults": [
+ {
+ "healthCheckName": "DomainJoinedCheck",
+ "healthCheckResult": "HealthCheckSucceeded",
+ "additionalFailureDetails": {
+ "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥",
+ "errorCode": 0,
+ "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z"
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/SessionHost_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/SessionHost_Get.json
new file mode 100644
index 000000000000..b7cb8ae3990b
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/SessionHost_Get.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sessionHost1.microsoft.com",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "lastHeartBeat": "2008-09-22T14:01:54.9571247Z",
+ "sessions": 1,
+ "agentVersion": "1.0.0.1391",
+ "allowNewSession": true,
+ "assignedUser": "user1@microsoft.com",
+ "status": "Available",
+ "statusTimestamp": "2008-09-22T14:01:54.9571247Z",
+ "osVersion": "10.0.17763",
+ "sxSStackVersion": "rdp-sxs190816002",
+ "updateState": "Succeeded",
+ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "friendlyName": "friendly",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1",
+ "sessionHostHealthCheckResults": [
+ {
+ "healthCheckName": "DomainJoinedCheck",
+ "healthCheckResult": "HealthCheckSucceeded",
+ "additionalFailureDetails": {
+ "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥",
+ "errorCode": 0,
+ "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/SessionHost_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/SessionHost_List.json
new file mode 100644
index 000000000000..4d518b7dd1de
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/SessionHost_List.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2023-10-04-preview",
+ "pageSize": 10,
+ "isDescending": true,
+ "initialSkip": 0
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "sessionHost1.microsoft.com",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "lastHeartBeat": "2008-09-22T14:01:54.9571247Z",
+ "sessions": 1,
+ "agentVersion": "1.0.0.1391",
+ "allowNewSession": true,
+ "assignedUser": "user1@microsoft.com",
+ "status": "Available",
+ "statusTimestamp": "2008-09-22T14:01:54.9571247Z",
+ "osVersion": "10.0.17763",
+ "sxSStackVersion": "rdp-sxs190816002",
+ "updateState": "Succeeded",
+ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "friendlyName": "friendly",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1",
+ "sessionHostHealthCheckResults": [
+ {
+ "healthCheckName": "DomainJoinedCheck",
+ "healthCheckResult": "HealthCheckSucceeded",
+ "additionalFailureDetails": {
+ "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥",
+ "errorCode": 0,
+ "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "sessionHost2.microsoft.com",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "lastHeartBeat": "2008-09-22T14:01:54.9571247Z",
+ "sessions": 1,
+ "agentVersion": "1.0.0.1391",
+ "allowNewSession": true,
+ "assignedUser": "user2@microsoft.com",
+ "status": "Available",
+ "statusTimestamp": "2008-09-22T14:01:54.9571247Z",
+ "osVersion": "10.0.17763",
+ "sxSStackVersion": "rdp-sxs190816002",
+ "updateState": "Succeeded",
+ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
+ "updateErrorMessage": "",
+ "virtualMachineId": "39491b54-c033-4dec-b09a-18bf0ebafaef",
+ "friendlyName": "friendly",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost2",
+ "sessionHostHealthCheckResults": [
+ {
+ "healthCheckName": "DomainJoinedCheck",
+ "healthCheckResult": "HealthCheckSucceeded",
+ "additionalFailureDetails": {
+ "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥",
+ "errorCode": 0,
+ "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/SessionHost_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/SessionHost_Update.json
new file mode 100644
index 000000000000..134f224d3571
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/SessionHost_Update.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "api-version": "2023-10-04-preview",
+ "force": true,
+ "sessionHost": {
+ "properties": {
+ "allowNewSession": true,
+ "assignedUser": "user1@microsoft.com",
+ "friendlyName": "friendly"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sessionHost1.microsoft.com",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "lastHeartBeat": "2019-01-11T19:27:13.6108027Z",
+ "sessions": 1,
+ "agentVersion": "1.0.0.1391",
+ "allowNewSession": true,
+ "assignedUser": "user1@microsoft.com",
+ "status": "Available",
+ "statusTimestamp": "2019-01-24T20:00:08.2893033Z",
+ "osVersion": "10.0.17763",
+ "sxSStackVersion": "rdp-sxs190816002",
+ "updateState": "Succeeded",
+ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "friendlyName": "friendly",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1",
+ "sessionHostHealthCheckResults": [
+ {
+ "healthCheckName": "DomainJoinedCheck",
+ "healthCheckResult": "HealthCheckSucceeded",
+ "additionalFailureDetails": {
+ "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥",
+ "errorCode": 0,
+ "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/StartMenuItem_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/StartMenuItem_List.json
new file mode 100644
index 000000000000..4e80ae3a660a
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/StartMenuItem_List.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/startMenuItems",
+ "properties": {
+ "appAlias": "word",
+ "filePath": "/path/to/file",
+ "commandLineArguments": "arguments",
+ "iconPath": "/path/to/icon",
+ "iconIndex": 1
+ }
+ },
+ {
+ "name": "application2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/startMenuItems",
+ "properties": {
+ "appAlias": "excel",
+ "filePath": "/path/to/file",
+ "commandLineArguments": "arguments",
+ "iconPath": "/path/to/icon",
+ "iconIndex": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/UserSession_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/UserSession_Delete.json
new file mode 100644
index 000000000000..3269d2fee52e
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/UserSession_Delete.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "userSessionId": "1",
+ "api-version": "2023-10-04-preview",
+ "force": true
+ },
+ "responses": {
+ "200": {
+ "name": "1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/UserSession_Disconnect_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/UserSession_Disconnect_Post.json
new file mode 100644
index 000000000000..ef8bcb38ba8f
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/UserSession_Disconnect_Post.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "userSessionId": "1",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/UserSession_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/UserSession_Get.json
new file mode 100644
index 000000000000..79749fcb838e
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/UserSession_Get.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "userSessionId": "1",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/UserSession_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/UserSession_List.json
new file mode 100644
index 000000000000..993229f8ad6a
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/UserSession_List.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "api-version": "2023-10-04-preview",
+ "pageSize": 10,
+ "isDescending": true,
+ "initialSkip": 0
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ },
+ {
+ "name": "2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/UserSession_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/UserSession_ListByHostPool.json
new file mode 100644
index 000000000000..028663d62fa8
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/UserSession_ListByHostPool.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2023-10-04-preview",
+ "$filter": "userPrincipalName eq 'user1@microsoft.com' and state eq 'active'",
+ "pageSize": 10,
+ "isDescending": true,
+ "initialSkip": 0
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ },
+ {
+ "name": "2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/UserSession_SendMessage_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/UserSession_SendMessage_Post.json
new file mode 100644
index 000000000000..41613b545a7d
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/UserSession_SendMessage_Post.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "userSessionId": "1",
+ "api-version": "2023-10-04-preview",
+ "sendMessage": {
+ "messageTitle": "title",
+ "messageBody": "body"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Workspace_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Workspace_Create.json
new file mode 100644
index 000000000000..c6ba39af22f5
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Workspace_Create.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "api-version": "2023-10-04-preview",
+ "workspace": {
+ "location": "centralus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Workspace_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Workspace_Delete.json
new file mode 100644
index 000000000000..d52afda369ea
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Workspace_Delete.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Workspace_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Workspace_Get.json
new file mode 100644
index 000000000000..a679bdfa8202
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Workspace_Get.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "api-version": "2023-10-04-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Workspace_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Workspace_ListByResourceGroup.json
new file mode 100644
index 000000000000..5f07e394bce7
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Workspace_ListByResourceGroup.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "api-version": "2023-10-04-preview",
+ "pageSize": 10,
+ "isDescending": true,
+ "initialSkip": 0
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ },
+ {
+ "name": "workspace2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Workspace_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Workspace_ListBySubscription.json
new file mode 100644
index 000000000000..8b0f33019f72
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Workspace_ListBySubscription.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "api-version": "2023-10-04-preview",
+ "pageSize": 10,
+ "isDescending": true,
+ "initialSkip": 0
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ },
+ {
+ "name": "workspace2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Workspace_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Workspace_Update.json
new file mode 100644
index 000000000000..f9a3ca7cccad
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-10-04-preview/examples/Workspace_Update.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "api-version": "2023-10-04-preview",
+ "workspace": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/readme.md b/specification/desktopvirtualization/resource-manager/readme.md
index 1d87151eee03..01c70e05e54d 100644
--- a/specification/desktopvirtualization/resource-manager/readme.md
+++ b/specification/desktopvirtualization/resource-manager/readme.md
@@ -26,18 +26,30 @@ These are the global settings for the DesktopVirtualizationClient API.
``` yaml
openapi-type: arm
-tag: package-2023-09
+tag: package-preview-2023-10
```
+### Tag: package-preview-2023-10
+
+These settings apply only when `--tag=package-preview-2023-10` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2023-10'
+input-file:
+ - Microsoft.DesktopVirtualization/preview/2023-10-04-preview/desktopvirtualization.json
+suppressions:
+ - code: ResourceNameRestriction
+ reason: HostPoolName, ApplicationGroupName, WorkspaceName, ScalingPlanName were already implemented in previous versions of the API and we cannot change naming pattern now.
+```
### Tag: package-2023-09
These settings apply only when `--tag=package-2023-09` is specified on the command line.
-```yaml $(tag) == 'package-2023-09'
+``` yaml $(tag) == 'package-2023-09'
input-file:
- Microsoft.DesktopVirtualization/stable/2023-09-05/desktopvirtualization.json
```
+
### Tag: package-preview-2023-07
These settings apply only when `--tag=package-preview-2023-07` is specified on the command line.
@@ -50,6 +62,8 @@ suppressions:
- code: ResourceNameRestriction
reason: ScalingPlan was already implemented in previous versions of the API and
we cannot change naming pattern now.
+ - code: PatchIdentityProperty
+ reason: There is an error loop with the identity property. We received approval to suppress this error, but we still need to investigate error loop.
```
### Tag: package-preview-2022-10
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/devbox.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/devbox.json
new file mode 100644
index 000000000000..a52092f44377
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/devbox.json
@@ -0,0 +1,3189 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-10-01-preview",
+ "title": "DevCenter",
+ "description": "DevBox API."
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/EndpointParameter"
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "AADToken": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "AADToken": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/projects/{projectName}/pools": {
+ "get": {
+ "tags": [
+ "Pools"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ }
+ ],
+ "description": "Lists available pools",
+ "operationId": "DevBoxes_ListPools",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PoolListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxes_ListPools": {
+ "$ref": "./examples/Pools_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/Pool"
+ }
+ },
+ "/projects/{projectName}/pools/{poolName}": {
+ "get": {
+ "tags": [
+ "Pools"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PoolNameParameter"
+ }
+ ],
+ "description": "Gets a pool",
+ "operationId": "DevBoxes_GetPool",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Pool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxes_GetPool": {
+ "$ref": "./examples/Pools_Get.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectName}/schedules": {
+ "get": {
+ "tags": [
+ "Schedules"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ }
+ ],
+ "description": "Lists all schedules within a project that are configured by your project administrator.",
+ "operationId": "DevBoxes_ListSchedulesByProject",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ScheduleListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxes_ListSchedulesByProject": {
+ "$ref": "./examples/Schedules_ListByProject.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/Schedule"
+ }
+ },
+ "/projects/{projectName}/pools/{poolName}/schedules": {
+ "get": {
+ "tags": [
+ "Schedules"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PoolNameParameter"
+ }
+ ],
+ "description": "Lists all schedules within a pool that are configured by your project administrator.",
+ "operationId": "DevBoxes_ListSchedulesByPool",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ScheduleListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxes_ListSchedulesByPool": {
+ "$ref": "./examples/Schedules_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/Schedule"
+ }
+ },
+ "/projects/{projectName}/pools/{poolName}/schedules/{scheduleName}": {
+ "get": {
+ "tags": [
+ "Schedules"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScheduleNameParameter"
+ }
+ ],
+ "description": "Gets a schedule.",
+ "operationId": "DevBoxes_GetScheduleByPool",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Schedule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxes_GetScheduleByPool": {
+ "$ref": "./examples/Schedules_Get.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectName}/customizationTasks": {
+ "get": {
+ "tags": [
+ "Customization Tasks"
+ ],
+ "description": "Lists all customization tasks available to the project.",
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ }
+ ],
+ "operationId": "Projects_ListCustomizationTaskDefinitions",
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CustomizationTaskDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Projects_ListCustomizationTaskDefinitions": {
+ "$ref": "./examples/Projects_ListCustomizationTaskDefinitions.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/CustomizationTaskDefinition"
+ }
+ },
+ "/projects/{projectName}/catalogs/{catalogName}/customizationTasks/{taskName}": {
+ "get": {
+ "tags": [
+ "Customization Tasks"
+ ],
+ "description": "Gets a customization task.",
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/CatalogNameParameter"
+ },
+ {
+ "$ref": "devbox.json#/parameters/TaskNameParameter"
+ }
+ ],
+ "operationId": "Projects_GetCustomizationTaskDefinition",
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CustomizationTaskDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Projects_GetCustomizationTaskDefinition": {
+ "$ref": "./examples/Projects_GetCustomizationTaskDefinition.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectName}/customizationTasks:validateGroup": {
+ "post": {
+ "tags": [
+ "Customization Tasks"
+ ],
+ "description": "Validates a list of customization tasks.",
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Customization tasks to validate.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CustomizationTaskList"
+ }
+ }
+ ],
+ "operationId": "Projects_ValidateCustomizationTasks",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "operation-location"
+ },
+ "responses": {
+ "202": {
+ "description": "The request was accepted.",
+ "schema": {
+ "$ref": "#/definitions/CustomizationTaskListValidationOperationResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Projects_ValidateCustomizationTasksSuccess": {
+ "$ref": "./examples/Projects_ValidateCustomizationTasksSuccess.json"
+ },
+ "Projects_ValidateCustomizationTasksFailure": {
+ "$ref": "./examples/Projects_ValidateCustomizationTasksFailure.json"
+ }
+ }
+ }
+ },
+ "/devboxes": {
+ "get": {
+ "tags": [
+ "Dev Boxes"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/TopParameter"
+ }
+ ],
+ "description": "Lists Dev Boxes that the caller has access to in the DevCenter.",
+ "operationId": "DevCenter_ListAllDevBoxes",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DevBoxListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevCenter_ListAllDevBoxes": {
+ "$ref": "./examples/DevBoxes_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/DevBox"
+ }
+ },
+ "/users/{userId}/devboxes": {
+ "get": {
+ "tags": [
+ "Dev Boxes"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ }
+ ],
+ "description": "Lists Dev Boxes in the Dev Center for a particular user.",
+ "operationId": "DevCenter_ListAllDevBoxesByUser",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DevBoxListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevCenter_ListAllDevBoxesByUser": {
+ "$ref": "./examples/DevBoxes_ListByUserByProject.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/DevBox"
+ }
+ },
+ "/projects/{projectName}/users/{userId}/devboxes": {
+ "get": {
+ "tags": [
+ "Dev Boxes"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ }
+ ],
+ "description": "Lists Dev Boxes in the project for a particular user.",
+ "operationId": "DevBoxes_ListDevBoxesByUser",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DevBoxListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxes_ListDevBoxesByUser": {
+ "$ref": "./examples/DevBoxes_ListByUserByProject.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/DevBox"
+ }
+ },
+ "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}": {
+ "get": {
+ "tags": [
+ "Dev Boxes"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxNameParameter"
+ }
+ ],
+ "description": "Gets a Dev Box",
+ "operationId": "DevBoxes_GetDevBoxByUser",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DevBox"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxes_GetDevBoxByUser": {
+ "$ref": "./examples/DevBoxes_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Dev Boxes"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxNameParameter"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Represents a environment.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DevBox"
+ }
+ }
+ ],
+ "description": "Creates or replaces a Dev Box.",
+ "operationId": "DevBoxes_CreateDevBox",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "original-uri"
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DevBox"
+ }
+ },
+ "201": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DevBox"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxes_CreateDevBox": {
+ "$ref": "./examples/DevBoxes_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Dev Boxes"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxNameParameter"
+ }
+ ],
+ "description": "Deletes a Dev Box.",
+ "operationId": "DevBoxes_DeleteDevBox",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "operation-location"
+ },
+ "responses": {
+ "202": {
+ "description": "The request was accepted.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/OperationStatus"
+ },
+ "headers": {
+ "Operation-Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxes_DeleteDevBox": {
+ "$ref": "./examples/DevBoxes_Delete.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}:start": {
+ "post": {
+ "tags": [
+ "Dev Boxes"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxNameParameter"
+ }
+ ],
+ "description": "Starts a Dev Box",
+ "operationId": "DevBoxes_StartDevBox",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "operation-location"
+ },
+ "responses": {
+ "202": {
+ "description": "The request was accepted.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/OperationStatus"
+ },
+ "headers": {
+ "Operation-Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxes_StartDevBox": {
+ "$ref": "./examples/DevBoxes_Start.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}:stop": {
+ "post": {
+ "tags": [
+ "Dev Boxes"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HibernateParameter"
+ }
+ ],
+ "description": "Stops a Dev Box",
+ "operationId": "DevBoxes_StopDevBox",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "operation-location"
+ },
+ "responses": {
+ "202": {
+ "description": "The request was accepted.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/OperationStatus"
+ },
+ "headers": {
+ "Operation-Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxes_StopDevBox": {
+ "$ref": "./examples/DevBoxes_Stop.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}:restart": {
+ "post": {
+ "tags": [
+ "Dev Boxes"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxNameParameter"
+ }
+ ],
+ "description": "Restarts a Dev Box",
+ "operationId": "DevBoxes_RestartDevBox",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "operation-location"
+ },
+ "responses": {
+ "202": {
+ "description": "The request was accepted.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/OperationStatus"
+ },
+ "headers": {
+ "Operation-Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxes_StartDevBox": {
+ "$ref": "./examples/DevBoxes_Restart.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}:repair": {
+ "post": {
+ "tags": [
+ "Dev Boxes"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxNameParameter"
+ }
+ ],
+ "description": "Attempts automated repair steps to resolve common problems on a Dev Box. The Dev Box may restart during this operation.",
+ "operationId": "DevBoxes_RepairDevBox",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "operation-location"
+ },
+ "responses": {
+ "202": {
+ "description": "The request was accepted.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/OperationStatus"
+ },
+ "headers": {
+ "Operation-Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxes_RepairDevBox": {
+ "$ref": "./examples/DevBoxes_Repair.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/customizationGroups": {
+ "get": {
+ "tags": [
+ "Dev Boxes"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ListCustomizationGroupsIncludeParameter"
+ }
+ ],
+ "description": "Lists customization groups on the Dev Box. Listed customization groups exclude task information unless specified via the include parameter.",
+ "operationId": "DevBoxes_ListCustomizationGroups",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CustomizationGroupListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxes_ListCustomizationGroupsWithTasks": {
+ "$ref": "./examples/DevBoxes_ListCustomizationGroupsWithTasks.json"
+ },
+ "DevBoxes_ListCustomizationGroupsWithoutTasks": {
+ "$ref": "./examples/DevBoxes_ListCustomizationGroupsWithoutTasks.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/CustomizationGroup"
+ }
+ },
+ "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/customizationGroups/{customizationGroupName}": {
+ "get": {
+ "tags": [
+ "Dev Boxes"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CustomizationGroupNameParameter"
+ }
+ ],
+ "description": "Gets a customization group.",
+ "operationId": "DevBoxes_GetCustomizationGroup",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CustomizationGroup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxes_GetCustomizationGroup": {
+ "$ref": "./examples/DevBoxes_GetCustomizationGroup.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Dev Boxes"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CustomizationGroupNameParameter"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Represents a customization group.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CustomizationGroup"
+ }
+ }
+ ],
+ "description": "Applies customizations to the Dev Box.",
+ "operationId": "DevBoxes_CreateCustomizationGroup",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CustomizationGroup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxes_CreateCustomizationGroup": {
+ "$ref": "./examples/DevBoxes_CreateCustomizationGroup.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/customizationGroups/{customizationGroupName}/logs/{customizationTaskId}": {
+ "get": {
+ "tags": [
+ "Dev Boxes"
+ ],
+ "produces": [
+ "text/plain"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CustomizationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CustomizationTaskIdParameter"
+ }
+ ],
+ "description": "Gets the log for a customization task.",
+ "operationId": "DevBoxes_GetCustomizationTaskLog",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "file"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxes_GetCustomizationTaskLog": {
+ "$ref": "./examples/DevBoxes_GetCustomizationTaskLog.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/remoteConnection": {
+ "get": {
+ "tags": [
+ "Dev Boxes"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxNameParameter"
+ }
+ ],
+ "description": "Gets RDP Connection info",
+ "operationId": "DevBoxes_GetRemoteConnection",
+ "responses": {
+ "200": {
+ "description": "The request completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/RemoteConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxes_GetRemoteConnection": {
+ "$ref": "./examples/DevBoxes_GetRemoteConnection.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/actions": {
+ "get": {
+ "tags": [
+ "DevBoxActions"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxNameParameter"
+ }
+ ],
+ "description": "Lists actions on a Dev Box.",
+ "operationId": "DevBoxes_ListActions",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DevBoxActionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxes_ListActions": {
+ "$ref": "./examples/DevBoxActions_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/DevBoxAction"
+ }
+ },
+ "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/actions/{actionName}": {
+ "get": {
+ "tags": [
+ "DevBoxActions"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxActionNameParameter"
+ }
+ ],
+ "description": "Gets an action.",
+ "operationId": "DevBoxes_GetAction",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DevBoxAction"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxes_GetAction": {
+ "$ref": "./examples/DevBoxActions_Get.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/actions/{actionName}:skip": {
+ "post": {
+ "tags": [
+ "DevBoxActions"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxActionNameParameter"
+ }
+ ],
+ "description": "Skips an occurrence of an action.",
+ "operationId": "DevBoxes_SkipAction",
+ "responses": {
+ "204": {
+ "description": "No content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxes_SkipAction": {
+ "$ref": "./examples/DevBoxActions_Skip.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/actions/{actionName}:delay": {
+ "post": {
+ "tags": [
+ "DevBoxActions"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxActionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxActionDelayUntilParameter"
+ }
+ ],
+ "description": "Delays the occurrence of an action.",
+ "operationId": "DevBoxes_DelayAction",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DevBoxAction"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxes_DelayAction": {
+ "$ref": "./examples/DevBoxActions_Delay.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/actions:delay": {
+ "post": {
+ "tags": [
+ "DevBoxActions"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxActionDelayUntilParameter"
+ }
+ ],
+ "description": "Delays all actions.",
+ "operationId": "DevBoxes_DelayActions",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DevBoxActionsDelayMultipleResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxes_DelayActions": {
+ "$ref": "./examples/DevBoxActions_DelayMultiple.json"
+ },
+ "DevBoxes_DelayActionsWithError": {
+ "$ref": "./examples/DevBoxActions_DelayMultipleWithError.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/DevBoxActionDelayResult"
+ }
+ },
+ "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/operations": {
+ "get": {
+ "tags": [
+ "DevBoxOperations"
+ ],
+ "description": "Lists operations on the Dev Box which have occurred within the past 90 days.",
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxNameParameter"
+ }
+ ],
+ "operationId": "DevBoxes_ListOperations",
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/DevBoxOperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxOperations_List": {
+ "$ref": "./examples/DevBoxOperations_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/DevBoxOperation"
+ }
+ },
+ "/projects/{projectName}/users/{userId}/devboxes/{devBoxName}/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "DevBoxOperations"
+ ],
+ "description": "Gets an operation on a Dev Box.",
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DevBoxOperationIdParameter"
+ }
+ ],
+ "operationId": "DevBoxes_GetOperation",
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/DevBoxOperation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevBoxOperations_Get": {
+ "$ref": "./examples/DevBoxOperations_Get.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PoolListResult": {
+ "type": "object",
+ "description": "The Pool list result",
+ "properties": {
+ "value": {
+ "description": "Current page of results",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Pool"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "Pool": {
+ "type": "object",
+ "description": "A pool of Dev Boxes.",
+ "properties": {
+ "uri": {
+ "description": "The unique URI of the pool",
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "description": "Pool name"
+ },
+ "location": {
+ "description": "Azure region where Dev Boxes in the pool are located",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The operating system type of Dev Boxes in this pool",
+ "$ref": "#/definitions/OsType"
+ },
+ "hardwareProfile": {
+ "description": "Hardware settings for the Dev Boxes created in this pool",
+ "$ref": "#/definitions/HardwareProfile"
+ },
+ "hibernateSupport": {
+ "description": "Indicates whether hibernate is enabled/disabled or unknown.",
+ "$ref": "#/definitions/HibernateSupport"
+ },
+ "storageProfile": {
+ "description": "Storage settings for Dev Box created in this pool",
+ "$ref": "#/definitions/StorageProfile"
+ },
+ "imageReference": {
+ "description": "Image settings for Dev Boxes create in this pool",
+ "$ref": "#/definitions/ImageReference"
+ },
+ "localAdministrator": {
+ "description": "Indicates whether owners of Dev Boxes in this pool are local administrators on the Dev Boxes.",
+ "$ref": "#/definitions/LocalAdminStatus"
+ },
+ "stopOnDisconnect": {
+ "description": "Stop on disconnect configuration settings for Dev Boxes created in this pool.",
+ "$ref": "#/definitions/StopOnDisconnectConfiguration"
+ },
+ "healthStatus": {
+ "description": "Overall health status of the Pool. Indicates whether or not the Pool is available to create Dev Boxes.",
+ "$ref": "#/definitions/PoolHealthStatus"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the pool."
+ }
+ },
+ "required": [
+ "uri",
+ "name",
+ "location",
+ "healthStatus"
+ ]
+ },
+ "PoolHealthStatus": {
+ "description": "Pool status indicating whether a pool is available to create Dev Boxes.",
+ "enum": [
+ "Unknown",
+ "Pending",
+ "Healthy",
+ "Warning",
+ "Unhealthy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PoolHealthStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unknown",
+ "description": "The pool health status is not known."
+ },
+ {
+ "value": "Pending",
+ "description": "The pool health status waiting for health checks to run."
+ },
+ {
+ "value": "Healthy",
+ "description": "The pool health status is healthy."
+ },
+ {
+ "value": "Warning",
+ "description": "The pool health status has one or more warnings."
+ },
+ {
+ "value": "Unhealthy",
+ "description": "The pool health status is not healthy."
+ }
+ ]
+ }
+ },
+ "HibernateSupport": {
+ "description": "Indicates whether hibernate is supported and enabled, disabled, or unsupported by the operating system. Unknown hibernate support is represented as null.",
+ "enum": [
+ "Enabled",
+ "Disabled",
+ "OsUnsupported"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HibernateSupport",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Enabled",
+ "description": "Hibernate is enabled."
+ },
+ {
+ "value": "Disabled",
+ "description": "Hibernate is not enabled."
+ },
+ {
+ "value": "OsUnsupported",
+ "description": "Hibernate is not supported by the operating system."
+ }
+ ]
+ }
+ },
+ "LocalAdminStatus": {
+ "description": "Indicates whether owners of Dev Boxes in a pool are local administrators on the Dev Boxes.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LocalAdminStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Enabled",
+ "description": "Owners of Dev Boxes in the pool are local administrators on the Dev Boxes."
+ },
+ {
+ "value": "Disabled",
+ "description": "Owners of Dev Boxes in the pool are not local administrators on the Dev Boxes."
+ }
+ ]
+ }
+ },
+ "StopOnDisconnectEnableStatus": {
+ "description": "Indicates whether the feature to stop the devbox on disconnect once the grace period has lapsed is enabled.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StopOnDisconnectEnableStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Enabled",
+ "description": "Stop on disconnect is enabled on the Dev Box."
+ },
+ {
+ "value": "Disabled",
+ "description": "Stop on disconnect is not enabled on the Dev Box."
+ }
+ ]
+ }
+ },
+ "ScheduleListResult": {
+ "type": "object",
+ "description": "The Schedule list result",
+ "properties": {
+ "value": {
+ "description": "Current page of results",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Schedule"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "Schedule": {
+ "type": "object",
+ "description": "A Schedule to execute action.",
+ "properties": {
+ "uri": {
+ "description": "The unique URI of the schedule",
+ "type": "string"
+ },
+ "name": {
+ "description": "Display name for the Schedule",
+ "type": "string"
+ },
+ "sourceUri": {
+ "description": "The URI of the resource that this schedule belongs to",
+ "type": "string"
+ },
+ "sourceType": {
+ "description": "The type of the resource that this schedule belongs to",
+ "$ref": "#/definitions/ScheduleSourceType"
+ },
+ "type": {
+ "description": "Supported type this scheduled task represents.",
+ "$ref": "#/definitions/ScheduledType"
+ },
+ "frequency": {
+ "description": "The frequency of this scheduled task.",
+ "$ref": "#/definitions/ScheduledFrequency"
+ },
+ "time": {
+ "description": "The target time to trigger the action. The format is HH:MM.",
+ "type": "string"
+ },
+ "timeZone": {
+ "description": "The IANA timezone id at which the schedule should execute.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "uri",
+ "name",
+ "sourceUri",
+ "sourceType",
+ "type",
+ "frequency",
+ "time",
+ "timeZone"
+ ]
+ },
+ "ScheduledType": {
+ "description": "The supported types for a scheduled task.",
+ "enum": [
+ "StopDevBox"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ScheduledType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "StopDevBox",
+ "description": "The scheduled task will stop impacted Dev Boxes."
+ }
+ ]
+ }
+ },
+ "ScheduledFrequency": {
+ "description": "The frequency of task execution.",
+ "enum": [
+ "Daily"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ScheduledFrequency",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Daily",
+ "description": "The scheduled task will run every day."
+ }
+ ]
+ }
+ },
+ "CustomizationTaskDefinitionListResult": {
+ "description": "Result of listing customization tasks.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Current page of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CustomizationTaskDefinition"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next set of results if there are any.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "CustomizationTaskDefinition": {
+ "description": "Represents a task to be used in customizing a Dev Box.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Full name of the task: {catalogName}/{taskName}.",
+ "type": "string"
+ },
+ "catalogName": {
+ "description": "Name of the catalog that the task belongs to.",
+ "type": "string"
+ },
+ "uri": {
+ "description": "The unique URI of the customization task.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "Description of the task.",
+ "type": "string"
+ },
+ "parameters": {
+ "description": "Parameters for the task.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/CustomizationTaskDefinitionParameter"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "catalogName"
+ ]
+ },
+ "CustomizationTaskDefinitionParameter": {
+ "description": "Parameters for a customization task.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Description of the parameter.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Type of the parameter.",
+ "type": "string",
+ "enum": [
+ "string",
+ "number",
+ "boolean"
+ ],
+ "x-ms-enum": {
+ "name": "CustomizationTaskDefinitionParameterType",
+ "modelAsString": true
+ }
+ },
+ "required": {
+ "description": "Whether or not the parameter is required.",
+ "type": "boolean"
+ },
+ "default": {
+ "description": "Default value for the parameter.",
+ "type": "string"
+ },
+ "allowed": {
+ "description": "Allowed values for the parameter.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1,
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "DevBoxListResult": {
+ "type": "object",
+ "description": "The Dev Box list result",
+ "properties": {
+ "value": {
+ "description": "The list of DevBox Dev Boxes",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DevBox"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "DevBox": {
+ "type": "object",
+ "description": "A Dev Box",
+ "properties": {
+ "uri": {
+ "description": "The unique URI of the dev box",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Display name for the Dev Box",
+ "type": "string",
+ "readOnly": true
+ },
+ "projectName": {
+ "description": "Name of the project this Dev Box belongs to",
+ "type": "string",
+ "readOnly": true
+ },
+ "poolName": {
+ "description": "The name of the Dev Box pool this machine belongs to.",
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$",
+ "minLength": 3,
+ "maxLength": 63,
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "hibernateSupport": {
+ "description": "Indicates whether hibernate is enabled/disabled or unknown.",
+ "$ref": "#/definitions/HibernateSupport",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "The current provisioning state of the Dev Box.",
+ "type": "string",
+ "readOnly": true
+ },
+ "actionState": {
+ "description": "The current action state of the Dev Box. This is state is based on previous action performed by user.",
+ "type": "string",
+ "readOnly": true
+ },
+ "powerState": {
+ "description": "The current power state of the Dev Box.",
+ "$ref": "#/definitions/PowerState",
+ "readOnly": true
+ },
+ "uniqueId": {
+ "description": "A unique identifier for the Dev Box. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).",
+ "type": "string",
+ "readOnly": true
+ },
+ "error": {
+ "description": "Provisioning or action error details. Populated only for error states.",
+ "readOnly": true,
+ "$ref": "devcenter.json#/definitions/CloudErrorBody"
+ },
+ "location": {
+ "description": "Azure region where this Dev Box is located. This will be the same region as the Virtual Network it is attached to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osType": {
+ "description": "The operating system type of this Dev Box.",
+ "$ref": "#/definitions/OsType",
+ "readOnly": true
+ },
+ "user": {
+ "type": "string",
+ "description": "The AAD object id of the user this Dev Box is assigned to.",
+ "readOnly": true
+ },
+ "hardwareProfile": {
+ "description": "Information about the Dev Box's hardware resources",
+ "$ref": "#/definitions/HardwareProfile",
+ "readOnly": true
+ },
+ "storageProfile": {
+ "description": "Storage settings for this Dev Box",
+ "$ref": "#/definitions/StorageProfile",
+ "readOnly": true
+ },
+ "imageReference": {
+ "description": "Information about the image used for this Dev Box",
+ "$ref": "#/definitions/ImageReference",
+ "readOnly": true
+ },
+ "createdTime": {
+ "description": "Creation time of this Dev Box",
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time"
+ },
+ "localAdministrator": {
+ "description": "Indicates whether the owner of the Dev Box is a local administrator.",
+ "$ref": "#/definitions/LocalAdminStatus"
+ }
+ },
+ "required": [
+ "poolName"
+ ]
+ },
+ "OsType": {
+ "type": "string",
+ "enum": [
+ "Windows"
+ ],
+ "description": "The operating system type.",
+ "x-ms-enum": {
+ "name": "OsType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Windows",
+ "description": "The Windows operating system."
+ }
+ ]
+ }
+ },
+ "HardwareProfile": {
+ "description": "Hardware specifications for the Dev Box.",
+ "type": "object",
+ "properties": {
+ "skuName": {
+ "description": "The name of the SKU",
+ "type": "string",
+ "readOnly": true
+ },
+ "vCPUs": {
+ "description": "The number of vCPUs available for the Dev Box.",
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true
+ },
+ "memoryGB": {
+ "description": "The amount of memory available for the Dev Box.",
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageProfile": {
+ "type": "object",
+ "description": "Storage settings for the Dev Box's disks",
+ "properties": {
+ "osDisk": {
+ "$ref": "#/definitions/OSDisk"
+ }
+ }
+ },
+ "OSDisk": {
+ "type": "object",
+ "description": "Settings for the operating system disk.",
+ "properties": {
+ "diskSizeGB": {
+ "description": "The size of the OS Disk in gigabytes.",
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true
+ }
+ }
+ },
+ "ImageReference": {
+ "description": "Specifies information about the image used",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the image used.",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "The version of the image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operatingSystem": {
+ "description": "The operating system of the image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osBuildNumber": {
+ "description": "The operating system build number of the image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "publishedDate": {
+ "description": "The datetime that the backing image version was published.",
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time"
+ }
+ }
+ },
+ "CustomizationGroupListResult": {
+ "type": "object",
+ "description": "List of customization groups applied to a Dev Box.",
+ "properties": {
+ "value": {
+ "description": "The list of customization groups.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CustomizationGroup"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "CustomizationGroup": {
+ "type": "object",
+ "description": "Represents a list of tasks to apply to a Dev Box",
+ "properties": {
+ "tasks": {
+ "description": "Tasks to apply. Note by default tasks are excluded from the response when listing customization groups. To include them, use the `include=tasks` query parameter.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CustomizationTask"
+ }
+ },
+ "uri": {
+ "description": "The unique URI of the customization group.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the customization group.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the customization group.",
+ "$ref": "#/definitions/CustomizationGroupStatus",
+ "readOnly": true
+ },
+ "startTime": {
+ "description": "Start time of the customization group.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "endTime": {
+ "description": "End time of the customization group.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ }
+ }
+ },
+ "CustomizationGroupStatus": {
+ "description": "Status of a customization group.",
+ "enum": [
+ "NotStarted",
+ "Running",
+ "Succeeded",
+ "Failed",
+ "ValidationFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CustomizationGroupStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "NotStarted",
+ "description": "The customization group has not yet started."
+ },
+ {
+ "value": "Running",
+ "description": "The customization group is currently executing."
+ },
+ {
+ "value": "Succeeded",
+ "description": "All tasks in the customization group successfully executed."
+ },
+ {
+ "value": "Failed",
+ "description": "At least one task in the customization group failed."
+ },
+ {
+ "value": "ValidationFailed",
+ "description": "At least one task in the customization group failed validation."
+ }
+ ]
+ }
+ },
+ "CustomizationTask": {
+ "type": "object",
+ "description": "A customization task to run on a Dev Box.",
+ "properties": {
+ "name": {
+ "description": "Name of the task.",
+ "type": "string"
+ },
+ "parameters": {
+ "description": "Parameters for the task.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "displayName": {
+ "description": "Display name to help differentiate multiple instances of the same task.",
+ "type": "string"
+ },
+ "id": {
+ "description": "ID of the task instance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "logUri": {
+ "description": "The unique URI for retrieving the task logs.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the task.",
+ "$ref": "#/definitions/CustomizationTaskStatus",
+ "readOnly": true
+ },
+ "startTime": {
+ "description": "Start time of the task.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "endTime": {
+ "description": "End time of the task.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "CustomizationTaskStatus": {
+ "description": "Status of a customization task.",
+ "enum": [
+ "NotStarted",
+ "Running",
+ "Succeeded",
+ "FailedValidation",
+ "Skipped",
+ "TimedOut",
+ "Failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CustomizationTaskStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "NotStarted",
+ "description": "The task has not yet started."
+ },
+ {
+ "value": "Running",
+ "description": "The task is currently executing."
+ },
+ {
+ "value": "Succeeded",
+ "description": "The task successfully executed."
+ },
+ {
+ "value": "FailedValidation",
+ "description": "The task reference is not valid."
+ },
+ {
+ "value": "Skipped",
+ "description": "The task was skipped."
+ },
+ {
+ "value": "TimedOut",
+ "description": "The task timed out."
+ },
+ {
+ "value": "Failed",
+ "description": "The task failed to execute."
+ }
+ ]
+ }
+ },
+ "CustomizationTaskList": {
+ "type": "object",
+ "description": "Represents a list of tasks to apply to a Dev Box",
+ "properties": {
+ "tasks": {
+ "description": "Tasks to apply.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CustomizationTask"
+ }
+ }
+ }
+ },
+ "CustomizationTaskListValidationOperationResult": {
+ "description": "The operation result of validating a list of customization tasks.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "devcenter.json#/definitions/OperationStatus"
+ }
+ ],
+ "properties": {
+ "result": {
+ "description": "Outcome of validation.",
+ "$ref": "#/definitions/CustomizationTaskListValidationResult"
+ }
+ }
+ },
+ "CustomizationTaskListValidationResult": {
+ "description": "The result of validating a list of customization tasks.",
+ "type": "object",
+ "properties": {
+ "validationResult": {
+ "description": "Outcome of validation.",
+ "$ref": "#/definitions/CustomizationTaskListValidationStatus"
+ },
+ "errors": {
+ "description": "List of validation errors. Absent if no errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CustomizationTaskListValidationError"
+ }
+ }
+ },
+ "required": [
+ "validationResult"
+ ]
+ },
+ "CustomizationTaskListValidationStatus": {
+ "description": "Status of validating a list of customization tasks.",
+ "enum": [
+ "Succeeded",
+ "Failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CustomizationTaskListValidationStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Succeeded",
+ "description": "Validation succeeded."
+ },
+ {
+ "value": "Failed",
+ "description": "Validation failed."
+ }
+ ]
+ }
+ },
+ "CustomizationTaskListValidationError": {
+ "type": "object",
+ "description": "All of the validation errors for a customization task.",
+ "properties": {
+ "target": {
+ "$ref": "#/definitions/CustomizationTask",
+ "description": "The customization task that the error is about."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CustomizationTaskListValidationErrorDetails"
+ },
+ "description": "List of validation errors for the task."
+ }
+ },
+ "required": [
+ "target",
+ "details"
+ ]
+ },
+ "CustomizationTaskListValidationErrorDetails": {
+ "type": "object",
+ "description": "A single error from validating a task.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ]
+ },
+ "RemoteConnection": {
+ "description": "Provides remote connection information for a Dev Box.",
+ "type": "object",
+ "properties": {
+ "webUrl": {
+ "description": "URL to open a browser based RDP session.",
+ "type": "string"
+ },
+ "rdpConnectionUrl": {
+ "description": "Link to open a Remote Desktop session.",
+ "type": "string"
+ }
+ }
+ },
+ "PowerState": {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "Running",
+ "Deallocated",
+ "PoweredOff",
+ "Hibernated"
+ ],
+ "description": "The power states of a Dev Box.",
+ "x-ms-enum": {
+ "name": "PowerState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unknown",
+ "description": "The Dev Box power state is not known."
+ },
+ {
+ "value": "Running",
+ "description": "The Dev Box is running."
+ },
+ {
+ "value": "Deallocated",
+ "description": "The Dev Box is deallocated."
+ },
+ {
+ "value": "PoweredOff",
+ "description": "The Dev Box is powered off."
+ },
+ {
+ "value": "Hibernated",
+ "description": "The Dev Box is hibernated."
+ }
+ ]
+ }
+ },
+ "StopOnDisconnectConfiguration": {
+ "type": "object",
+ "description": "Stop on disconnect configuration settings for Dev Boxes created in this pool.",
+ "properties": {
+ "status": {
+ "description": "Indicates whether the feature to stop the devbox on disconnect once the grace period has lapsed is enabled.",
+ "$ref": "#/definitions/StopOnDisconnectEnableStatus"
+ },
+ "gracePeriodMinutes": {
+ "description": "The specified time in minutes to wait before stopping a Dev Box once disconnect is detected.",
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "required": [
+ "status"
+ ]
+ },
+ "DevBoxActionsDelayMultipleResult": {
+ "type": "object",
+ "description": "The actions list result",
+ "properties": {
+ "value": {
+ "description": "Current page of results",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DevBoxActionDelayResult"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "DevBoxActionDelayResult": {
+ "type": "object",
+ "description": "The action delay result",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "The unique URI of the action."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the action."
+ },
+ "result": {
+ "$ref": "#/definitions/DevBoxActionDelayResultStatus",
+ "description": "The result of the delay operation on this action."
+ },
+ "action": {
+ "description": "The delayed action",
+ "type": "object",
+ "$ref": "#/definitions/DevBoxAction"
+ },
+ "error": {
+ "description": "Information about the error that occurred. Only populated on error.",
+ "type": "object",
+ "$ref": "devcenter.json#/definitions/CloudErrorBody"
+ }
+ },
+ "required": [
+ "name",
+ "uri",
+ "result"
+ ]
+ },
+ "DevBoxActionDelayResultStatus": {
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Failed"
+ ],
+ "description": "The result of the delay operation on this action.",
+ "x-ms-enum": {
+ "name": "DevBoxActionDelayResultStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Succeeded",
+ "description": "The delay operation succeeded."
+ },
+ {
+ "value": "Failed",
+ "description": "The delay operation failed."
+ }
+ ]
+ }
+ },
+ "DevBoxActionsListResult": {
+ "type": "object",
+ "description": "The actions list result",
+ "properties": {
+ "value": {
+ "description": "Current page of results",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DevBoxAction"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "DevBoxAction": {
+ "type": "object",
+ "description": "An action which will take place on a Dev Box.",
+ "properties": {
+ "uri": {
+ "description": "The unique URI for the Dev Box action.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the action.",
+ "type": "string"
+ },
+ "actionType": {
+ "description": "The action that will be taken.",
+ "$ref": "#/definitions/DevBoxActionType"
+ },
+ "sourceId": {
+ "description": "The id of the resource which triggered this action",
+ "type": "string"
+ },
+ "sourceUri": {
+ "description": "The URI of the resource which triggered this action",
+ "type": "string"
+ },
+ "sourceType": {
+ "description": "The type of the resource which triggered this action",
+ "$ref": "#/definitions/DevBoxActionSourceType"
+ },
+ "suspendedUntil": {
+ "description": "The earliest time that the action could occur (UTC).",
+ "type": "string",
+ "format": "date-time"
+ },
+ "next": {
+ "description": "Details about the next run of this action.",
+ "$ref": "#/definitions/DevBoxNextAction"
+ }
+ },
+ "required": [
+ "name",
+ "uri",
+ "actionType",
+ "sourceId",
+ "sourceUri",
+ "sourceType"
+ ]
+ },
+ "DevBoxActionType": {
+ "description": "The type of action which will take place on a Dev Box.",
+ "type": "string",
+ "enum": [
+ "Stop"
+ ],
+ "x-ms-enum": {
+ "name": "DevBoxActionType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Stop",
+ "description": "The action will stop the Dev Box."
+ }
+ ]
+ }
+ },
+ "DevBoxNextAction": {
+ "description": "Details about the next run of an action.",
+ "type": "object",
+ "properties": {
+ "scheduledTime": {
+ "description": "The time the action will be triggered (UTC).",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "scheduledTime"
+ ]
+ },
+ "DevBoxOperationListResult": {
+ "type": "object",
+ "description": "The result of listing operations on a Dev Box.",
+ "properties": {
+ "value": {
+ "description": "The current page of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DevBoxOperation"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "DevBoxOperation": {
+ "type": "object",
+ "description": "Information about an operation on a Dev Box.",
+ "discriminator": "kind",
+ "properties": {
+ "uri": {
+ "description": "The unique URI for the Dev Box operation.",
+ "type": "string"
+ },
+ "operationId": {
+ "description": "Unique identifier for the Dev Box operation.",
+ "type": "string"
+ },
+ "kind": {
+ "description": "The kind of operation that occurred.",
+ "$ref": "#/definitions/DevBoxOperationKind"
+ },
+ "status": {
+ "description": "The operation status.",
+ "$ref": "#/definitions/DevBoxOperationStatus"
+ },
+ "createdByObjectId": {
+ "description": "The object ID of the actor which initiated the operation.",
+ "type": "string"
+ },
+ "startTime": {
+ "description": "The time the operation started.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "endTime": {
+ "description": "The time the operation finished.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "error": {
+ "description": "Provisioning or operation error details. Populated only for error states.",
+ "$ref": "devcenter.json#/definitions/CloudErrorBody"
+ }
+ },
+ "required": [
+ "uri",
+ "operationId",
+ "kind",
+ "status"
+ ]
+ },
+ "DevBoxStartOperation": {
+ "type": "object",
+ "description": "Information about a start operation on a Dev Box.",
+ "x-ms-discriminator-value": "Start",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DevBoxOperation"
+ }
+ ]
+ },
+ "DevBoxStopOperation": {
+ "type": "object",
+ "description": "Information about a stop operation on a Dev Box.",
+ "x-ms-discriminator-value": "Stop",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DevBoxOperation"
+ }
+ ]
+ },
+ "DevBoxRestartOperation": {
+ "type": "object",
+ "description": "Information about a restart operation on a Dev Box.",
+ "x-ms-discriminator-value": "Restart",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DevBoxOperation"
+ }
+ ]
+ },
+ "DevBoxRepairOperation": {
+ "type": "object",
+ "description": "Information about a repair operation on a Dev Box.",
+ "x-ms-discriminator-value": "Repair",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DevBoxOperation"
+ }
+ ],
+ "properties": {
+ "result": {
+ "description": "The result of the repair operation.",
+ "$ref": "#/definitions/DevBoxRepairOperationResult"
+ }
+ }
+ },
+ "DevBoxRepairOperationResult": {
+ "description": "Information about the result of a repair operation on a Dev Box.",
+ "type": "object",
+ "properties": {
+ "repairOutcome": {
+ "description": "The outcome of the repair operation.",
+ "$ref": "#/definitions/DevBoxRepairOutcome"
+ },
+ "code": {
+ "description": "The result code associated with the repair operation.",
+ "type": "string"
+ },
+ "message": {
+ "description": "The result message associated with the repair operation.",
+ "type": "string"
+ }
+ }
+ },
+ "DevBoxRepairOutcome": {
+ "type": "string",
+ "enum": [
+ "FixApplied",
+ "IssuesDetected",
+ "NoIssuesDetected"
+ ],
+ "description": "The action taken during a repair operation.",
+ "x-ms-enum": {
+ "name": "DevBoxRepairOutcome",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "FixApplied",
+ "description": "A fix for an issue was automatically applied to the Dev Box."
+ },
+ {
+ "value": "IssuesDetected",
+ "description": "One or more issues was detected on the Dev Box, but they could not be fixed automatically."
+ },
+ {
+ "value": "NoIssuesDetected",
+ "description": "The service did not identify any issues on the Dev Box."
+ }
+ ]
+ }
+ },
+ "DevBoxOperationKind": {
+ "type": "string",
+ "enum": [
+ "Start",
+ "Stop",
+ "Restart",
+ "Repair"
+ ],
+ "description": "The type of Dev Box operation.",
+ "x-ms-enum": {
+ "name": "DevBoxOperationKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Start",
+ "description": "The operation represents a Dev Box start."
+ },
+ {
+ "value": "Stop",
+ "description": "The operation represents a Dev Box stop."
+ },
+ {
+ "value": "Restart",
+ "description": "The operation represents a Dev Box restart."
+ },
+ {
+ "value": "Repair",
+ "description": "The operation represents a Dev Box repair."
+ }
+ ]
+ }
+ },
+ "DevBoxOperationStatus": {
+ "type": "string",
+ "enum": [
+ "NotStarted",
+ "Running",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "description": "The status of a Dev Box operation.",
+ "x-ms-enum": {
+ "name": "DevBoxOperationStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "NotStarted",
+ "description": "The operation has not started."
+ },
+ {
+ "value": "Running",
+ "description": "The operation is running."
+ },
+ {
+ "value": "Succeeded",
+ "description": "The operation succeeded."
+ },
+ {
+ "value": "Canceled",
+ "description": "The operation was canceled."
+ },
+ {
+ "value": "Failed",
+ "description": "The operation failed."
+ }
+ ]
+ }
+ },
+ "ScheduleSourceType": {
+ "type": "string",
+ "enum": [
+ "Pool"
+ ],
+ "description": "The type of the resource that this schedule belongs to.",
+ "x-ms-enum": {
+ "name": "ScheduleSourceType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Pool",
+ "description": "The schedule source is a Dev Box pool."
+ }
+ ]
+ }
+ },
+ "DevBoxActionSourceType": {
+ "type": "string",
+ "enum": [
+ "Pool",
+ "Schedule"
+ ],
+ "description": "The type of the resource which triggered the action.",
+ "x-ms-enum": {
+ "name": "DevBoxActionSourceType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Pool",
+ "description": "The action was triggered by a Dev Box pool."
+ },
+ {
+ "value": "Schedule",
+ "description": "The action was triggered by a Dev Box schedule."
+ }
+ ]
+ }
+ }
+ },
+ "parameters": {
+ "PoolNameParameter": {
+ "name": "poolName",
+ "description": "The name of a pool of Dev Boxes.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$",
+ "minLength": 3,
+ "maxLength": 63,
+ "in": "path",
+ "x-ms-parameter-location": "method"
+ },
+ "ScheduleNameParameter": {
+ "name": "scheduleName",
+ "description": "The name of a schedule.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-parameter-location": "method"
+ },
+ "DevBoxNameParameter": {
+ "name": "devBoxName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "The name of a Dev Box.",
+ "x-ms-parameter-location": "method"
+ },
+ "HibernateParameter": {
+ "name": "hibernate",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Optional parameter to hibernate the dev box.",
+ "x-ms-parameter-location": "method"
+ },
+ "DevBoxActionNameParameter": {
+ "name": "actionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "The name of an action that will take place on a Dev Box.",
+ "x-ms-parameter-location": "method"
+ },
+ "DevBoxActionDelayUntilParameter": {
+ "name": "until",
+ "description": "The time to delay the Dev Box action or actions until.",
+ "required": true,
+ "type": "string",
+ "format": "date-time",
+ "in": "query",
+ "x-ms-parameter-location": "method"
+ },
+ "DevBoxOperationIdParameter": {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "The id of the operation on a Dev Box.",
+ "x-ms-parameter-location": "method"
+ },
+ "CustomizationGroupNameParameter": {
+ "name": "customizationGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "A customization group name.",
+ "x-ms-parameter-location": "method"
+ },
+ "CustomizationTaskIdParameter": {
+ "name": "customizationTaskId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$",
+ "minLength": 36,
+ "maxLength": 36,
+ "description": "A customization task ID.",
+ "x-ms-parameter-location": "method"
+ },
+ "TaskNameParameter": {
+ "name": "taskName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "A customization task name.",
+ "x-ms-parameter-location": "method"
+ },
+ "ListCustomizationGroupsIncludeParameter": {
+ "name": "include",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "tasks"
+ ],
+ "x-ms-enum": {
+ "name": "ListCustomizationGroupsIncludeProperty",
+ "modelAsString": true
+ }
+ },
+ "description": "Optional query parameter to specify what properties should be included in the response.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/devcenter.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/devcenter.json
new file mode 100644
index 000000000000..450a9185c88e
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/devcenter.json
@@ -0,0 +1,361 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-10-01-preview",
+ "title": "DevCenter"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/EndpointParameter"
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "AADToken": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "AADToken": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/projects": {
+ "get": {
+ "tags": [
+ "Projects"
+ ],
+ "description": "Lists all projects.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "operationId": "DevCenter_ListProjects",
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ProjectListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevCenter_ListProjects": {
+ "$ref": "./examples/Projects_ListByDevCenter.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/projects/{projectName}": {
+ "get": {
+ "tags": [
+ "Projects"
+ ],
+ "description": "Gets a project.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ProjectNameMethodParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "operationId": "DevCenter_GetProject",
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Project"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DevCenter_GetProject": {
+ "$ref": "./examples/Projects_Get.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ProjectListResult": {
+ "description": "Results of the project list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Current page of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Project"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next set of results if there are any.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "Project": {
+ "description": "Project details.",
+ "type": "object",
+ "properties": {
+ "uri": {
+ "description": "The unique URI of the project",
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the project"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the project."
+ },
+ "maxDevBoxesPerUser": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "When specified, indicates the maximum number of Dev Boxes a single user can create across all pools in the project."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the project."
+ }
+ },
+ "required": [
+ "uri",
+ "name"
+ ]
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "type": "object",
+ "required": [
+ "error"
+ ],
+ "properties": {
+ "error": {
+ "description": "Error body",
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ },
+ "description": "An error response from the service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "description": "An error response from the service.",
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ }
+ },
+ "OperationStatus": {
+ "description": "The current status of an async operation",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Fully qualified ID for the operation status.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The operation id name",
+ "type": "string"
+ },
+ "status": {
+ "description": "Provisioning state of the resource.",
+ "type": "string"
+ },
+ "resourceId": {
+ "description": "The id of the resource.",
+ "type": "string"
+ },
+ "startTime": {
+ "description": "The start time of the operation",
+ "type": "string",
+ "format": "date-time"
+ },
+ "endTime": {
+ "description": "The end time of the operation",
+ "type": "string",
+ "format": "date-time"
+ },
+ "percentComplete": {
+ "description": "Percent of the operation that is complete",
+ "type": "number",
+ "minimum": 0,
+ "maximum": 100
+ },
+ "properties": {
+ "description": "Custom operation properties, populated only for a successful operation.",
+ "type": "object"
+ },
+ "error": {
+ "description": "Operation Error message",
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ }
+ }
+ },
+ "required": [
+ "status"
+ ]
+ }
+ },
+ "parameters": {
+ "ProjectNameParameter": {
+ "name": "projectName",
+ "description": "The DevCenter Project upon which to execute operations.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$",
+ "minLength": 3,
+ "maxLength": 63,
+ "in": "path",
+ "x-ms-parameter-location": "client"
+ },
+ "ProjectNameMethodParameter": {
+ "name": "projectName",
+ "description": "The DevCenter Project upon which to execute operations.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{2,62}$",
+ "minLength": 3,
+ "maxLength": 63,
+ "in": "path",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to be used with the HTTP request.",
+ "x-ms-parameter-location": "client"
+ },
+ "FilterParameter": {
+ "name": "filter",
+ "in": "query",
+ "description": "An OData filter clause to apply to the operation.",
+ "type": "string",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "TopParameter": {
+ "name": "top",
+ "in": "query",
+ "description": "The maximum number of resources to return from the operation. Example: 'top=10'.",
+ "type": "integer",
+ "format": "int32",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "UserIdParameter": {
+ "name": "userId",
+ "in": "path",
+ "required": true,
+ "x-ms-client-default": "me",
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$",
+ "minLength": 2,
+ "maxLength": 36,
+ "description": "The AAD object id of the user. If value is 'me', the identity is taken from the authentication context.",
+ "x-ms-parameter-location": "method"
+ },
+ "EndpointParameter": {
+ "name": "endpoint",
+ "description": "The DevCenter-specific URI to operate on.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "client"
+ },
+ "CatalogNameParameter": {
+ "name": "catalogName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "The name of the catalog",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/environments.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/environments.json
new file mode 100644
index 000000000000..575ffa3f6f66
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/environments.json
@@ -0,0 +1,1825 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-10-01-preview",
+ "title": "DevCenter",
+ "description": "Deployment Environments API."
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/EndpointParameter"
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "AADToken": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "AADToken": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/projects/{projectName}/environments": {
+ "get": {
+ "tags": [
+ "Environments"
+ ],
+ "description": "Lists the environments for a project.",
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ }
+ ],
+ "operationId": "Environments_ListEnvironments",
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/EnvironmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Environments_ListEnvironments": {
+ "$ref": "./examples/Environments_ListByProject.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/projects/{projectName}/users/{userId}/environments": {
+ "get": {
+ "tags": [
+ "Environments"
+ ],
+ "description": "Lists the environments for a project and user.",
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ }
+ ],
+ "operationId": "Environments_ListEnvironmentsByUser",
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/EnvironmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Environments_ListEnvironmentsByUser": {
+ "$ref": "./examples/Environments_ListByProjectByUser.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/projects/{projectName}/users/{userId}/environments/{environmentName}": {
+ "get": {
+ "tags": [
+ "Environments"
+ ],
+ "description": "Gets an environment",
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/EnvironmentNameParameter"
+ }
+ ],
+ "operationId": "Environments_GetEnvironmentByUser",
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Environment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Environments_GetEnvironmentByUser": {
+ "$ref": "./examples/Environments_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Environments"
+ ],
+ "description": "Creates or updates an environment.",
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/EnvironmentNameParameter"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Represents an environment.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Environment"
+ }
+ }
+ ],
+ "operationId": "Environments_CreateOrReplaceEnvironment",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "original-uri"
+ },
+ "responses": {
+ "201": {
+ "description": "Created. Operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Environment"
+ },
+ "headers": {
+ "Operation-Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Environments_CreateByEnvironmentDefinition": {
+ "$ref": "./examples/Environments_CreateByEnvironmentDefinition.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Environments"
+ ],
+ "description": "Partially updates an environment",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/EnvironmentNameParameter"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Updatable environment properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Environment"
+ }
+ }
+ ],
+ "operationId": "Environments_PatchEnvironment",
+ "responses": {
+ "200": {
+ "description": "Succeeded",
+ "schema": {
+ "$ref": "#/definitions/Environment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Environments_PatchEnvironment": {
+ "$ref": "./examples/Environments_Patch.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Environments"
+ ],
+ "description": "Deletes an environment and all its associated resources",
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/EnvironmentNameParameter"
+ }
+ ],
+ "operationId": "Environments_DeleteEnvironment",
+ "x-ms-long-running-operation": true,
+ "responses": {
+ "202": {
+ "description": "Accepted. Operation will complete asynchronously.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/OperationStatus"
+ },
+ "headers": {
+ "Operation-Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Deletion was successful or resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Environments_DeleteEnvironment": {
+ "$ref": "./examples/Environments_Delete.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectName}/users/{userId}/environments/{environmentName}/outputs": {
+ "get": {
+ "tags": [
+ "Environments"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/EnvironmentNameParameter"
+ }
+ ],
+ "description": "Gets Outputs from the environment",
+ "operationId": "Environments_GetOutputs",
+ "responses": {
+ "200": {
+ "description": "The request completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/EnvironmentOutputs"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Environments_GetOutputs": {
+ "$ref": "./examples/Environments_GetOutputs.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectName}/users/{userId}/environments/{environmentName}/operations": {
+ "get": {
+ "tags": [
+ "EnvironmentOperations",
+ "Environments"
+ ],
+ "description": "Lists operations on the environment which have occurred within the past 90 days",
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/EnvironmentNameParameter"
+ }
+ ],
+ "operationId": "Environments_ListOperations",
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/EnvironmentOperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "EnvironmentOperations_ListByEnvironment": {
+ "$ref": "./examples/EnvironmentOperations_ListByEnvironment.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/projects/{projectName}/users/{userId}/environments/{environmentName}/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "EnvironmentOperations",
+ "Environments"
+ ],
+ "description": "Gets an environment action result.",
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/EnvironmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/EnvironmentOperationIdParameter"
+ }
+ ],
+ "operationId": "Environments_GetOperation",
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/EnvironmentOperation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "EnvironmentOperations_GetByEnvironment": {
+ "$ref": "./examples/EnvironmentOperations_GetByEnvironment.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectName}/users/{userId}/environments/{environmentName}/operations/{operationId}/logs": {
+ "get": {
+ "tags": [
+ "EnvironmentOperations",
+ "Environments"
+ ],
+ "description": "Gets the logs for an operation on an environment.",
+ "produces": [
+ "text/plain"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/EnvironmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/EnvironmentOperationIdParameter"
+ }
+ ],
+ "operationId": "Environments_GetLogsByOperation",
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "type": "file"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "EnvironmentOperations_GetLogs": {
+ "$ref": "./examples/EnvironmentOperations_GetLogs.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectName}/users/{userId}/environments/{environmentName}/actions": {
+ "get": {
+ "tags": [
+ "Environment Actions"
+ ],
+ "description": "Get all scheduled actions for a user within an environment.",
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/EnvironmentNameParameter"
+ }
+ ],
+ "operationId": "Environments_ListActions",
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/EnvironmentActionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Environments_ListActions": {
+ "$ref": "./examples/EnvironmentActions_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/EnvironmentAction"
+ }
+ },
+ "/projects/{projectName}/users/{userId}/environments/{environmentName}/actions/{actionName}": {
+ "get": {
+ "tags": [
+ "Environment Actions"
+ ],
+ "description": "Retrieve a specific environment action.",
+ "operationId": "Environments_GetAction",
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/EnvironmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/EnvironmentActionNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/EnvironmentAction"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Environments_GetAction": {
+ "$ref": "./examples/EnvironmentActions_Get.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectName}/users/{userId}/environments/{environmentName}/actions/{actionName}:skip": {
+ "post": {
+ "tags": [
+ "Environment Actions"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/EnvironmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/EnvironmentActionNameParameter"
+ }
+ ],
+ "description": "Skips an occurrence of an action.",
+ "operationId": "Environments_SkipAction",
+ "responses": {
+ "204": {
+ "description": "No content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Environments_SkipAction": {
+ "$ref": "./examples/EnvironmentActions_Skip.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectName}/users/{userId}/environments/{environmentName}/actions/{actionName}:delay": {
+ "post": {
+ "tags": [
+ "Environment Actions"
+ ],
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/EnvironmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/EnvironmentActionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/EnvironmentActionDelayUntilParameter"
+ }
+ ],
+ "description": "Delays the occurrence of an action.",
+ "operationId": "Environments_DelayAction",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EnvironmentAction"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Environments_DelayAction": {
+ "$ref": "./examples/EnvironmentActions_Delay.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectName}/catalogs": {
+ "get": {
+ "tags": [
+ "Catalogs"
+ ],
+ "description": "Lists all of the catalogs available for a project.",
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/TopParameter"
+ }
+ ],
+ "operationId": "Environments_ListCatalogsByProject",
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CatalogListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Environments_ListCatalogsByProject": {
+ "$ref": "./examples/Catalogs_ListByProject.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/projects/{projectName}/catalogs/{catalogName}": {
+ "get": {
+ "tags": [
+ "Catalogs"
+ ],
+ "description": "Gets the specified catalog within the project",
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/CatalogNameParameter"
+ }
+ ],
+ "operationId": "Environments_GetCatalog",
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Catalog"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Environments_GetCatalog": {
+ "$ref": "./examples/Catalogs_Get.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectName}/environmentDefinitions": {
+ "get": {
+ "tags": [
+ "Environment Definitions"
+ ],
+ "description": "Lists all environment definitions available for a project.",
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/TopParameter"
+ }
+ ],
+ "operationId": "Environments_ListEnvironmentDefinitionsByProject",
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/EnvironmentDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Environments_ListEnvironmentDefinitions": {
+ "$ref": "./examples/EnvironmentDefinitions_ListByProject.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/projects/{projectName}/catalogs/{catalogName}/environmentDefinitions": {
+ "get": {
+ "tags": [
+ "Environment Definitions"
+ ],
+ "description": "Lists all environment definitions available within a catalog.",
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/CatalogNameParameter"
+ }
+ ],
+ "operationId": "Environments_ListEnvironmentDefinitionsByCatalog",
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/EnvironmentDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Environments_ListEnvironmentDefinitionsByCatalog": {
+ "$ref": "./examples/EnvironmentDefinitions_ListByCatalog.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/projects/{projectName}/catalogs/{catalogName}/environmentDefinitions/{definitionName}": {
+ "get": {
+ "tags": [
+ "Environment Definitions"
+ ],
+ "description": "Get an environment definition from a catalog.",
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/CatalogNameParameter"
+ },
+ {
+ "$ref": "#/parameters/EnvironmentDefinitionNameParameter"
+ }
+ ],
+ "operationId": "Environments_GetEnvironmentDefinition",
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/EnvironmentDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Environments_GetEnvironmentDefinition": {
+ "$ref": "./examples/EnvironmentDefinitions_Get.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectName}/environmentTypes": {
+ "get": {
+ "tags": [
+ "Environment Types"
+ ],
+ "description": "Lists all environment types configured for a project.",
+ "parameters": [
+ {
+ "$ref": "devcenter.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "devcenter.json#/parameters/TopParameter"
+ }
+ ],
+ "operationId": "Environments_ListEnvironmentTypes",
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/EnvironmentTypeListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "devcenter.json#/definitions/CloudError"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "The error code for specific error that occurred.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Environments_ListEnvironmentTypes": {
+ "$ref": "./examples/EnvironmentTypes_ListByProject.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "EnvironmentUpdateProperties": {
+ "description": "Properties of an environment. These properties can be updated after the resource has been created.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnvironmentPatchProperties"
+ }
+ ],
+ "properties": {
+ "parameters": {
+ "type": "object",
+ "description": "Parameters object for the environment. Can only be updated via create or replace."
+ }
+ }
+ },
+ "EnvironmentPatchProperties": {
+ "description": "Properties of an environment. These properties can be updated via PATCH after the resource has been created.",
+ "type": "object",
+ "properties": {
+ "expirationDate": {
+ "description": "The time the expiration date will be triggered (UTC), after which the environment and associated resources will be deleted.",
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+ },
+ "Environment": {
+ "description": "Properties of an environment.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnvironmentUpdateProperties"
+ }
+ ],
+ "properties": {
+ "uri": {
+ "description": "The unique URI of the environment",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Environment name.",
+ "readOnly": true
+ },
+ "environmentType": {
+ "type": "string",
+ "description": "The name of the environment type. Cannot be updated after creation.",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "user": {
+ "type": "string",
+ "description": "The AAD object id of the owner of this Environment.",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the environment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceGroupId": {
+ "description": "The identifier of the resource group containing the environment's resources.",
+ "type": "string",
+ "readOnly": true
+ },
+ "catalogName": {
+ "type": "string",
+ "description": "The name of the catalog. Cannot be updated after creation.",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "environmentDefinitionName": {
+ "type": "string",
+ "description": "The name of the environment definition. Cannot be updated after creation.",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "error": {
+ "description": "Provisioning error details. Populated only for error states.",
+ "readOnly": true,
+ "$ref": "devcenter.json#/definitions/CloudErrorBody"
+ }
+ },
+ "required": [
+ "environmentType",
+ "catalogName",
+ "environmentDefinitionName"
+ ]
+ },
+ "EnvironmentOutputs": {
+ "description": "Outputs from environment deployment.",
+ "type": "object",
+ "properties": {
+ "outputs": {
+ "type": "object",
+ "description": "The outputs Names and Values",
+ "additionalProperties": {
+ "$ref": "#/definitions/EnvironmentOutput"
+ }
+ }
+ }
+ },
+ "EnvironmentOutput": {
+ "description": "Output from environment deployment.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of the output value",
+ "type": "string",
+ "enum": [
+ "string",
+ "array",
+ "boolean",
+ "number",
+ "object"
+ ],
+ "x-ms-enum": {
+ "name": "EnvironmentOutputType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "array",
+ "description": "The output is an array of values."
+ },
+ {
+ "value": "boolean",
+ "description": "The output is a boolean value."
+ },
+ {
+ "value": "number",
+ "description": "The output is a number value."
+ },
+ {
+ "value": "object",
+ "description": "The output is an object value."
+ },
+ {
+ "value": "string",
+ "description": "The output is a string value."
+ }
+ ]
+ }
+ },
+ "value": {
+ "description": "The output value",
+ "type": "object"
+ },
+ "sensitive": {
+ "description": "Indicates if the value is sensitive.",
+ "type": "boolean"
+ }
+ }
+ },
+ "EnvironmentActionType": {
+ "description": "The scheduled action types.",
+ "type": "string",
+ "enum": [
+ "Delete"
+ ],
+ "x-ms-enum": {
+ "name": "EnvironmentActionType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Delete",
+ "description": "The action will delete the environment and associated resources."
+ }
+ ]
+ }
+ },
+ "EnvironmentNextAction": {
+ "description": "Details about the next run of an action.",
+ "type": "object",
+ "properties": {
+ "scheduledTime": {
+ "description": "The time the action will be triggered (UTC).",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "scheduledTime"
+ ]
+ },
+ "EnvironmentActionsListResult": {
+ "type": "object",
+ "description": "The actions list result",
+ "properties": {
+ "value": {
+ "description": "Current page of results",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentAction"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "EnvironmentAction": {
+ "type": "object",
+ "description": "An upcoming Environment Action.",
+ "properties": {
+ "name": {
+ "description": "Uniquely identifies the action.",
+ "type": "string",
+ "readOnly": true
+ },
+ "uri": {
+ "description": "Uri of the action resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "actionType": {
+ "description": "The action that will be taken.",
+ "$ref": "#/definitions/EnvironmentActionType",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "next": {
+ "description": "Details about the next run of this action.",
+ "$ref": "#/definitions/EnvironmentNextAction"
+ },
+ "lastModifiedBy": {
+ "description": "Object Id of the user who last modified the action.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastModifiedAt": {
+ "description": "time the object was last modified.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "actionType",
+ "next"
+ ]
+ },
+ "EnvironmentListResult": {
+ "description": "Results of the environment list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Current page of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Environment"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next set of results if there are any.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "CatalogListResult": {
+ "description": "Results of the catalog list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Current page of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Catalog"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next set of results if there are any.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "Catalog": {
+ "description": "A catalog.",
+ "type": "object",
+ "properties": {
+ "uri": {
+ "description": "The unique URI of the catalog",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the catalog.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "uri",
+ "name"
+ ]
+ },
+ "EnvironmentDefinitionListResult": {
+ "description": "Results of the environment definition list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Current page of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentDefinition"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next set of results if there are any.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "EnvironmentDefinition": {
+ "description": "An environment definition.",
+ "type": "object",
+ "properties": {
+ "uri": {
+ "description": "The unique URI of the environment definition",
+ "type": "string"
+ },
+ "id": {
+ "description": "The ID of the environment definition.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the environment definition.",
+ "type": "string"
+ },
+ "catalogName": {
+ "description": "Name of the catalog.",
+ "type": "string"
+ },
+ "description": {
+ "description": "A short description of the environment definition.",
+ "type": "string"
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentDefinitionParameter"
+ },
+ "description": "Input parameters passed to an environment."
+ },
+ "parametersSchema": {
+ "type": "string",
+ "description": "JSON schema defining the parameters object passed to an environment."
+ },
+ "templatePath": {
+ "description": "Path to the Environment Definition entrypoint file.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "uri",
+ "catalogName",
+ "id"
+ ]
+ },
+ "EnvironmentDefinitionParameter": {
+ "type": "object",
+ "description": "Properties of an Environment Definition parameter",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique ID of the parameter"
+ },
+ "name": {
+ "type": "string",
+ "description": "Display name of the parameter"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the parameter"
+ },
+ "default": {
+ "type": "string",
+ "description": "Default value of the parameter"
+ },
+ "type": {
+ "description": "A string of one of the basic JSON types (number, integer, array, object, boolean, string)",
+ "$ref": "#/definitions/ParameterType"
+ },
+ "readOnly": {
+ "type": "boolean",
+ "description": "Whether or not this parameter is read-only. If true, default should have a value."
+ },
+ "required": {
+ "type": "boolean",
+ "description": "Whether or not this parameter is required"
+ },
+ "allowed": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1,
+ "uniqueItems": true,
+ "description": "An array of allowed values"
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "required"
+ ]
+ },
+ "EnvironmentTypeListResult": {
+ "description": "Result of the environment type list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Current page of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentType"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next set of results if there are any.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "EnvironmentType": {
+ "description": "Properties of an environment type.",
+ "type": "object",
+ "properties": {
+ "uri": {
+ "description": "The unique URI of the environment type",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the environment type",
+ "type": "string"
+ },
+ "deploymentTargetId": {
+ "description": "The ID of a subscription or management group that the environment type will be mapped to. The environment's resources will be deployed into this subscription or management group.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Indicates whether this environment type is enabled for use in this project.",
+ "$ref": "#/definitions/EnvironmentTypeEnableStatus"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the environment type."
+ }
+ },
+ "required": [
+ "uri",
+ "name",
+ "deploymentTargetId",
+ "status"
+ ]
+ },
+ "EnvironmentTypeEnableStatus": {
+ "description": "Indicates whether an environment type is enabled for use in a project.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EnvironmentTypeEnableStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Enabled",
+ "description": "The environment type is enabled for use in the project."
+ },
+ {
+ "value": "Disabled",
+ "description": "The environment type is not enabled for use in the project."
+ }
+ ]
+ }
+ },
+ "ParameterType": {
+ "type": "string",
+ "enum": [
+ "array",
+ "boolean",
+ "integer",
+ "number",
+ "object",
+ "string"
+ ],
+ "description": "The type of data a parameter accepts.",
+ "x-ms-enum": {
+ "name": "ParameterType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "array",
+ "description": "The parameter accepts an array of values."
+ },
+ {
+ "value": "boolean",
+ "description": "The parameter accepts a boolean value."
+ },
+ {
+ "value": "integer",
+ "description": "The parameter accepts an integer value."
+ },
+ {
+ "value": "number",
+ "description": "The parameter accepts a number value."
+ },
+ {
+ "value": "object",
+ "description": "The parameter accepts an object value."
+ },
+ {
+ "value": "string",
+ "description": "The parameter accepts a string value."
+ }
+ ]
+ }
+ },
+ "EnvironmentOperationListResult": {
+ "type": "object",
+ "description": "The action results list result.",
+ "properties": {
+ "value": {
+ "description": "The current page of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentOperation"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "EnvironmentOperation": {
+ "type": "object",
+ "description": "Information about an operation on an environment.",
+ "discriminator": "kind",
+ "properties": {
+ "uri": {
+ "description": "The unique URI for the environment operation.",
+ "type": "string"
+ },
+ "operationId": {
+ "description": "Unique identifier for the environment operation.",
+ "type": "string"
+ },
+ "kind": {
+ "description": "The kind of operation that occurred.",
+ "$ref": "#/definitions/EnvironmentOperationKind"
+ },
+ "status": {
+ "description": "The operation status.",
+ "$ref": "#/definitions/EnvironmentOperationStatus"
+ },
+ "createdByObjectId": {
+ "description": "The object ID of the actor which initiated the operation.",
+ "type": "string"
+ },
+ "startTime": {
+ "description": "The time the operation started.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "endTime": {
+ "description": "The time the operation finished.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "environmentParameters": {
+ "type": "object",
+ "description": "Parameters object for the environment at the time of the operation."
+ },
+ "error": {
+ "description": "Provisioning or operation error details. Populated only for error states.",
+ "$ref": "devcenter.json#/definitions/CloudErrorBody"
+ }
+ },
+ "required": [
+ "uri",
+ "operationId",
+ "kind",
+ "status"
+ ]
+ },
+ "EnvironmentOperationKind": {
+ "type": "string",
+ "enum": [
+ "Deploy",
+ "Delete"
+ ],
+ "description": "The type of environment operation.",
+ "x-ms-enum": {
+ "name": "EnvironmentOperationKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Deploy",
+ "description": "The operation represents a deployment."
+ },
+ {
+ "value": "Delete",
+ "description": "The operation represents a delete."
+ }
+ ]
+ }
+ },
+ "EnvironmentOperationStatus": {
+ "type": "string",
+ "enum": [
+ "NotStarted",
+ "Running",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "description": "The status of an environment operation.",
+ "x-ms-enum": {
+ "name": "EnvironmentOperationStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "NotStarted",
+ "description": "The operation has not started."
+ },
+ {
+ "value": "Running",
+ "description": "The operation is running."
+ },
+ {
+ "value": "Succeeded",
+ "description": "The operation succeeded."
+ },
+ {
+ "value": "Canceled",
+ "description": "The operation was canceled."
+ },
+ {
+ "value": "Failed",
+ "description": "The operation failed."
+ }
+ ]
+ }
+ },
+ "EnvironmentDeployOperation": {
+ "type": "object",
+ "description": "Information about a deploy operation on an environment.",
+ "x-ms-discriminator-value": "Deploy",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnvironmentOperation"
+ }
+ ]
+ },
+ "EnvironmentDeleteOperation": {
+ "type": "object",
+ "description": "Information about a delete operation on an environment.",
+ "x-ms-discriminator-value": "Delete",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnvironmentOperation"
+ }
+ ]
+ }
+ },
+ "parameters": {
+ "EnvironmentNameParameter": {
+ "name": "environmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "The name of the environment.",
+ "x-ms-parameter-location": "method"
+ },
+ "EnvironmentDefinitionNameParameter": {
+ "name": "definitionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "The name of the environment definition",
+ "x-ms-parameter-location": "method"
+ },
+ "EnvironmentOperationIdParameter": {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "The id of the operation on an environment.",
+ "x-ms-parameter-location": "method"
+ },
+ "EnvironmentActionNameParameter": {
+ "name": "actionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "The name of an action that will take place on an Environment.",
+ "x-ms-parameter-location": "method"
+ },
+ "EnvironmentActionDelayUntilParameter": {
+ "name": "until",
+ "description": "The time to delay the Environment action until.",
+ "required": true,
+ "type": "string",
+ "format": "date-time",
+ "in": "query",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Catalogs_Get.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Catalogs_Get.json
new file mode 100644
index 000000000000..ae5af6196ebe
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Catalogs_Get.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "catalogName": "foo"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/foo",
+ "name": "foo"
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Catalogs_ListByProject.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Catalogs_ListByProject.json
new file mode 100644
index 000000000000..956e8fa7c1c8
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Catalogs_ListByProject.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/foo",
+ "name": "foo"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxActions_Delay.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxActions_Delay.json
new file mode 100644
index 000000000000..de603d6dfda9
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxActions_Delay.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "devBoxName": "myDevBox",
+ "actionName": "schedule-default",
+ "until": "2022-09-30T17:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/schedule-default",
+ "name": "schedule-default",
+ "actionType": "Stop",
+ "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/myPool/schedules/default",
+ "sourceId": "/projects/myProject/pools/myPool/schedules/default",
+ "sourceType": "Schedule",
+ "suspendedUntil": "2022-09-30T17:00:00Z",
+ "next": {
+ "scheduledTime": "2022-09-30T17:00:00Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxActions_DelayMultiple.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxActions_DelayMultiple.json
new file mode 100644
index 000000000000..baac1f5cd108
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxActions_DelayMultiple.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "devBoxName": "myDevBox",
+ "until": "2022-09-30T17:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/schedule-default",
+ "name": "schedule-default",
+ "result": "Succeeded",
+ "action": {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/schedule-default",
+ "name": "schedule-default",
+ "actionType": "Stop",
+ "sourceId": "/projects/myProject/pools/myPool/schedules/default",
+ "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/myPool/schedules/default",
+ "sourceType": "Schedule",
+ "suspendedUntil": "2022-09-30T17:00:00Z",
+ "next": {
+ "scheduledTime": "2022-09-30T17:00:00Z"
+ }
+ }
+ },
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/idle-hibernateondisconnect",
+ "name": "idle-hibernateondisconnect",
+ "result": "Succeeded",
+ "action": {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/idle-hibernateondisconnect",
+ "name": "idle-hibernateondisconnect",
+ "actionType": "Stop",
+ "sourceId": "/projects/myProject/pools/myPool",
+ "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/myPool",
+ "sourceType": "Pool",
+ "suspendedUntil": "2022-09-30T17:00:00Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxActions_DelayMultipleWithError.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxActions_DelayMultipleWithError.json
new file mode 100644
index 000000000000..923a849cab08
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxActions_DelayMultipleWithError.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "devBoxName": "myDevBox",
+ "until": "2022-09-30T17:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/schedule-default",
+ "name": "schedule-default",
+ "result": "Failed",
+ "error": {
+ "code": "DelayOverMaxTime",
+ "message": "The schedule cannot be delayed more than 8 hours from the original invocation time."
+ }
+ },
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/idle-hibernateondisconnect",
+ "name": "idle-hibernateondisconnect",
+ "result": "Succeeded",
+ "action": {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/idle-hibernateondisconnect",
+ "name": "idle-hibernateondisconnect",
+ "actionType": "Stop",
+ "sourceId": "/projects/myProject/pools/myPool",
+ "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/myPool",
+ "sourceType": "Pool",
+ "suspendedUntil": "2022-09-30T17:00:00Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxActions_Get.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxActions_Get.json
new file mode 100644
index 000000000000..c567dd9dd7c6
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxActions_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "devBoxName": "myDevBox",
+ "actionName": "schedule-default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/schedule-default",
+ "name": "schedule-default",
+ "actionType": "Stop",
+ "sourceId": "/projects/myProject/pools/myPool/schedules/default",
+ "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/myPool/schedules/default",
+ "sourceType": "Schedule",
+ "next": {
+ "scheduledTime": "2022-09-30T17:00:00Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxActions_List.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxActions_List.json
new file mode 100644
index 000000000000..c27969f3b1ec
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxActions_List.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "devBoxName": "myDevBox"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/idle-hibernateondisconnect",
+ "name": "idle-hibernateondisconnect",
+ "actionType": "Stop",
+ "sourceId": "/projects/myProject/pools/myPool",
+ "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/myPool",
+ "sourceType": "Pool",
+ "next": {
+ "scheduledTime": "2022-09-30T15:23:00Z"
+ }
+ },
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/actions/schedule-default",
+ "name": "schedule-default",
+ "actionType": "Stop",
+ "sourceId": "/projects/myProject/pools/myPool/schedules/default",
+ "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/myPool/schedules/default",
+ "sourceType": "Schedule",
+ "suspendedUntil": "2022-09-30T17:00:00Z",
+ "next": {
+ "scheduledTime": "2022-09-30T17:00:00Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxActions_Skip.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxActions_Skip.json
new file mode 100644
index 000000000000..6583a56a4724
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxActions_Skip.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "devBoxName": "myDevBox",
+ "actionName": "schedule-default"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxOperations_Get.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxOperations_Get.json
new file mode 100644
index 000000000000..6ea99d3fc334
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxOperations_Get.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "devBoxName": "myDevBox",
+ "operationId": "f5dbdfab-fa0e-4831-8d13-25359aa5e680"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/devBoxes/myDevBox/operations/f5dbdfab-fa0e-4831-8d13-25359aa5e680",
+ "operationId": "f5dbdfab-fa0e-4831-8d13-25359aa5e680",
+ "status": "Succeeded",
+ "kind": "Start",
+ "createdByObjectId": "cf849cb0-3a05-4059-84b4-40c16abb1e93",
+ "startTime": "2022-09-06T16:58:51.7229492+00:00",
+ "endTime": "2022-09-06T16:59:51.7229492+00:00"
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxOperations_List.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxOperations_List.json
new file mode 100644
index 000000000000..1a16c2849feb
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxOperations_List.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "devBoxName": "myDevBox"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/devBoxes/myDevBox/operations/f5dbdfab-fa0e-4831-8d13-25359aa5e680",
+ "operationId": "f5dbdfab-fa0e-4831-8d13-25359aa5e680",
+ "status": "Succeeded",
+ "kind": "Start",
+ "createdByObjectId": "cf849cb0-3a05-4059-84b4-40c16abb1e93",
+ "startTime": "2022-09-06T16:58:51.7229492+00:00",
+ "endTime": "2022-09-06T16:59:51.7229492+00:00"
+ },
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/devBoxes/myDevBox/operations/a6eb12ee-daa1-2215-9c44-63618dc2a781",
+ "operationId": "a6eb12ee-daa1-2215-9c44-63618dc2a781",
+ "status": "Succeeded",
+ "kind": "Repair",
+ "createdByObjectId": "cf849cb0-3a05-4059-84b4-40c16abb1e93",
+ "startTime": "2022-09-10T19:31:20.7229492+00:00",
+ "endTime": "2022-09-10T19:57:41.7229492+00:00",
+ "result": {
+ "code": "ConnectivityFixApplied",
+ "message": "We resolved some connectivity issues with your Dev Box.",
+ "repairOutcome": "FixApplied"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_Create.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_Create.json
new file mode 100644
index 000000000000..65d3aa27a342
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_Create.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "devBoxName": "MyDevBox",
+ "body": {
+ "poolName": "LargeDevWorkStationPool"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox",
+ "name": "MyDevBox",
+ "provisioningState": "Succeeded",
+ "projectName": "ContosoProject",
+ "poolName": "LargeDevWorkStationPool",
+ "location": "centralus",
+ "osType": "Windows",
+ "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98",
+ "hardwareProfile": {
+ "vCPUs": 8,
+ "memoryGB": 32
+ },
+ "storageProfile": {
+ "osDisk": {
+ "diskSizeGB": 1024
+ }
+ },
+ "hibernateSupport": "Enabled",
+ "imageReference": {
+ "name": "DevImage",
+ "version": "1.0.0",
+ "publishedDate": "2022-03-01T00:13:23.323Z"
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0",
+ "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0"
+ },
+ "body": {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox",
+ "name": "MyDevBox",
+ "provisioningState": "Creating",
+ "projectName": "ContosoProject",
+ "poolName": "LargeDevWorkStationPool",
+ "location": "centralus",
+ "osType": "Windows",
+ "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98",
+ "hardwareProfile": {
+ "vCPUs": 8,
+ "memoryGB": 32
+ },
+ "storageProfile": {
+ "osDisk": {
+ "diskSizeGB": 1024
+ }
+ },
+ "hibernateSupport": "Enabled",
+ "imageReference": {
+ "name": "DevImage",
+ "version": "1.0.0",
+ "publishedDate": "2022-03-01T00:13:23.323Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_CreateCustomizationGroup.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_CreateCustomizationGroup.json
new file mode 100644
index 000000000000..8d7c3e4f34f8
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_CreateCustomizationGroup.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "devBoxName": "MyDevBox",
+ "customizationGroupName": "Provisioning",
+ "body": {
+ "tasks": [
+ {
+ "name": "catalogName/choco",
+ "displayName": "Install VS Code",
+ "parameters": {
+ "packageName": "vscode",
+ "packageVersion": "1.0.0"
+ }
+ },
+ {
+ "name": "catalogName/write-to-file"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Provisioning",
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning",
+ "tasks": [
+ {
+ "id": "a9202018-fb6a-4007-8b52-26d7c6d1c1fb",
+ "name": "catalogName/choco",
+ "displayName": "Install VS Code",
+ "status": "NotStarted",
+ "parameters": {
+ "packageName": "vscode",
+ "packageVersion": "1.0.0"
+ },
+ "logUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning/logs/a9202018-fb6a-4007-8b52-26d7c6d1c1fb"
+ },
+ {
+ "id": "91835dc0-ef5a-4f58-9e3a-099aea8481f4",
+ "name": "catalogName/write-to-file",
+ "status": "NotStarted",
+ "logUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning/logs/91835dc0-ef5a-4f58-9e3a-099aea8481f4"
+ }
+ ],
+ "status": "NotStarted"
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_Delete.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_Delete.json
new file mode 100644
index 000000000000..65ec8cc24514
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_Delete.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "devBoxName": "MyDevBox"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0",
+ "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0"
+ },
+ "body": {
+ "id": "/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0",
+ "name": "786a823c-8037-48ab-89b8-8599901e67d0",
+ "status": "Running",
+ "startTime": "2023-02-01T12:43:54.122Z"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_Get.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_Get.json
new file mode 100644
index 000000000000..adfee6e0c4f9
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_Get.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "devBoxName": "MyDevBox"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox",
+ "name": "MyDevBox",
+ "provisioningState": "Succeeded",
+ "projectName": "ContosoProject",
+ "poolName": "LargeDevWorkStationPool",
+ "location": "centralus",
+ "osType": "Windows",
+ "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98",
+ "hardwareProfile": {
+ "vCPUs": 8,
+ "memoryGB": 32
+ },
+ "storageProfile": {
+ "osDisk": {
+ "diskSizeGB": 1024
+ }
+ },
+ "hibernateSupport": "Enabled",
+ "imageReference": {
+ "name": "DevImage",
+ "version": "1.0.0",
+ "publishedDate": "2022-03-01T00:13:23.323Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_GetCustomizationGroup.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_GetCustomizationGroup.json
new file mode 100644
index 000000000000..048c02006f37
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_GetCustomizationGroup.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "devBoxName": "MyDevBox",
+ "customizationGroupName": "Provisioning"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Provisioning",
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning",
+ "tasks": [
+ {
+ "id": "a9202018-fb6a-4007-8b52-26d7c6d1c1fb",
+ "name": "catalogName/choco",
+ "displayName": "Install VS Code",
+ "status": "Succeeded",
+ "parameters": {
+ "packageName": "vscode",
+ "packageVersion": "1.0.0"
+ },
+ "startTime": "2021-08-05T18:00:00.000Z",
+ "endTime": "2021-08-05T18:00:00.000Z",
+ "logUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning/logs/a9202018-fb6a-4007-8b52-26d7c6d1c1fb"
+ },
+ {
+ "id": "91835dc0-ef5a-4f58-9e3a-099aea8481f4",
+ "name": "catalogName/write-to-file",
+ "status": "Running",
+ "startTime": "2021-08-05T18:00:00.000Z",
+ "logUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning/logs/91835dc0-ef5a-4f58-9e3a-099aea8481f4"
+ }
+ ],
+ "status": "Running",
+ "startTime": "2021-08-05T18:00:00.000Z"
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_GetCustomizationTaskLog.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_GetCustomizationTaskLog.json
new file mode 100644
index 000000000000..3f64ce603537
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_GetCustomizationTaskLog.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "4863c6d0-e979-4a36-ac8d-80029debfd80",
+ "devBoxName": "MyDevBox",
+ "customizationGroupName": "Provisioning",
+ "customizationTaskId": "91835dc0-ef5a-4f58-9e3a-099aea8481f4"
+ },
+ "responses": {
+ "200": {
+ "body": "WzIwMjMtMDgtMTBUMTA6MTk6NTUuODIwMTAxKzAwOjAwXSBDaG9jb2xhdGV5IHYxLjMuMVxuWzIwMjMtMDgtMTBUMTA6MTk6NTUuOTEzMjk3KzAwOjAwXSAyIHZhbGlkYXRpb25zIHBlcmZvcm1lZC4gMSBzdWNjZXNzKGVzKSwgMSB3YXJuaW5nKHMpLCBhbmQgMCBlcnJvcihzKS4="
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_GetRemoteConnection.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_GetRemoteConnection.json
new file mode 100644
index 000000000000..1b2de5e0ecd3
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_GetRemoteConnection.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "devBoxName": "MyDevBox"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "webUrl": "https://connectionUrl"
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_List.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_List.json
new file mode 100644
index 000000000000..ba1d0ade7f97
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_List.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "api-version": "2023-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox",
+ "name": "MyDevBox",
+ "provisioningState": "Succeeded",
+ "projectName": "ContosoProject",
+ "poolName": "LargeDevWorkStationPool",
+ "location": "centralus",
+ "osType": "Windows",
+ "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98",
+ "hardwareProfile": {
+ "vCPUs": 8,
+ "memoryGB": 32
+ },
+ "storageProfile": {
+ "osDisk": {
+ "diskSizeGB": 1024
+ }
+ },
+ "hibernateSupport": "Enabled",
+ "imageReference": {
+ "name": "DevImage",
+ "version": "1.0.0",
+ "publishedDate": "2022-03-01T00:13:23.323Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_ListByUserByProject.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_ListByUserByProject.json
new file mode 100644
index 000000000000..c64066963b14
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_ListByUserByProject.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox",
+ "name": "MyDevBox",
+ "provisioningState": "Succeeded",
+ "projectName": "ContosoProject",
+ "poolName": "LargeDevWorkStationPool",
+ "location": "centralus",
+ "osType": "Windows",
+ "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98",
+ "hardwareProfile": {
+ "vCPUs": 8,
+ "memoryGB": 32
+ },
+ "storageProfile": {
+ "osDisk": {
+ "diskSizeGB": 1024
+ }
+ },
+ "hibernateSupport": "Enabled",
+ "imageReference": {
+ "name": "DevImage",
+ "version": "1.0.0",
+ "publishedDate": "2022-03-01T00:13:23.323Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_ListCustomizationGroupsWithTasks.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_ListCustomizationGroupsWithTasks.json
new file mode 100644
index 000000000000..205f725cac17
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_ListCustomizationGroupsWithTasks.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "devBoxName": "MyDevBox",
+ "include": "tasks"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Provisioning",
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning",
+ "tasks": [
+ {
+ "id": "a9202018-fb6a-4007-8b52-26d7c6d1c1fb",
+ "name": "catalogName/choco",
+ "displayName": "Install VS Code",
+ "status": "Succeeded",
+ "parameters": {
+ "packageName": "vscode",
+ "packageVersion": "1.0.0"
+ },
+ "startTime": "2021-08-05T18:00:00.000Z",
+ "endTime": "2021-08-05T18:00:00.000Z",
+ "logUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning/logs/a9202018-fb6a-4007-8b52-26d7c6d1c1fb"
+ },
+ {
+ "id": "91835dc0-ef5a-4f58-9e3a-099aea8481f4",
+ "name": "catalogName/write-to-file",
+ "status": "Succeeded",
+ "startTime": "2021-08-05T18:10:00.000Z",
+ "logUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning/logs/91835dc0-ef5a-4f58-9e3a-099aea8481f4"
+ }
+ ],
+ "status": "Succeeded",
+ "startTime": "2021-08-05T18:00:00.000Z",
+ "endTime": "2021-08-05T18:10:00.000Z"
+ },
+ {
+ "name": "Personalizations",
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Personalizations",
+ "tasks": [
+ {
+ "id": "d8ec7648-23c9-4e86-8883-6d42ad6c9609",
+ "name": "catalogName/choco",
+ "displayName": "Install Git",
+ "status": "Running",
+ "parameters": {
+ "packageName": "git"
+ },
+ "startTime": "2021-08-05T18:10:00.000Z",
+ "logUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Personalizations/logs/d8ec7648-23c9-4e86-8883-6d42ad6c9609"
+ }
+ ],
+ "status": "Running",
+ "startTime": "2021-08-05T18:10:00.000Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_ListCustomizationGroupsWithoutTasks.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_ListCustomizationGroupsWithoutTasks.json
new file mode 100644
index 000000000000..a58438f5a02b
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_ListCustomizationGroupsWithoutTasks.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "devBoxName": "MyDevBox"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Provisioning",
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Provisioning",
+ "status": "Succeeded",
+ "startTime": "2021-08-05T18:00:00.000Z",
+ "endTime": "2021-08-05T18:10:00.000Z"
+ },
+ {
+ "name": "Personalizations",
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/devboxes/MyDevBox/customizationgroups/Personalizations",
+ "status": "Running",
+ "startTime": "2021-08-05T18:10:00.000Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_Repair.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_Repair.json
new file mode 100644
index 000000000000..9c35d9a043ac
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_Repair.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "devBoxName": "MyDevBox"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0",
+ "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0"
+ },
+ "body": {
+ "id": "/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0",
+ "name": "786a823c-8037-48ab-89b8-8599901e67d0",
+ "status": "Running",
+ "startTime": "2023-02-01T12:43:54.122Z"
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_Restart.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_Restart.json
new file mode 100644
index 000000000000..9c35d9a043ac
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_Restart.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "devBoxName": "MyDevBox"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0",
+ "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0"
+ },
+ "body": {
+ "id": "/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0",
+ "name": "786a823c-8037-48ab-89b8-8599901e67d0",
+ "status": "Running",
+ "startTime": "2023-02-01T12:43:54.122Z"
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_Start.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_Start.json
new file mode 100644
index 000000000000..9c35d9a043ac
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_Start.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "devBoxName": "MyDevBox"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0",
+ "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0"
+ },
+ "body": {
+ "id": "/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0",
+ "name": "786a823c-8037-48ab-89b8-8599901e67d0",
+ "status": "Running",
+ "startTime": "2023-02-01T12:43:54.122Z"
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_Stop.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_Stop.json
new file mode 100644
index 000000000000..d42fa09e21d3
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/DevBoxes_Stop.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "devBoxName": "MyDevBox",
+ "hibernate": "true"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0",
+ "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0"
+ },
+ "body": {
+ "id": "/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0",
+ "name": "786a823c-8037-48ab-89b8-8599901e67d0",
+ "status": "Running",
+ "startTime": "2023-02-01T12:43:54.122Z"
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentActions_Delay.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentActions_Delay.json
new file mode 100644
index 000000000000..be7bf58315c8
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentActions_Delay.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "environmentName": "myEnv",
+ "actionName": "default",
+ "until": "2022-09-30T17:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/environments/MyEnv/actions/default",
+ "name": "default",
+ "actionType": "Delete",
+ "next": {
+ "scheduledTime": "2023-09-30T17:00:00Z"
+ },
+ "lastModifiedBy": "b08e39b4-2ac6-4465-a35e-48322efb0f98",
+ "lastModifiedAt": "2023-09-10T17:00:00Z"
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentActions_Get.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentActions_Get.json
new file mode 100644
index 000000000000..22665aa51045
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentActions_Get.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "environmentName": "myEnvironment",
+ "actionName": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/environments/MyEnv/actions/default",
+ "name": "default",
+ "actionType": "Delete",
+ "next": {
+ "scheduledTime": "2023-09-30T17:00:00Z"
+ },
+ "lastModifiedBy": "b08e39b4-2ac6-4465-a35e-48322efb0f98",
+ "lastModifiedAt": "2023-09-10T17:00:00Z"
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentActions_List.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentActions_List.json
new file mode 100644
index 000000000000..f87581c9a1cb
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentActions_List.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "environmentName": "myEnvironment"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/environments/MyEnv/actions/default",
+ "name": "default",
+ "actionType": "Delete",
+ "next": {
+ "scheduledTime": "2023-09-30T17:00:00Z"
+ },
+ "lastModifiedBy": "b08e39b4-2ac6-4465-a35e-48322efb0f98",
+ "lastModifiedAt": "2023-09-10T17:00:00Z"
+ },
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/b08e39b4-2ac6-4465-a35e-48322efb0f98/environments/MyEnv/actions/expire",
+ "name": "expire",
+ "actionType": "Delete",
+ "next": {
+ "scheduledTime": "2023-10-30T17:00:00Z"
+ },
+ "lastModifiedBy": "b08e39b4-2ac6-4465-a35e-48322efb0f98",
+ "lastModifiedAt": "2023-09-20T17:00:00Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentActions_Skip.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentActions_Skip.json
new file mode 100644
index 000000000000..ba45643a709e
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentActions_Skip.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "environmentName": "myEnv",
+ "userId": "me",
+ "actionName": "default",
+ "body": {
+ "actionType": "Delete",
+ "next": {
+ "scheduledTime": "2023-09-30T17:00:00Z"
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentDefinitions_Get.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentDefinitions_Get.json
new file mode 100644
index 000000000000..5104c8a3f5f5
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentDefinitions_Get.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "catalogName": "myCatalog",
+ "definitionName": "foo"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/environmentDefinitions/foo",
+ "id": "/projects/myProject/catalogs/myCatalog/environmentDefinitions/foo",
+ "name": "foo",
+ "catalogName": "myCatalog",
+ "description": "This environment definition is just for example purposes.",
+ "parameters": [
+ {
+ "id": "functionAppRuntime",
+ "name": "Function App Runtime",
+ "type": "string",
+ "required": true,
+ "default": "dotnet",
+ "allowed": [
+ "node",
+ "dotnet",
+ "java"
+ ]
+ },
+ {
+ "id": "storageAccountType",
+ "name": "Storage Account Type",
+ "type": "string",
+ "required": true,
+ "default": "Standard_LRS",
+ "allowed": [
+ "Standard_LRS",
+ "Standard_GRS",
+ "Standard_RAGRS"
+ ]
+ },
+ {
+ "id": "httpsOnly",
+ "name": "HTTPS only",
+ "type": "boolean",
+ "default": "true",
+ "readOnly": true,
+ "required": true
+ }
+ ],
+ "parametersSchema": "{\"type\":\"object\",\"properties\":{\"functionAppRuntime\":{\"$id\":\"functionAppRuntime\",\"value\":\"dotnet\",\"displayName\":\"Function App Runtime\",\"type\":\"string\",\"enum\":[\"node\",\"dotnet\",\"java\"]},\"storageAccountType\":{\"$id\":\"storageAccountType\",\"value\":\"Standard_LRS\",\"displayName\":\"Storage Account Type\",\"type\":\"string\",\"enum\":[\"Standard_LRS\",\"Standard_GRS\",\"Standard_RAGRS\"]},\"httpsOnly\":{\"$id\":\"httpsOnly\",\"value\":true,\"displayName\":\"HTTPS only\",\"type\":\"boolean\"}},\"required\":[\"functionAppRuntime\",\"storageAccountType\"]}",
+ "templatePath": "azuredeploy.json"
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentDefinitions_ListByCatalog.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentDefinitions_ListByCatalog.json
new file mode 100644
index 000000000000..32c11d397bce
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentDefinitions_ListByCatalog.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "catalogName": "myCatalog"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/environmentDefinitions/foo",
+ "id": "/projects/myProject/catalogs/myCatalog/environmentDefinitions/foo",
+ "name": "foo",
+ "catalogName": "myCatalog",
+ "description": "This environment definition is just for example purposes.",
+ "parameters": [
+ {
+ "id": "functionAppRuntime",
+ "name": "Function App Runtime",
+ "type": "string",
+ "required": true,
+ "default": "dotnet",
+ "allowed": [
+ "node",
+ "dotnet",
+ "java"
+ ]
+ },
+ {
+ "id": "storageAccountType",
+ "name": "Storage Account Type",
+ "type": "string",
+ "required": true,
+ "default": "Standard_LRS",
+ "allowed": [
+ "Standard_LRS",
+ "Standard_GRS",
+ "Standard_RAGRS"
+ ]
+ },
+ {
+ "id": "httpsOnly",
+ "name": "HTTPS only",
+ "type": "boolean",
+ "default": "true",
+ "readOnly": true,
+ "required": true
+ }
+ ],
+ "parametersSchema": "{\"type\":\"object\",\"properties\":{\"functionAppRuntime\":{\"$id\":\"functionAppRuntime\",\"value\":\"dotnet\",\"displayName\":\"Function App Runtime\",\"type\":\"string\",\"enum\":[\"node\",\"dotnet\",\"java\"]},\"storageAccountType\":{\"$id\":\"storageAccountType\",\"value\":\"Standard_LRS\",\"displayName\":\"Storage Account Type\",\"type\":\"string\",\"enum\":[\"Standard_LRS\",\"Standard_GRS\",\"Standard_RAGRS\"]},\"httpsOnly\":{\"$id\":\"httpsOnly\",\"value\":true,\"displayName\":\"HTTPS only\",\"type\":\"boolean\"}},\"required\":[\"functionAppRuntime\",\"storageAccountType\"]}",
+ "templatePath": "azuredeploy.json"
+ },
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/environmentDefinitions/bar",
+ "id": "/projects/myProject/catalogs/myCatalog/environmentDefinitions/bar",
+ "name": "bar",
+ "catalogName": "myCatalog",
+ "description": "This environment definition is just for example purposes.",
+ "templatePath": "azuredeploy.json"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentDefinitions_ListByProject.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentDefinitions_ListByProject.json
new file mode 100644
index 000000000000..d30d7aaa5776
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentDefinitions_ListByProject.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/environmentDefinitions/foo",
+ "id": "/projects/myProject/catalogs/myCatalog/environmentDefinitions/foo",
+ "name": "foo",
+ "catalogName": "myCatalog",
+ "description": "This environment definition is just for example purposes.",
+ "parameters": [
+ {
+ "id": "functionAppRuntime",
+ "name": "Function App Runtime",
+ "type": "string",
+ "required": true,
+ "default": "dotnet",
+ "allowed": [
+ "node",
+ "dotnet",
+ "java"
+ ]
+ },
+ {
+ "id": "storageAccountType",
+ "name": "Storage Account Type",
+ "type": "string",
+ "required": true,
+ "default": "Standard_LRS",
+ "allowed": [
+ "Standard_LRS",
+ "Standard_GRS",
+ "Standard_RAGRS"
+ ]
+ },
+ {
+ "id": "httpsOnly",
+ "name": "HTTPS only",
+ "type": "boolean",
+ "default": "true",
+ "readOnly": true,
+ "required": true
+ }
+ ],
+ "parametersSchema": "{\"type\":\"object\",\"properties\":{\"functionAppRuntime\":{\"$id\":\"functionAppRuntime\",\"value\":\"dotnet\",\"displayName\":\"Function App Runtime\",\"type\":\"string\",\"enum\":[\"node\",\"dotnet\",\"java\"]},\"storageAccountType\":{\"$id\":\"storageAccountType\",\"value\":\"Standard_LRS\",\"displayName\":\"Storage Account Type\",\"type\":\"string\",\"enum\":[\"Standard_LRS\",\"Standard_GRS\",\"Standard_RAGRS\"]},\"httpsOnly\":{\"$id\":\"httpsOnly\",\"value\":true,\"displayName\":\"HTTPS only\",\"type\":\"boolean\"}},\"required\":[\"functionAppRuntime\",\"storageAccountType\"]}",
+ "templatePath": "azuredeploy.json"
+ },
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/environmentDefinitions/bar",
+ "id": "/projects/myProject/catalogs/myOtherCatalog/environmentDefinitions/bar",
+ "name": "bar",
+ "catalogName": "myOtherCatalog",
+ "description": "This environment definition is just for example purposes.",
+ "templatePath": "azuredeploy.json"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentOperations_GetByEnvironment.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentOperations_GetByEnvironment.json
new file mode 100644
index 000000000000..b9251c494008
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentOperations_GetByEnvironment.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "environmentName": "myEnvironment",
+ "operationId": "f5dbdfab-fa0e-4831-8d13-25359aa5e680"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/environments/myEnvironment/operations/f5dbdfab-fa0e-4831-8d13-25359aa5e680",
+ "operationId": "f5dbdfab-fa0e-4831-8d13-25359aa5e680",
+ "status": "Succeeded",
+ "kind": "Deploy",
+ "environmentParameters": {
+ "paramA": "valueA",
+ "paramB": "valueB"
+ },
+ "createdByObjectId": "cf849cb0-3a05-4059-84b4-40c16abb1e93",
+ "startTime": "2022-09-06T16:58:51.7229492+00:00",
+ "endTime": "2022-09-06T16:59:51.7229492+00:00"
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentOperations_GetLogs.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentOperations_GetLogs.json
new file mode 100644
index 000000000000..8b68de163716
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentOperations_GetLogs.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "environmentName": "myEnvironment",
+ "operationId": "f5dbdfab-fa0e-4831-8d13-25359aa5e680"
+ },
+ "responses": {
+ "200": {
+ "body": "{file}"
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentOperations_ListByEnvironment.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentOperations_ListByEnvironment.json
new file mode 100644
index 000000000000..c67515c01f40
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentOperations_ListByEnvironment.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "environmentName": "myEnvironment"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/environments/myEnvironment/operations/f5dbdfab-fa0e-4831-8d13-25359aa5e680",
+ "operationId": "f5dbdfab-fa0e-4831-8d13-25359aa5e680",
+ "status": "Succeeded",
+ "kind": "Deploy",
+ "environmentParameters": {
+ "paramA": "valueA",
+ "paramB": "valueB"
+ },
+ "createdByObjectId": "cf849cb0-3a05-4059-84b4-40c16abb1e93",
+ "startTime": "2022-09-06T16:58:51.7229492+00:00",
+ "endTime": "2022-09-06T16:59:51.7229492+00:00"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentTypes_ListByProject.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentTypes_ListByProject.json
new file mode 100644
index 000000000000..fa646088c9d0
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/EnvironmentTypes_ListByProject.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/environmentTypes/devtestenv",
+ "name": "devtestenv",
+ "status": "Enabled",
+ "deploymentTargetId": "/subscriptions/00000000-0000-0000-0000-000000000000",
+ "displayName": "DevTestEnvironment"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Environments_CreateByEnvironmentDefinition.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Environments_CreateByEnvironmentDefinition.json
new file mode 100644
index 000000000000..37e18a829d04
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Environments_CreateByEnvironmentDefinition.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "environmentName": "mydevenv",
+ "userId": "me",
+ "body": {
+ "environmentType": "DevTest",
+ "catalogName": "main",
+ "environmentDefinitionName": "helloworld",
+ "parameters": {
+ "functionAppRuntime": "node",
+ "storageAccountType": "Standard_LRS"
+ },
+ "expirationDate": "2023-09-10T17:00:00Z"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0",
+ "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0"
+ },
+ "body": {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/environments/mydevenv",
+ "name": "mydevenv",
+ "environmentType": "DevTest",
+ "catalogName": "main",
+ "environmentDefinitionName": "helloworld",
+ "parameters": {
+ "functionAppRuntime": "node",
+ "storageAccountType": "Standard_LRS"
+ },
+ "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98",
+ "provisioningState": "Creating",
+ "expirationDate": "2023-09-10T17:00:00Z"
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Environments_Delete.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Environments_Delete.json
new file mode 100644
index 000000000000..3653bd0e5701
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Environments_Delete.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "environmentName": "mydevenv"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0",
+ "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0"
+ },
+ "body": {
+ "id": "/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0",
+ "name": "786a823c-8037-48ab-89b8-8599901e67d0",
+ "status": "Running",
+ "startTime": "2023-02-01T12:43:54.122Z"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Environments_Get.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Environments_Get.json
new file mode 100644
index 000000000000..6d9da2a0a3dd
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Environments_Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "environmentName": "mydevenv"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/environments/mydevenv",
+ "name": "mydevenv",
+ "environmentType": "DevTest",
+ "catalogName": "main",
+ "environmentDefinitionName": "helloworld",
+ "parameters": {
+ "functionAppRuntime": "node",
+ "storageAccountType": "Standard_LRS"
+ },
+ "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98",
+ "provisioningState": "Succeeded",
+ "resourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg028321",
+ "expirationDate": "2023-09-10T17:00:00Z"
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Environments_GetOutputs.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Environments_GetOutputs.json
new file mode 100644
index 000000000000..bdd9a1910544
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Environments_GetOutputs.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me",
+ "environmentName": "mydevenv"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "outputs": {
+ "stringOutput": {
+ "type": "string",
+ "value": "Output1 value",
+ "sensitive": false
+ },
+ "arrayOutput": {
+ "type": "array",
+ "value": [
+ 1,
+ 2,
+ 3
+ ],
+ "sensitive": false
+ },
+ "boolOutput": {
+ "type": "bool",
+ "value": true,
+ "sensitive": false
+ },
+ "intOutput": {
+ "type": "int",
+ "value": 1,
+ "sensitive": false
+ },
+ "objectOutput": {
+ "type": "object",
+ "value": {
+ "name": "name",
+ "id": "id"
+ },
+ "sensitive": false
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Environments_ListByProject.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Environments_ListByProject.json
new file mode 100644
index 000000000000..b5839ad8e02b
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Environments_ListByProject.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/environments/mydevenv",
+ "name": "mydevenv",
+ "environmentType": "DevTest",
+ "catalogName": "main",
+ "environmentDefinitionName": "helloworld",
+ "parameters": {
+ "functionAppRuntime": "node",
+ "storageAccountType": "Standard_LRS"
+ },
+ "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98",
+ "provisioningState": "Succeeded",
+ "resourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg028321",
+ "expirationDate": "2023-09-10T17:00:00Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Environments_ListByProjectByUser.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Environments_ListByProjectByUser.json
new file mode 100644
index 000000000000..b800e15d636d
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Environments_ListByProjectByUser.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "userId": "me"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/environments/mydevenv",
+ "name": "mydevenv",
+ "environmentType": "DevTest",
+ "catalogName": "main",
+ "environmentDefinitionName": "helloworld",
+ "parameters": {
+ "functionAppRuntime": "node",
+ "storageAccountType": "Standard_LRS"
+ },
+ "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98",
+ "provisioningState": "Succeeded",
+ "resourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg028321",
+ "expirationDate": "2023-09-10T17:00:00Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Environments_Patch.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Environments_Patch.json
new file mode 100644
index 000000000000..e360b30005a0
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Environments_Patch.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "environmentName": "mydevenv",
+ "userId": "me",
+ "body": {
+ "environmentType": "DevTest",
+ "catalogName": "main",
+ "environmentDefinitionName": "helloworld",
+ "expirationDate": "2023-09-10T17:00:00Z"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/users/cf849cb0-3a05-4059-84b4-40c16abb1e93/environments/mydevenv",
+ "name": "mydevenv",
+ "environmentType": "DevTest",
+ "catalogName": "main",
+ "environmentDefinitionName": "helloworld",
+ "parameters": {
+ "functionAppRuntime": "node",
+ "storageAccountType": "Standard_LRS"
+ },
+ "user": "b08e39b4-2ac6-4465-a35e-48322efb0f98",
+ "provisioningState": "Succeeded",
+ "expirationDate": "2023-09-10T17:00:00Z"
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Pools_Get.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Pools_Get.json
new file mode 100644
index 000000000000..514faa91c37d
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Pools_Get.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "api-version": "2023-10-01-preview",
+ "poolName": "DevPool"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/LargeDevWorkStationPool",
+ "name": "LargeDevWorkStationPool",
+ "location": "centralus",
+ "osType": "Windows",
+ "hardwareProfile": {
+ "vCPUs": 8,
+ "memoryGB": 32
+ },
+ "storageProfile": {
+ "osDisk": {
+ "diskSizeGB": 1024
+ }
+ },
+ "hibernateSupport": "Enabled",
+ "imageReference": {
+ "name": "DevImage",
+ "version": "1.0.0",
+ "publishedDate": "2022-03-01T00:13:23.323Z"
+ },
+ "stopOnDisconnect": {
+ "status": "Enabled",
+ "gracePeriodMinutes": 60
+ },
+ "healthStatus": "Healthy",
+ "displayName": "LargePool"
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Pools_List.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Pools_List.json
new file mode 100644
index 000000000000..5e830abeab01
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Pools_List.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "api-version": "2023-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/LargeDevWorkStationPool",
+ "name": "LargeDevWorkStationPool",
+ "location": "centralus",
+ "osType": "Windows",
+ "hardwareProfile": {
+ "vCPUs": 8,
+ "memoryGB": 32
+ },
+ "storageProfile": {
+ "osDisk": {
+ "diskSizeGB": 1024
+ }
+ },
+ "hibernateSupport": "Enabled",
+ "imageReference": {
+ "name": "DevImage",
+ "version": "1.0.0",
+ "publishedDate": "2022-03-01T00:13:23.323Z"
+ },
+ "stopOnDisconnect": {
+ "status": "Enabled",
+ "gracePeriodMinutes": 60
+ },
+ "healthStatus": "Healthy",
+ "displayName": "LargePool"
+ },
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/SQLDevelopmentMachinePool",
+ "name": "SQLDevelopmentMachinePool",
+ "location": "southcentralus",
+ "osType": "Windows",
+ "hardwareProfile": {
+ "vCPUs": 16,
+ "memoryGB": 128
+ },
+ "storageProfile": {
+ "osDisk": {
+ "diskSizeGB": 1024
+ }
+ },
+ "hibernateSupport": "Enabled",
+ "imageReference": {
+ "name": "SqlDevImage",
+ "version": "1.0.0",
+ "publishedDate": "2022-03-01T00:13:23.323Z"
+ },
+ "stopOnDisconnect": {
+ "status": "Enabled",
+ "gracePeriodMinutes": 60
+ },
+ "healthStatus": "Healthy",
+ "displayName": "SQLPool"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Projects_Get.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Projects_Get.json
new file mode 100644
index 000000000000..89ab04c050d0
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Projects_Get.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/DevDiv",
+ "name": "DevDiv",
+ "description": "The developer division",
+ "displayName": "DeveloperDivision"
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Projects_GetCustomizationTaskDefinition.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Projects_GetCustomizationTaskDefinition.json
new file mode 100644
index 000000000000..12db097f2dc5
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Projects_GetCustomizationTaskDefinition.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "api-version": "2023-10-01-preview",
+ "catalogName": "myCatalog",
+ "taskName": "choco"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myCatalog/choco",
+ "catalogName": "myCatalog",
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/customizationtasks/choco",
+ "description": "Install a package via chocolatey",
+ "parameters": {
+ "package": {
+ "description": "The package to install",
+ "type": "string",
+ "required": true
+ },
+ "version": {
+ "description": "The version of the package",
+ "type": "string",
+ "default": "latest"
+ },
+ "retryOnFail": {
+ "type": "boolean"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Projects_ListByDevCenter.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Projects_ListByDevCenter.json
new file mode 100644
index 000000000000..4eb38186088f
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Projects_ListByDevCenter.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject",
+ "name": "DevDiv",
+ "description": "The developer division",
+ "displayName": "DeveloperDivision"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Projects_ListCustomizationTaskDefinitions.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Projects_ListCustomizationTaskDefinitions.json
new file mode 100644
index 000000000000..7b32f9d255df
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Projects_ListCustomizationTaskDefinitions.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "api-version": "2023-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "myCatalog/choco",
+ "catalogName": "myCatalog",
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/customizationtasks/choco",
+ "description": "Install a package via chocolatey",
+ "parameters": {
+ "package": {
+ "description": "The package to install",
+ "type": "string",
+ "required": true
+ },
+ "version": {
+ "description": "The version of the package",
+ "type": "string",
+ "default": "latest"
+ },
+ "retryOnFail": {
+ "type": "boolean"
+ }
+ }
+ },
+ {
+ "name": "myCatalog/powershell",
+ "catalogName": "myCatalog",
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/catalogs/myCatalog/customizationtasks/powershell",
+ "description": "Runs an arbitrary Powershell command",
+ "parameters": {
+ "command": {
+ "type": "string",
+ "required": true
+ },
+ "runAsAdmin": {
+ "type": "boolean"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Projects_ValidateCustomizationTasksFailure.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Projects_ValidateCustomizationTasksFailure.json
new file mode 100644
index 000000000000..220af6de9937
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Projects_ValidateCustomizationTasksFailure.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "body": {
+ "tasks": [
+ {
+ "name": "catalogName/choco",
+ "parameters": {
+ "packageName": "vscode",
+ "packageVersion": "1.0.0"
+ }
+ },
+ {
+ "name": "catalogName/write-to-file"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0",
+ "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0"
+ },
+ "body": {
+ "id": "/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0",
+ "name": "786a823c-8037-48ab-89b8-8599901e67d0",
+ "status": "Succeeded",
+ "startTime": "2023-02-01T12:43:54.122Z",
+ "result": {
+ "validationResult": "Failed",
+ "errors": [
+ {
+ "target": {
+ "name": "catalogName/write-to-file"
+ },
+ "details": [
+ {
+ "code": "TaskNotFound",
+ "message": "Could not find the referenced task catalogName/write-to-file."
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Projects_ValidateCustomizationTasksSuccess.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Projects_ValidateCustomizationTasksSuccess.json
new file mode 100644
index 000000000000..c48e21a0a0dd
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Projects_ValidateCustomizationTasksSuccess.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "body": {
+ "tasks": [
+ {
+ "name": "catalogName/choco",
+ "parameters": {
+ "packageName": "vscode",
+ "packageVersion": "1.0.0"
+ }
+ },
+ {
+ "name": "catalogName/write-to-disk"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0",
+ "Operation-Location": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0"
+ },
+ "body": {
+ "id": "/projects/myProject/operationstatuses/786a823c-8037-48ab-89b8-8599901e67d0",
+ "name": "786a823c-8037-48ab-89b8-8599901e67d0",
+ "status": "Succeeded",
+ "startTime": "2023-02-01T12:43:54.122Z",
+ "result": {
+ "validationResult": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Schedules_Get.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Schedules_Get.json
new file mode 100644
index 000000000000..3c6b375ba9d9
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Schedules_Get.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "api-version": "2023-10-01-preview",
+ "poolName": "DevPool",
+ "scheduleName": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/DevPool/schedules/default",
+ "name": "default",
+ "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/DevPool",
+ "sourceType": "Pool",
+ "type": "StopDevBox",
+ "timeZone": "America/Los_Angeles",
+ "frequency": "Daily",
+ "time": "17:30"
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Schedules_List.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Schedules_List.json
new file mode 100644
index 000000000000..5754e596269b
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Schedules_List.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "poolName": "DevPool",
+ "api-version": "2023-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/DevPool/schedules/default",
+ "name": "default",
+ "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/DevPool",
+ "sourceType": "Pool",
+ "type": "StopDevBox",
+ "timeZone": "America/Los_Angeles",
+ "frequency": "Daily",
+ "time": "17:30"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Schedules_ListByProject.json b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Schedules_ListByProject.json
new file mode 100644
index 000000000000..34d46f66543d
--- /dev/null
+++ b/specification/devcenter/data-plane/Microsoft.DevCenter/preview/2023-10-01-preview/examples/Schedules_ListByProject.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "endpoint": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/",
+ "projectName": "myProject",
+ "api-version": "2023-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "uri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/DevPool/schedules/default",
+ "name": "default",
+ "sourceUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/myProject/pools/DevPool",
+ "sourceType": "Pool",
+ "type": "StopDevBox",
+ "timeZone": "America/Los_Angeles",
+ "frequency": "Daily",
+ "time": "17:30"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/devcenter/data-plane/readme.md b/specification/devcenter/data-plane/readme.md
index 54488f1e9f7c..22adcddd87c2 100644
--- a/specification/devcenter/data-plane/readme.md
+++ b/specification/devcenter/data-plane/readme.md
@@ -27,10 +27,25 @@ These are the global settings for the devcenter.
``` yaml
openapi-type: data-plane
azure-arm: false
-tag: package-2023-09-01-preview
+tag: package-2023-10-01-preview
```
+### Tag: package-2023-10-01-preview
+
+These settings apply only when `--tag=package-2023-10-01-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2023-10-01-preview'
+input-file:
+ - Microsoft.DevCenter/preview/2023-10-01-preview/devbox.json
+ - Microsoft.DevCenter/preview/2023-10-01-preview/devcenter.json
+ - Microsoft.DevCenter/preview/2023-10-01-preview/environments.json
+
+directive:
+ - suppress: HostParametersValidation
+ reason: Requires URL format for endpoint params, which violates R2003 and causes problems with codegen
+```
+
### Tag: package-2023-09-01-preview
These settings apply only when `--tag=package-2023-09-01-preview` is specified on the command line.
diff --git a/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/GenerateAccessToken.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/GenerateAccessToken.json
new file mode 100644
index 000000000000..dbb2b89a600d
--- /dev/null
+++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/GenerateAccessToken.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "offerId": "0001-com-ubuntu-pro-jammy",
+ "resourceUri": "subscriptions/4bed37fd-19a1-4d31-8b44-40267555bec5/resourceGroups/edgemarketplace-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/edgemarketplace-demo",
+ "body": {
+ "deviceVersion": "1.0.18062.1",
+ "deviceSku": "edge",
+ "egeMarketPlaceResourceId": "testid",
+ "edgeMarketPlaceRegion": "EastUS2Euap",
+ "hypervGeneration": "V2",
+ "marketPlaceSku": "2022-datacenter-azure-edition-core",
+ "marketPlaceSkuVersion": "20348.1129.221007",
+ "publisherName": "ubuntu"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ },
+ "200": {
+ "body": {
+ "diskId": "abcd",
+ "status": "created",
+ "accessToken": "hidden"
+ }
+ }
+ }
+}
diff --git a/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/GetAccessToken.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/GetAccessToken.json
new file mode 100644
index 000000000000..c84ee8825d58
--- /dev/null
+++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/GetAccessToken.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "offerId": "0001-com-ubuntu-pro-jammy",
+ "resourceUri": "subscriptions/4bed37fd-19a1-4d31-8b44-40267555bec5/resourceGroups/edgemarketplace-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/edgemarketplace-demo",
+ "body": {
+ "requestId": "1.0.18062.1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "diskId": "abcd",
+ "status": "created",
+ "accessToken": "hidden"
+ }
+ }
+ }
+}
diff --git a/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/GetOffer.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/GetOffer.json
new file mode 100644
index 000000000000..ebacf180219c
--- /dev/null
+++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/GetOffer.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "offerId": "0001-com-ubuntu-pro-jammy",
+ "resourceUri": "subscriptions/4bed37fd-19a1-4d31-8b44-40267555bec5/resourceGroups/edgemarketplace-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/edgemarketplace-demo"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "contentVersion": "1.0",
+ "contentUrl": "test",
+ "provisioningState": "Succeeded",
+ "offerContent": {
+ "displayName": "Ubuntu Pro 22.04 LTS",
+ "summary": "Ubuntu Pro is providing additional coverage for production environments running in the cloud.",
+ "longSummary": "The official Ubuntu Linux, optimized for Azure with ten years of maintenance and additional security, compliance (e.g. FIPS, CIS, DISA) and management tools.",
+ "description": "
We strongly advise you to use the 'countrySet' parameter to specify only the countries for which your application needs coverage, as the default behavior will be to search the entire world, potentially returning unnecessary results.
E.g.: `countrySet`=US,FR
Please see [Search Coverage](https://docs.microsoft.com/azure/location-based-services/geocoding-coverage) for a complete list of all the supported countries.
Most Search queries default to `maxFuzzyLevel`=2 to gain performance and also reduce unusual results. This new default can be overridden as needed per request by passing in the query param `maxFuzzyLevel`=3 or 4.",
+ "description": "\n**Free Form Search**\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe basic default API is Free Form Search which handles the most fuzzy of inputs handling any combination of address or POI tokens. This search API is the canonical 'single line search'. The Free Form Search API is a seamless combination of POI search and geocoding. The API can also be weighted with a contextual position (lat./lon. pair), or fully constrained by a coordinate and radius, or it can be executed more generally without any geo biasing anchor point.
We strongly advise you to use the 'countrySet' parameter to specify only the countries for which your application needs coverage, as the default behavior will be to search the entire world, potentially returning unnecessary results.
E.g.: `countrySet`=US,FR
Please see [Search Coverage](https://learn.microsoft.com/azure/location-based-services/geocoding-coverage) for a complete list of all the supported countries.
Most Search queries default to `maxFuzzyLevel`=2 to gain performance and also reduce unusual results. This new default can be overridden as needed per request by passing in the query param `maxFuzzyLevel`=3 or 4.",
"operationId": "Search_GetSearchFuzzy",
"x-ms-client-name": "FuzzySearch",
"x-ms-examples": {
@@ -783,7 +783,7 @@
{
"name": "query",
"in": "query",
- "description": "The POI category to search for (e.g., \"AIRPORT\", \"RESTAURANT\"), must be properly URL encoded. Supported main categories can be requested by calling [Get Search POI Category Tree API](https://aka.ms/AzureMapsPOICategoryTree). List of available categories can also be found [here](https://docs.microsoft.com/azure/azure-maps/supported-search-categories). We recommend to use POI Search Category Tree API to request the supported categories.",
+ "description": "The POI category to search for (e.g., \"AIRPORT\", \"RESTAURANT\"), must be properly URL encoded. Supported main categories can be requested by calling [Get Search POI Category Tree API](https://aka.ms/AzureMapsPOICategoryTree). List of available categories can also be found [here](https://learn.microsoft.com/azure/azure-maps/supported-search-categories). We recommend to use POI Search Category Tree API to request the supported categories.",
"required": true,
"type": "string"
},
@@ -851,7 +851,7 @@
},
"/search/poi/category/tree/{format}": {
"get": {
- "description": "**Get POI Category Tree**\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nPOI Category API provides a full list of supported Points of Interest (POI) categories and subcategories together with their translations and synonyms. The returned content can be used to provide more meaningful results through other Search Service APIs, like [Get Search POI](https://docs.microsoft.com/rest/api/maps/search/getsearchpoi).",
+ "description": "**Get POI Category Tree**\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nPOI Category API provides a full list of supported Points of Interest (POI) categories and subcategories together with their translations and synonyms. The returned content can be used to provide more meaningful results through other Search Service APIs, like [Get Search POI](https://learn.microsoft.com/rest/api/maps/search/getsearchpoi).",
"operationId": "Search_GetSearchPOICategoryTree",
"x-ms-client-name": "GetPointOfInterestCategoryTree",
"x-ms-examples": {
@@ -872,7 +872,7 @@
{
"name": "language",
"in": "query",
- "description": "Language in which search results should be returned. Should be one of supported IETF language tags, except NGT and NGT-Latn. Language tag is case insensitive. When data in specified language is not available for a specific field, default language is used (English).\n\nPlease refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.",
+ "description": "Language in which search results should be returned. Should be one of supported IETF language tags, except NGT and NGT-Latn. Language tag is case insensitive. When data in specified language is not available for a specific field, default language is used (English).\n\nPlease refer to [Supported Languages](https://learn.microsoft.com/azure/azure-maps/supported-languages) for details.",
"type": "string"
}
],
@@ -1405,7 +1405,7 @@
},
"/search/fuzzy/batch/sync/{format}": {
"post": {
- "description": "**Search Fuzzy Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Batch API sends batches of queries to [Search Fuzzy API](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running operation. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
+ "description": "**Search Fuzzy Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Fuzzy Batch API sends batches of queries to [Search Fuzzy API](https://learn.microsoft.com/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running operation. Here's a typical sequence of operations:\n1. Client sends a Search Fuzzy Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://learn.microsoft.com/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://learn.microsoft.com/rest/api/maps/search/getsearchfuzzy#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
"operationId": "Search_PostSearchFuzzyBatchSync",
"x-ms-client-name": "FuzzySearchBatchSync",
"x-ms-examples": {
@@ -1456,7 +1456,7 @@
},
"/search/fuzzy/batch/{format}": {
"post": {
- "description": "**Search Fuzzy Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Batch API sends batches of queries to [Search Fuzzy API](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running operation. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
+ "description": "**Search Fuzzy Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Fuzzy Batch API sends batches of queries to [Search Fuzzy API](https://learn.microsoft.com/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running operation. Here's a typical sequence of operations:\n1. Client sends a Search Fuzzy Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://learn.microsoft.com/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchFuzzyResponse`](https://learn.microsoft.com/rest/api/maps/search/get-search-fuzzy?tabs=HTTP#searchaddressresult) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
"operationId": "Search_PostSearchFuzzyBatch",
"x-ms-client-name": "FuzzySearchBatch",
"x-ms-long-running-operation": true,
@@ -1505,7 +1505,7 @@
}
},
"get": {
- "description": "**Search Fuzzy Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Batch API sends batches of queries to [Search Fuzzy API](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running operation. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
+ "description": "**Search Fuzzy Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Fuzzy Batch API sends batches of queries to [Search Fuzzy API](https://learn.microsoft.com/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running operation. Here's a typical sequence of operations:\n1. Client sends a Search Fuzzy Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://learn.microsoft.com/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResult`](https://learn.microsoft.com/rest/api/maps/search/get-search-fuzzy?tabs=HTTP#searchaddressresult) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
"operationId": "Search_GetSearchFuzzyBatch",
"x-ms-client-name": "GetFuzzySearchBatch",
"x-ms-long-running-operation": true,
@@ -1546,7 +1546,7 @@
},
"/search/address/batch/sync/{format}": {
"post": {
- "description": "**Search Address Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running operation. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
+ "description": "**Search Address Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://learn.microsoft.com/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running operation. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://learn.microsoft.com/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://learn.microsoft.com/rest/api/maps/search/getsearchaddress#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
"operationId": "Search_PostSearchAddressBatchSync",
"x-ms-client-name": "SearchAddressBatchSync",
"x-ms-examples": {
@@ -1597,7 +1597,7 @@
},
"/search/address/batch/{format}": {
"post": {
- "description": "**Search Address Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running operation. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
+ "description": "**Search Address Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://learn.microsoft.com/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running operation. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://learn.microsoft.com/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://learn.microsoft.com/rest/api/maps/search/getsearchaddress#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
"operationId": "Search_PostSearchAddressBatch",
"x-ms-client-name": "SearchAddressBatch",
"x-ms-long-running-operation": true,
@@ -1646,7 +1646,7 @@
}
},
"get": {
- "description": "**Search Address Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running operation. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
+ "description": "**Search Address Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://learn.microsoft.com/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running operation. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://learn.microsoft.com/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://learn.microsoft.com/rest/api/maps/search/getsearchaddress#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
"operationId": "Search_GetSearchAddressBatch",
"x-ms-long-running-operation": true,
"x-ms-long-running-operation-options": {
@@ -1686,7 +1686,7 @@
},
"/search/address/reverse/batch/sync/{format}": {
"post": {
- "description": "**Search Address Reverse Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Batch API sends batches of queries to [Search Address Reverse API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running operation. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
+ "description": "**Search Address Reverse Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Reverse Batch API sends batches of queries to [Search Address Reverse API](https://learn.microsoft.com/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running operation. Here's a typical sequence of operations:\n1. Client sends a Search Address Reverse Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://learn.microsoft.com/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://learn.microsoft.com/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
"operationId": "Search_PostSearchAddressReverseBatchSync",
"x-ms-client-name": "ReverseSearchAddressBatchSync",
"x-ms-examples": {
@@ -1737,7 +1737,7 @@
},
"/search/address/reverse/batch/{format}": {
"post": {
- "description": "**Search Address Reverse Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Batch API sends batches of queries to [Search Address Reverse API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running operation. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
+ "description": "**Search Address Reverse Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Reverse Batch API sends batches of queries to [Search Address Reverse API](https://learn.microsoft.com/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running operation. Here's a typical sequence of operations:\n1. Client sends a Search Address Reverse Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://learn.microsoft.com/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://learn.microsoft.com/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
"operationId": "Search_PostSearchAddressReverseBatch",
"x-ms-client-name": "ReverseSearchAddressBatch",
"x-ms-long-running-operation": true,
@@ -1786,7 +1786,7 @@
}
},
"get": {
- "description": "**Search Address Reverse Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Batch API sends batches of queries to [Search Address Reverse API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running operation. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
+ "description": "**Search Address Reverse Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Reverse Batch API sends batches of queries to [Search Address Reverse API](https://learn.microsoft.com/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running operation. Here's a typical sequence of operations:\n1. Client sends a Search Address Reverse Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://learn.microsoft.com/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://learn.microsoft.com/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
"operationId": "Search_GetSearchAddressReverseBatch",
"x-ms-client-name": "GetReverseSearchAddressBatch",
"x-ms-long-running-operation": true,
@@ -2019,7 +2019,7 @@
"$ref": "#/definitions/AddressRanges"
},
"dataSources": {
- "description": "Optional section. Reference geometry id for use with the [Get Search Polygon](https://docs.microsoft.com/rest/api/maps/search/getsearchpolygon) API.",
+ "description": "Optional section. Reference geometry id for use with the [Get Search Polygon](https://learn.microsoft.com/rest/api/maps/search/getsearchpolygon) API.",
"type": "object",
"readOnly": true,
"$ref": "#/definitions/DataSources"
@@ -2055,7 +2055,7 @@
"type": "object",
"properties": {
"id": {
- "description": "Unique ID for the category. ID can be used to restrict search results to specific categories through other Search Service APIs, like [Get Search POI](https://docs.microsoft.com/rest/api/maps/search/getsearchpoi).",
+ "description": "Unique ID for the category. ID can be used to restrict search results to specific categories through other Search Service APIs, like [Get Search POI](https://learn.microsoft.com/rest/api/maps/search/getsearchpoi).",
"type": "integer",
"readOnly": true
},
@@ -2661,7 +2661,7 @@
},
"DataSources": {
"x-ms-client-name": "DataSource",
- "description": "Optional section. Reference ids for use with the [Get Search Polygon](https://docs.microsoft.com/rest/api/maps/search/getsearchpolygon) API.",
+ "description": "Optional section. Reference ids for use with the [Get Search Polygon](https://learn.microsoft.com/rest/api/maps/search/getsearchpolygon) API.",
"type": "object",
"readOnly": true,
"properties": {
@@ -2676,7 +2676,7 @@
"type": "object",
"properties": {
"id": {
- "description": "Pass this as geometryId to the [Get Search Polygon](https://docs.microsoft.com/rest/api/maps/search/getsearchpolygon) API to fetch geometry information for this result.",
+ "description": "Pass this as geometryId to the [Get Search Polygon](https://learn.microsoft.com/rest/api/maps/search/getsearchpolygon) API to fetch geometry information for this result.",
"type": "string",
"readOnly": true
}
diff --git a/specification/maps/data-plane/readme.md b/specification/maps/data-plane/readme.md
index d53a1f4008a1..9571733ce217 100644
--- a/specification/maps/data-plane/readme.md
+++ b/specification/maps/data-plane/readme.md
@@ -38,6 +38,10 @@ directive:
from: timezone.json
reason: It will break existing clients if we change the name
+ - suppress: LroExtension
+ from: search.json
+ where: $.paths["/providers/Microsoft.Subscription/subscriptionOperations/{operationId}"].get
+ reason: The reason for this suppression is the API is already released and introducing new LRO properties will not function and are not supported today and will only be developed for the next version of this API.
```
@@ -66,6 +70,7 @@ input-file:
- Microsoft.Maps/Weather/preview/1.0/weather.json
- Microsoft.Maps/WFS/preview/2.0/wfs.json
```
+
### Tag: package-1.0-preview
These settings apply only when `--tag=package-1.0-preview` is specified on the command line.
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/AccountListSAS.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/AccountListSAS.json
new file mode 100644
index 000000000000..bf1fc75e946e
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/AccountListSAS.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "MapsAccountSasParameters": {
+ "signingKey": "primaryKey",
+ "principalId": "e917f87b-324d-4728-98ed-e31d311a7d65",
+ "regions": [
+ "eastus"
+ ],
+ "maxRatePerSecond": 500,
+ "start": "2017-05-24T10:42:03.1567373Z",
+ "expiry": "2017-05-24T11:42:03.1567373Z"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "accountSasToken": "accountSasToken"
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/CreateAccount.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/CreateAccount.json
new file mode 100644
index 000000000000..ef3d71d16a34
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/CreateAccount.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "MapsAccount": {
+ "location": "eastus",
+ "sku": {
+ "name": "S0"
+ },
+ "kind": "Gen1",
+ "tags": {
+ "test": "true"
+ },
+ "properties": {
+ "disableLocalAuth": false,
+ "cors": {
+ "corsRules": [
+ {
+ "allowedOrigins": [
+ "http://www.contoso.com",
+ "http://www.fabrikam.com"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "kind": "Gen1",
+ "location": "eastus",
+ "tags": {
+ "test": "true"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": false,
+ "cors": {
+ "corsRules": [
+ {
+ "allowedOrigins": [
+ "http://www.contoso.com",
+ "http://www.fabrikam.com"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "kind": "Gen1",
+ "location": "eastus",
+ "tags": {
+ "test": "true"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": false,
+ "cors": {
+ "corsRules": [
+ {
+ "allowedOrigins": [
+ "http://www.contoso.com",
+ "http://www.fabrikam.com"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/CreateAccountEncryption.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/CreateAccountEncryption.json
new file mode 100644
index 000000000000..8331d696b0fc
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/CreateAccountEncryption.json
@@ -0,0 +1,127 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "MapsAccount": {
+ "location": "eastus",
+ "sku": {
+ "name": "G2"
+ },
+ "kind": "Gen2",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName": {}
+ }
+ },
+ "properties": {
+ "encryption": {
+ "customerManagedKeyEncryption": {
+ "keyEncryptionKeyIdentity": {
+ "identityType": "userAssignedIdentity",
+ "userAssignedIdentityResourceId": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName"
+ },
+ "keyEncryptionKeyUrl": "https://contosovault.vault.azure.net/keys/contosokek"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "kind": "Gen2",
+ "location": "eastus",
+ "tags": {
+ "test": "true"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "sku": {
+ "name": "G2",
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "principalId": "77f72dac-e0aa-484e-9acd-e5e7075310ef",
+ "tenantId": "06006684-60c1-4954-a20c-ffd8fbea7276",
+ "userAssignedIdentities": {
+ "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName": {
+ "clientId": "b602d315-01b5-4265-af23-859edc4f2431",
+ "principalId": "ac287332-364a-41d9-a567-9ad86b9fc299"
+ }
+ }
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "encryption": {
+ "customerManagedKeyEncryption": {
+ "keyEncryptionKeyIdentity": {
+ "identityType": "userAssignedIdentity",
+ "userAssignedIdentityResourceId": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName"
+ },
+ "keyEncryptionKeyUrl": "https://contosovault.vault.azure.net/keys/contosokek"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "kind": "Gen2",
+ "location": "eastus",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "sku": {
+ "name": "G2",
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "principalId": "77f72dac-e0aa-484e-9acd-e5e7075310ef",
+ "tenantId": "06006684-60c1-4954-a20c-ffd8fbea7276",
+ "userAssignedIdentities": {
+ "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName": {
+ "clientId": "b602d315-01b5-4265-af23-859edc4f2431",
+ "principalId": "ac287332-364a-41d9-a567-9ad86b9fc299"
+ }
+ }
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Updating",
+ "encryption": {
+ "customerManagedKeyEncryption": {
+ "keyEncryptionKeyIdentity": {
+ "identityType": "userAssignedIdentity",
+ "userAssignedIdentityResourceId": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName"
+ },
+ "keyEncryptionKeyUrl": "https://contosovault.vault.azure.net/keys/contosokek"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/CreateAccountGen2.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/CreateAccountGen2.json
new file mode 100644
index 000000000000..fb3139c969ce
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/CreateAccountGen2.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "MapsAccount": {
+ "location": "eastus",
+ "sku": {
+ "name": "G2"
+ },
+ "kind": "Gen2",
+ "tags": {
+ "test": "true"
+ },
+ "properties": {
+ "disableLocalAuth": true,
+ "cors": {
+ "corsRules": [
+ {
+ "allowedOrigins": [
+ "http://www.contoso.com",
+ "http://www.fabrikam.com"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "kind": "Gen2",
+ "location": "eastus",
+ "tags": {
+ "test": "true"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "sku": {
+ "name": "G2",
+ "tier": "Standard"
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": true,
+ "cors": {
+ "corsRules": [
+ {
+ "allowedOrigins": [
+ "http://www.contoso.com",
+ "http://www.fabrikam.com"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "kind": "Gen2",
+ "location": "eastus",
+ "tags": {
+ "test": "true"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "sku": {
+ "name": "G2",
+ "tier": "Standard"
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": true,
+ "cors": {
+ "corsRules": [
+ {
+ "allowedOrigins": [
+ "http://www.contoso.com",
+ "http://www.fabrikam.com"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/CreateAccountManagedIdentity.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/CreateAccountManagedIdentity.json
new file mode 100644
index 000000000000..ad728330b2c7
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/CreateAccountManagedIdentity.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "MapsAccount": {
+ "location": "eastus",
+ "sku": {
+ "name": "G2"
+ },
+ "kind": "Gen2",
+ "tags": {
+ "test": "true"
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName": {}
+ }
+ },
+ "properties": {
+ "disableLocalAuth": false,
+ "linkedResources": [
+ {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/mystorageacc",
+ "uniqueName": "myBatchStorageAccount"
+ },
+ {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/mystorageacc",
+ "uniqueName": "myBlobDataSource"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "kind": "Gen2",
+ "location": "eastus",
+ "tags": {
+ "test": "true"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "sku": {
+ "name": "G2",
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "principalId": "77f72dac-e0aa-484e-9acd-e5e7075310ef",
+ "tenantId": "06006684-60c1-4954-a20c-ffd8fbea7276",
+ "userAssignedIdentities": {
+ "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName": {
+ "clientId": "b602d315-01b5-4265-af23-859edc4f2431",
+ "principalId": "ac287332-364a-41d9-a567-9ad86b9fc299"
+ }
+ }
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": true,
+ "linkedResources": [
+ {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/mystorageacc",
+ "uniqueName": "myBatchStorageAccount"
+ },
+ {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/mystorageacc",
+ "uniqueName": "myBlobDataSource"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "kind": "Gen2",
+ "location": "eastus",
+ "tags": {
+ "test": "true"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "sku": {
+ "name": "G2",
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "principalId": "77f72dac-e0aa-484e-9acd-e5e7075310ef",
+ "tenantId": "06006684-60c1-4954-a20c-ffd8fbea7276",
+ "userAssignedIdentities": {
+ "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName": {
+ "clientId": "b602d315-01b5-4265-af23-859edc4f2431",
+ "principalId": "ac287332-364a-41d9-a567-9ad86b9fc299"
+ }
+ }
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": true,
+ "linkedResources": [
+ {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/mystorageacc",
+ "uniqueName": "myBatchStorageAccount"
+ },
+ {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/mystorageacc",
+ "uniqueName": "myBlobDataSource"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/CreateMapsCreator.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/CreateMapsCreator.json
new file mode 100644
index 000000000000..24949b1ecf95
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/CreateMapsCreator.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "creatorName": "myCreator",
+ "CreatorResource": {
+ "location": "eastus2",
+ "tags": {
+ "test": "true"
+ },
+ "properties": {
+ "storageUnits": 5
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount/creators/myCreator",
+ "name": "myCreator",
+ "type": "Microsoft.Maps/accounts/creators",
+ "location": "eastus2",
+ "tags": {
+ "test": "true"
+ },
+ "systemData": null,
+ "properties": {
+ "provisioningState": "Created",
+ "storageUnits": 5,
+ "totalStorageUnitSizeInBytes": 524288000,
+ "consumedStorageUnitSizeInBytes": 0
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount/creators/myCreator",
+ "name": "myCreator",
+ "type": "Microsoft.Maps/accounts/creators",
+ "location": "eastus2",
+ "tags": {
+ "test": "true"
+ },
+ "systemData": null,
+ "properties": {
+ "provisioningState": "Created",
+ "storageUnits": 5,
+ "totalStorageUnitSizeInBytes": 524288000,
+ "consumedStorageUnitSizeInBytes": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/DeleteAccount.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/DeleteAccount.json
new file mode 100644
index 000000000000..f5f43393ca16
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/DeleteAccount.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/DeleteMapsCreator.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/DeleteMapsCreator.json
new file mode 100644
index 000000000000..e4e9f7bda85c
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/DeleteMapsCreator.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "creatorName": "myCreator"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/GetAccount.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/GetAccount.json
new file mode 100644
index 000000000000..25af39ec71ff
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/GetAccount.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "location": "eastus",
+ "kind": "Gen1",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "tags": {
+ "test": "true"
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "properties": {
+ "uniqueId": "string",
+ "disableLocalAuth": false,
+ "provisioningState": "Succeeded",
+ "linkedResources": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/GetMapsCreator.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/GetMapsCreator.json
new file mode 100644
index 000000000000..72842dd66182
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/GetMapsCreator.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "creatorName": "myCreator"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount/creators/myCreator",
+ "name": "myCreator",
+ "type": "Microsoft.Maps/accounts/creators",
+ "location": "eastus2",
+ "tags": {
+ "test": "true"
+ },
+ "systemData": null,
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageUnits": 5,
+ "totalStorageUnitSizeInBytes": 524288000,
+ "consumedStorageUnitSizeInBytes": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/GetOperations.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/GetOperations.json
new file mode 100644
index 000000000000..cdf70fba61a0
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/GetOperations.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Maps/register/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "Register the provider",
+ "description": "Register the provider"
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "Create or update a Maps Account.",
+ "description": "Create or update a Maps Account."
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "Get a Maps Account.",
+ "description": "Get a Maps Account."
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "Delete a Maps Account.",
+ "description": "Delete a Maps Account."
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/listKeys/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "List keys",
+ "description": "List Maps Account keys"
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/regenerateKey/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "Generate new primary or secondary key",
+ "description": "Generate new Maps Account primary or secondary key"
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/creators/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Creator",
+ "operation": "Create or update a Maps Creator.",
+ "description": "Create or update a Maps Creator."
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/creators/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Creator",
+ "operation": "Get a Maps Creator.",
+ "description": "Get a Maps Creator."
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/creators/delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Creator",
+ "operation": "Delete a Maps Creator.",
+ "description": "Delete a Maps Creator."
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/GetOperationsSubscription.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/GetOperationsSubscription.json
new file mode 100644
index 000000000000..87071cdc0338
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/GetOperationsSubscription.json
@@ -0,0 +1,105 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Maps/register/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "Register the provider",
+ "description": "Register the provider"
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "Create or update a Maps Account.",
+ "description": "Create or update a Maps Account."
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "Get a Maps Account.",
+ "description": "Get a Maps Account."
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "Delete a Maps Account.",
+ "description": "Delete a Maps Account."
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/listKeys/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "List keys",
+ "description": "List Maps Account keys"
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/regenerateKey/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "Generate new primary or secondary key",
+ "description": "Generate new Maps Account primary or secondary key"
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/creators/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Creator",
+ "operation": "Create or update a Maps Creator.",
+ "description": "Create or update a Maps Creator."
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/creators/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Creator",
+ "operation": "Get a Maps Creator.",
+ "description": "Get a Maps Creator."
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/creators/delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Creator",
+ "operation": "Delete a Maps Creator.",
+ "description": "Delete a Maps Creator."
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/ListAccountsByResourceGroup.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/ListAccountsByResourceGroup.json
new file mode 100644
index 000000000000..2171c3b6b5b2
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/ListAccountsByResourceGroup.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount2",
+ "name": "myMapsAccount2",
+ "type": "Microsoft.Maps/accounts",
+ "location": "eastus",
+ "kind": "Gen1",
+ "tags": {
+ "test": "true"
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": false
+ }
+ },
+ {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "location": "eastus",
+ "kind": "Gen2",
+ "tags": {
+ "test": "true"
+ },
+ "sku": {
+ "name": "G2",
+ "tier": "Standard"
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c592",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": true
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/ListAccountsBySubscription.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/ListAccountsBySubscription.json
new file mode 100644
index 000000000000..49c34a063fbe
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/ListAccountsBySubscription.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount2",
+ "name": "myMapsAccount2",
+ "type": "Microsoft.Maps/accounts",
+ "location": "eastus",
+ "kind": "Gen1",
+ "tags": {
+ "test": "true"
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": false
+ }
+ },
+ {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "location": "eastus",
+ "kind": "Gen2",
+ "tags": {
+ "test": "true"
+ },
+ "sku": {
+ "name": "G2",
+ "tier": "Standard"
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c592",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": true
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/ListKeys.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/ListKeys.json
new file mode 100644
index 000000000000..7212b834b430
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/ListKeys.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "",
+ "primaryKeyLastUpdated": "2021-07-02T01:01:01.1075056Z",
+ "secondaryKey": "",
+ "secondaryKeyLastUpdated": "2021-07-02T01:01:01.1075056Z"
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/ListMapsCreatorsByAccount.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/ListMapsCreatorsByAccount.json
new file mode 100644
index 000000000000..fdfc2f063e9d
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/ListMapsCreatorsByAccount.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount/creators/myCreator",
+ "name": "myCreator",
+ "type": "Microsoft.Maps/accounts/creators",
+ "location": "eastus2",
+ "tags": {
+ "test": "true"
+ },
+ "systemData": null,
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageUnits": 5,
+ "totalStorageUnitSizeInBytes": 524288000,
+ "consumedStorageUnitSizeInBytes": 0
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/RegenerateKey.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/RegenerateKey.json
new file mode 100644
index 000000000000..9fa65d18ad68
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/RegenerateKey.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "keySpecification": {
+ "keyType": "primary"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "",
+ "primaryKeyLastUpdated": "2021-07-02T01:01:01.1075056Z",
+ "secondaryKey": "",
+ "secondaryKeyLastUpdated": "2021-07-02T01:01:01.1075056Z"
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/UpdateAccount.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/UpdateAccount.json
new file mode 100644
index 000000000000..0f6ace121aa5
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/UpdateAccount.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "MapsAccountUpdateParameters": {
+ "tags": {
+ "specialTag": "true"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "location": "eastus",
+ "kind": "Gen1",
+ "tags": {
+ "specialTag": "true"
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/UpdateAccountEncryption.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/UpdateAccountEncryption.json
new file mode 100644
index 000000000000..080070ba54c5
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/UpdateAccountEncryption.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "MapsAccountUpdateParameters": {
+ "identity": {
+ "type": "SystemAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName": null
+ }
+ },
+ "properties": {
+ "encryption": {
+ "customerManagedKeyEncryption": {
+ "keyEncryptionKeyIdentity": {
+ "identityType": "systemAssignedIdentity",
+ "userAssignedIdentityResourceId": null
+ },
+ "keyEncryptionKeyUrl": "https://contosovault.vault.azure.net/keys/contosokek"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "location": "eastus",
+ "kind": "Gen2",
+ "sku": {
+ "name": "G2",
+ "tier": "Standard"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "77f72dac-e0aa-484e-9acd-e5e7075310ef",
+ "tenantId": "06006684-60c1-4954-a20c-ffd8fbea7276",
+ "userAssignedIdentities": {
+ "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName": {
+ "clientId": "b602d315-01b5-4265-af23-859edc4f2431",
+ "principalId": "ac287332-364a-41d9-a567-9ad86b9fc299"
+ }
+ }
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Updating",
+ "encryption": {
+ "customerManagedKeyEncryption": {
+ "keyEncryptionKeyIdentity": {
+ "identityType": "systemAssignedIdentity"
+ },
+ "keyEncryptionKeyUrl": "https://contosovault.vault.azure.net/keys/contosokek"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/UpdateAccountGen1.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/UpdateAccountGen1.json
new file mode 100644
index 000000000000..16b3fc45bca4
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/UpdateAccountGen1.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "MapsAccountUpdateParameters": {
+ "kind": "Gen1",
+ "sku": {
+ "name": "S1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "location": "eastus",
+ "kind": "Gen1",
+ "sku": {
+ "name": "S1",
+ "tier": "Standard"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": false,
+ "linkedResources": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/UpdateAccountGen2.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/UpdateAccountGen2.json
new file mode 100644
index 000000000000..28bb3d0ede24
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/UpdateAccountGen2.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "MapsAccountUpdateParameters": {
+ "kind": "Gen2",
+ "sku": {
+ "name": "G2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "location": "eastus",
+ "kind": "Gen2",
+ "sku": {
+ "name": "G2",
+ "tier": "Standard"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": false,
+ "linkedResources": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/UpdateAccountManagedIdentity.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/UpdateAccountManagedIdentity.json
new file mode 100644
index 000000000000..ee22bc45dfdb
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/UpdateAccountManagedIdentity.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "MapsAccountUpdateParameters": {
+ "kind": "Gen2",
+ "sku": {
+ "name": "G2"
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName": {}
+ }
+ },
+ "properties": {
+ "linkedResources": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/accounts/{storageName}",
+ "uniqueName": "myBatchStorageAccount"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "location": "eastus",
+ "kind": "Gen2",
+ "sku": {
+ "name": "G2",
+ "tier": "Standard"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "principalId": "77f72dac-e0aa-484e-9acd-e5e7075310ef",
+ "tenantId": "06006684-60c1-4954-a20c-ffd8fbea7276",
+ "userAssignedIdentities": {
+ "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName": {
+ "clientId": "b602d315-01b5-4265-af23-859edc4f2431",
+ "principalId": "ac287332-364a-41d9-a567-9ad86b9fc299"
+ }
+ }
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": false,
+ "linkedResources": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/accounts/{storageName}",
+ "uniqueName": "myBatchStorageAccount"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/UpdateMapsCreator.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/UpdateMapsCreator.json
new file mode 100644
index 000000000000..b8c6423e4e2b
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/examples/UpdateMapsCreator.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "creatorName": "myCreator",
+ "CreatorUpdateParameters": {
+ "tags": {
+ "specialTag": "true"
+ },
+ "properties": {
+ "storageUnits": 10
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount/creators/myCreator",
+ "name": "myCreator",
+ "type": "Microsoft.Maps/accounts/creators",
+ "location": "eastus2",
+ "tags": {
+ "specialTag": "true"
+ },
+ "systemData": null,
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageUnits": 10,
+ "totalStorageUnitSizeInBytes": 1048576000,
+ "consumedStorageUnitSizeInBytes": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/maps-management.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/maps-management.json
new file mode 100644
index 000000000000..cf5b8f90ce0d
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2023-08-01-preview/maps-management.json
@@ -0,0 +1,1423 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Maps Resource Provider",
+ "description": "Resource Provider",
+ "version": "2023-08-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}": {
+ "put": {
+ "tags": [
+ "Accounts"
+ ],
+ "description": "Create or update a Maps Account. A Maps Account holds the keys which allow access to the Maps REST APIs.",
+ "operationId": "Accounts_CreateOrUpdate",
+ "x-ms-examples": {
+ "Create Gen1 Account": {
+ "$ref": "./examples/CreateAccount.json"
+ },
+ "Create Gen2 Account": {
+ "$ref": "./examples/CreateAccountGen2.json"
+ },
+ "Create Account with Managed Identities": {
+ "$ref": "./examples/CreateAccountManagedIdentity.json"
+ },
+ "Create Account with Encryption": {
+ "$ref": "./examples/CreateAccountEncryption.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "MapsAccount",
+ "in": "body",
+ "description": "The new or updated parameters for the Maps Account.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MapsAccount"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Account was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/MapsAccount"
+ }
+ },
+ "201": {
+ "description": "The Account was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/MapsAccount"
+ }
+ },
+ "default": {
+ "description": "An error occurred during creating or updating the Account.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Accounts"
+ ],
+ "description": "Updates a Maps Account. Only a subset of the parameters may be updated after creation, such as Sku, Tags, Properties.",
+ "operationId": "Accounts_Update",
+ "x-ms-examples": {
+ "Update Account Tags": {
+ "$ref": "./examples/UpdateAccount.json"
+ },
+ "Update to Gen2 Account": {
+ "$ref": "./examples/UpdateAccountGen2.json"
+ },
+ "Update to Gen1 Account": {
+ "$ref": "./examples/UpdateAccountGen1.json"
+ },
+ "Update Account Managed Identities": {
+ "$ref": "./examples/UpdateAccountManagedIdentity.json"
+ },
+ "Update Account Encryption": {
+ "$ref": "./examples/UpdateAccountEncryption.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "MapsAccountUpdateParameters",
+ "in": "body",
+ "description": "The updated parameters for the Maps Account.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MapsAccountUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Account was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/MapsAccount"
+ }
+ },
+ "default": {
+ "description": "An error occurred during creating or updating the Account.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Accounts"
+ ],
+ "description": "Delete a Maps Account.",
+ "operationId": "Accounts_Delete",
+ "x-ms-examples": {
+ "DeleteAccount": {
+ "$ref": "./examples/DeleteAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Account was deleted successfully."
+ },
+ "204": {
+ "description": "The specified Account was not found. Nothing was deleted."
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Accounts"
+ ],
+ "description": "Get a Maps Account.",
+ "operationId": "Accounts_Get",
+ "x-ms-examples": {
+ "GetAccount": {
+ "$ref": "./examples/GetAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful.",
+ "schema": {
+ "$ref": "#/definitions/MapsAccount"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts": {
+ "get": {
+ "tags": [
+ "Accounts"
+ ],
+ "description": "Get all Maps Accounts in a Resource Group",
+ "operationId": "Accounts_ListByResourceGroup",
+ "x-ms-examples": {
+ "List Accounts By Resource Group": {
+ "$ref": "./examples/ListAccountsByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful.",
+ "schema": {
+ "$ref": "#/definitions/MapsAccounts"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Maps/accounts": {
+ "get": {
+ "tags": [
+ "Accounts"
+ ],
+ "description": "Get all Maps Accounts in a Subscription",
+ "operationId": "Accounts_ListBySubscription",
+ "x-ms-examples": {
+ "List Accounts By Subscription": {
+ "$ref": "./examples/ListAccountsBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful.",
+ "schema": {
+ "$ref": "#/definitions/MapsAccounts"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/listSas": {
+ "post": {
+ "tags": [
+ "Accounts"
+ ],
+ "description": "Create and list an account shared access signature token. Use this SAS token for authentication to Azure Maps REST APIs through various Azure Maps SDKs. As prerequisite to create a SAS Token. \n\nPrerequisites:\n1. Create or have an existing User Assigned Managed Identity in the same Azure region as the account. \n2. Create or update an Azure Map account with the same Azure region as the User Assigned Managed Identity is placed.",
+ "operationId": "Accounts_ListSas",
+ "x-ms-examples": {
+ "List Account Sas": {
+ "$ref": "./examples/AccountListSAS.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "MapsAccountSasParameters",
+ "in": "body",
+ "description": "The updated parameters for the Maps Account.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AccountSasParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful.",
+ "schema": {
+ "$ref": "#/definitions/MapsAccountSasToken"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/listKeys": {
+ "post": {
+ "tags": [
+ "Accounts"
+ ],
+ "description": "Get the keys to use with the Maps APIs. A key is used to authenticate and authorize access to the Maps REST APIs. Only one key is needed at a time; two are given to provide seamless key regeneration.",
+ "operationId": "Accounts_ListKeys",
+ "x-ms-examples": {
+ "List Keys": {
+ "$ref": "./examples/ListKeys.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful.",
+ "schema": {
+ "$ref": "#/definitions/MapsAccountKeys"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/regenerateKey": {
+ "post": {
+ "tags": [
+ "Accounts"
+ ],
+ "description": "Regenerate either the primary or secondary key for use with the Maps APIs. The old key will stop working immediately.",
+ "operationId": "Accounts_RegenerateKeys",
+ "x-ms-examples": {
+ "Regenerate Key": {
+ "$ref": "./examples/RegenerateKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "keySpecification",
+ "in": "body",
+ "required": true,
+ "description": "Which key to regenerate: primary or secondary.",
+ "schema": {
+ "$ref": "#/definitions/MapsKeySpecification"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful.",
+ "schema": {
+ "$ref": "#/definitions/MapsAccountKeys"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Maps/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "List operations available for the Maps Resource Provider",
+ "operationId": "Maps_ListOperations",
+ "x-ms-examples": {
+ "Get Operations": {
+ "$ref": "./examples/GetOperations.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful.",
+ "schema": {
+ "$ref": "#/definitions/MapsOperations"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Maps/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "List operations available for the Maps Resource Provider",
+ "operationId": "Maps_ListSubscriptionOperations",
+ "x-ms-examples": {
+ "Get Operations by Subscription": {
+ "$ref": "./examples/GetOperationsSubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful.",
+ "schema": {
+ "$ref": "#/definitions/MapsOperations"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/creators": {
+ "get": {
+ "tags": [
+ "Creators"
+ ],
+ "description": "Get all Creator instances for an Azure Maps Account",
+ "operationId": "Creators_ListByAccount",
+ "x-ms-examples": {
+ "List Creator Resources By Account": {
+ "$ref": "./examples/ListMapsCreatorsByAccount.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful.",
+ "schema": {
+ "$ref": "#/definitions/CreatorList"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/creators/{creatorName}": {
+ "put": {
+ "tags": [
+ "Creators"
+ ],
+ "description": "Create or update a Maps Creator resource. Creator resource will manage Azure resources required to populate a custom set of mapping data. It requires an account to exist before it can be created.",
+ "operationId": "Creators_CreateOrUpdate",
+ "x-ms-examples": {
+ "Create Creator Resource": {
+ "$ref": "./examples/CreateMapsCreator.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CreatorNameParameter"
+ },
+ {
+ "name": "CreatorResource",
+ "in": "body",
+ "description": "The new or updated parameters for the Creator resource.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Creator"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Creator is updated with the provided properties.",
+ "schema": {
+ "$ref": "#/definitions/Creator"
+ }
+ },
+ "201": {
+ "description": "The Creator will be created asynchronously. The Creator will be ready to use once the provisioningState property changed to 'Succeeded' through creators Get API.",
+ "schema": {
+ "$ref": "#/definitions/Creator"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Creators"
+ ],
+ "description": "Updates the Maps Creator resource. Only a subset of the parameters may be updated after creation, such as Tags.",
+ "operationId": "Creators_Update",
+ "x-ms-examples": {
+ "Update Creator Resource": {
+ "$ref": "./examples/UpdateMapsCreator.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CreatorNameParameter"
+ },
+ {
+ "name": "CreatorUpdateParameters",
+ "in": "body",
+ "description": "The update parameters for Maps Creator.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreatorUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Maps Creator was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/Creator"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Creators"
+ ],
+ "description": "Delete a Maps Creator resource.",
+ "operationId": "Creators_Delete",
+ "x-ms-examples": {
+ "Delete Creator Resource": {
+ "$ref": "./examples/DeleteMapsCreator.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CreatorNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Maps Creator will be deleted."
+ },
+ "204": {
+ "description": "The specified Maps Creator resource was not found. Nothing was deleted."
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Creators"
+ ],
+ "description": "Get a Maps Creator resource.",
+ "operationId": "Creators_Get",
+ "x-ms-examples": {
+ "Get Creator Resource": {
+ "$ref": "./examples/GetMapsCreator.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CreatorNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful.",
+ "schema": {
+ "$ref": "#/definitions/Creator"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "AccountNameParameter": {
+ "name": "accountName",
+ "in": "path",
+ "description": "The name of the Maps Account.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "PrivateAtlasNameParameter": {
+ "name": "privateAtlasName",
+ "in": "path",
+ "description": "The name of the Private Atlas instance.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "CreatorNameParameter": {
+ "name": "creatorName",
+ "in": "path",
+ "description": "The name of the Maps Creator instance.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "definitions": {
+ "Creator": {
+ "description": "An Azure resource which represents Maps Creator product and provides ability to manage private location data.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "The Creator resource properties.",
+ "$ref": "#/definitions/CreatorProperties"
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/systemData"
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "x-ms-azure-resource": true
+ },
+ "MapsAccount": {
+ "description": "An Azure resource which represents access to a suite of Maps REST APIs.",
+ "type": "object",
+ "properties": {
+ "sku": {
+ "description": "The SKU of this account.",
+ "$ref": "#/definitions/Sku"
+ },
+ "kind": {
+ "description": "Get or Set Kind property.",
+ "$ref": "#/definitions/Kind"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/systemData"
+ },
+ "identity": {
+ "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity"
+ },
+ "properties": {
+ "description": "The map account properties.",
+ "$ref": "#/definitions/MapsAccountProperties"
+ }
+ },
+ "required": [
+ "sku"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "x-ms-azure-resource": true
+ },
+ "MapsAccountUpdateParameters": {
+ "description": "Parameters used to update an existing Maps Account.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters."
+ },
+ "kind": {
+ "description": "Get or Set Kind property.",
+ "$ref": "#/definitions/Kind"
+ },
+ "sku": {
+ "description": "The SKU of this account.",
+ "$ref": "#/definitions/Sku"
+ },
+ "identity": {
+ "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity"
+ },
+ "properties": {
+ "description": "The map account properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MapsAccountProperties"
+ }
+ }
+ },
+ "CreatorUpdateParameters": {
+ "description": "Parameters used to update an existing Creator resource.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters."
+ },
+ "properties": {
+ "description": "Creator resource properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CreatorProperties"
+ }
+ }
+ },
+ "MapsAccounts": {
+ "description": "A list of Maps Accounts.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "a Maps Account.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/MapsAccount"
+ }
+ },
+ "nextLink": {
+ "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.",
+ "type": "string"
+ }
+ }
+ },
+ "CreatorList": {
+ "description": "A list of Creator resources.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "a Creator account.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Creator"
+ }
+ },
+ "nextLink": {
+ "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.",
+ "type": "string"
+ }
+ }
+ },
+ "Kind": {
+ "description": "The Kind of the Maps Account.",
+ "type": "string",
+ "default": "Gen1",
+ "enum": [
+ "Gen1",
+ "Gen2"
+ ],
+ "x-ms-enum": {
+ "name": "kind",
+ "modelAsString": true
+ }
+ },
+ "Sku": {
+ "description": "The SKU of the Maps Account.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the SKU, in standard format (such as S0).",
+ "type": "string",
+ "enum": [
+ "S0",
+ "S1",
+ "G2"
+ ],
+ "x-ms-enum": {
+ "name": "name",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gets the sku tier. This is based on the SKU name."
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "MapsKeySpecification": {
+ "description": "Whether the operation refers to the primary or secondary key.",
+ "type": "object",
+ "required": [
+ "keyType"
+ ],
+ "properties": {
+ "keyType": {
+ "type": "string",
+ "enum": [
+ "primary",
+ "secondary"
+ ],
+ "x-ms-enum": {
+ "name": "KeyType",
+ "modelAsString": true
+ },
+ "description": "Whether the operation refers to the primary or secondary key."
+ }
+ }
+ },
+ "MapsAccountKeys": {
+ "description": "The set of keys which can be used to access the Maps REST APIs. Two keys are provided for key rotation without interruption.",
+ "type": "object",
+ "properties": {
+ "primaryKeyLastUpdated": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The last updated date and time of the primary key."
+ },
+ "primaryKey": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The primary key for accessing the Maps REST APIs."
+ },
+ "secondaryKey": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The secondary key for accessing the Maps REST APIs."
+ },
+ "secondaryKeyLastUpdated": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The last updated date and time of the secondary key."
+ }
+ }
+ },
+ "AccountSasParameters": {
+ "description": "Parameters used to create an account Shared Access Signature (SAS) token. The REST API access control is provided by Azure Maps Role Based Access (RBAC) identity and access.",
+ "type": "object",
+ "properties": {
+ "signingKey": {
+ "type": "string",
+ "description": "The Map account key to use for signing. Picking `primaryKey` or `secondaryKey` will use the Map account Shared Keys, and using `managedIdentity` will use the auto-renewed private key to sign the SAS.",
+ "enum": [
+ "primaryKey",
+ "secondaryKey",
+ "managedIdentity"
+ ],
+ "x-ms-enum": {
+ "name": "SigningKey",
+ "modelAsString": true
+ }
+ },
+ "principalId": {
+ "description": "The principal Id also known as the object Id of a User Assigned Managed Identity currently assigned to the Map Account. To assign a Managed Identity of the account, use operation Create or Update an assign a User Assigned Identity resource Id.",
+ "type": "string"
+ },
+ "regions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Optional, allows control of which region locations are permitted access to Azure Maps REST APIs with the SAS token. Example: \"eastus\", \"westus2\". Omitting this parameter will allow all region locations to be accessible."
+ },
+ "maxRatePerSecond": {
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 500,
+ "default": 500,
+ "format": "int32",
+ "exclusiveMinimum": true,
+ "description": "Required parameter which represents the desired maximum request per second to allowed for the given SAS token. This does not guarantee perfect accuracy in measurements but provides application safe guards of abuse with eventual enforcement."
+ },
+ "start": {
+ "description": "The date time offset of when the token validity begins. For example \"2017-05-24T10:42:03.1567373Z\". Maximum duration allowed is 24 hours between `start` and `expiry`.",
+ "type": "string"
+ },
+ "expiry": {
+ "description": "The date time offset of when the token validity expires. For example \"2017-05-24T10:42:03.1567373Z\". Maximum duration allowed is 24 hours between `start` and `expiry`.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "signingKey",
+ "principalId",
+ "maxRatePerSecond",
+ "start",
+ "expiry"
+ ]
+ },
+ "MapsAccountSasToken": {
+ "description": "A new Sas token which can be used to access the Maps REST APIs and is controlled by the specified Managed identity permissions on Azure (IAM) Role Based Access Control.",
+ "type": "object",
+ "properties": {
+ "accountSasToken": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The shared access signature access token."
+ }
+ }
+ },
+ "MapsOperations": {
+ "description": "The set of operations available for Maps.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "An operation available for Maps.",
+ "type": "array",
+ "readOnly": true,
+ "uniqueItems": false,
+ "items": {
+ "$ref": "#/definitions/OperationDetail"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "nextLink": {
+ "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDetail": {
+ "description": "Operation detail payload",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Display of the operation"
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationProperties",
+ "description": "Properties of the operation"
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "Operation display payload",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Resource provider of the operation",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource of the operation",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Localized friendly name for the operation",
+ "type": "string"
+ },
+ "description": {
+ "description": "Localized friendly description for the operation",
+ "type": "string"
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Properties of operation, include metric specifications.",
+ "type": "object",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ServiceSpecification",
+ "description": "One property of operation, include metric specifications."
+ }
+ }
+ },
+ "ServiceSpecification": {
+ "description": "One property of operation, include metric specifications.",
+ "type": "object",
+ "properties": {
+ "metricSpecifications": {
+ "description": "Metric specifications of operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricSpecification"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ }
+ }
+ },
+ "MetricSpecification": {
+ "description": "Metric specification of operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of metric specification."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of metric specification."
+ },
+ "displayDescription": {
+ "type": "string",
+ "description": "Display description of metric specification."
+ },
+ "unit": {
+ "type": "string",
+ "description": "Unit could be Count."
+ },
+ "dimensions": {
+ "description": "Dimensions of map account.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "aggregationType": {
+ "type": "string",
+ "description": "Aggregation type could be Average."
+ },
+ "fillGapWithZero": {
+ "type": "boolean",
+ "description": "The property to decide fill gap with zero or not."
+ },
+ "category": {
+ "type": "string",
+ "description": "The category this metric specification belong to, could be Capacity."
+ },
+ "resourceIdDimensionNameOverride": {
+ "type": "string",
+ "description": "Account Resource Id."
+ },
+ "sourceMdmAccount": {
+ "type": "string",
+ "description": "Source metrics account."
+ },
+ "internalMetricName": {
+ "type": "string",
+ "description": "Internal metric name."
+ },
+ "lockAggregationType": {
+ "type": "string",
+ "description": "Lock aggregation type for metrics."
+ },
+ "sourceMdmNamespace": {
+ "type": "string",
+ "description": "Metrics namespace."
+ },
+ "supportedAggregationTypes": {
+ "type": "string",
+ "description": "Allowed aggregation types for metrics."
+ }
+ }
+ },
+ "Dimension": {
+ "description": "Dimension of map account, for example API Category, Api Name, Result Type, and Response Code.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Display name of dimension."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of dimension."
+ },
+ "internalName": {
+ "type": "string",
+ "description": "Internal name of the dimension."
+ },
+ "internalMetricName": {
+ "type": "string",
+ "description": "Internal metric name of the dimension."
+ },
+ "sourceMdmNamespace": {
+ "type": "string",
+ "description": "Source Mdm Namespace of the dimension."
+ },
+ "toBeExportedToShoebox": {
+ "type": "boolean",
+ "description": "Flag to indicate exporting to Azure Monitor."
+ }
+ }
+ },
+ "MapsAccountProperties": {
+ "description": "Additional Map account properties",
+ "type": "object",
+ "properties": {
+ "uniqueId": {
+ "description": "A unique identifier for the maps account",
+ "type": "string",
+ "readOnly": true
+ },
+ "disableLocalAuth": {
+ "description": "Allows toggle functionality on Azure Policy to disable Azure Maps local authentication support. This will disable Shared Keys and Shared Access Signature Token authentication from any usage.",
+ "type": "boolean",
+ "default": false
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the Map account resource, Account updates can only be performed on terminal states. Terminal states: `Succeeded` and `Failed`",
+ "readOnly": true
+ },
+ "linkedResources": {
+ "$ref": "#/definitions/LinkedResources"
+ },
+ "cors": {
+ "$ref": "#/definitions/CorsRules",
+ "description": "Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service."
+ },
+ "encryption": {
+ "$ref": "../../../../../common-types/resource-management/v4/customermanagedkeys.json#/definitions/encryption"
+ }
+ }
+ },
+ "LinkedResources": {
+ "type": "array",
+ "maxItems": 10,
+ "items": {
+ "$ref": "#/definitions/LinkedResource"
+ },
+ "description": "The array of associated resources to the Map account. Linked resource in the array cannot individually update, you must update all linked resources in the array together. These resources may be used on operations on the Azure Maps REST API. Access is controlled by the Map Account Managed Identity(s) permissions to those resource(s)."
+ },
+ "LinkedResource": {
+ "type": "object",
+ "properties": {
+ "uniqueName": {
+ "type": "string",
+ "description": "A provided name which uniquely identifies the linked resource."
+ },
+ "id": {
+ "type": "string",
+ "description": "ARM resource id in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/accounts/{storageName}'."
+ }
+ },
+ "required": [
+ "uniqueName",
+ "id"
+ ],
+ "description": "Linked resource is reference to a resource deployed in an Azure subscription, add the linked resource `uniqueName` value as an optional parameter for operations on Azure Maps Geospatial REST APIs."
+ },
+ "CorsRules": {
+ "type": "object",
+ "properties": {
+ "corsRules": {
+ "type": "array",
+ "maxItems": 5,
+ "items": {
+ "description": "Specifies a CORS rule for the Map Account.",
+ "$ref": "#/definitions/CorsRule"
+ },
+ "x-ms-identifiers": [],
+ "description": "The list of CORS rules. You can include up to five CorsRule elements in the request. "
+ }
+ },
+ "description": "Sets the CORS rules. You can include up to five CorsRule elements in the request. "
+ },
+ "CorsRule": {
+ "type": "object",
+ "properties": {
+ "allowedOrigins": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or \"*\" to allow all domains"
+ }
+ },
+ "required": [
+ "allowedOrigins"
+ ],
+ "description": "Specifies a CORS rule for the Map Account."
+ },
+ "CreatorProperties": {
+ "description": "Creator resource properties",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "The state of the resource provisioning, terminal states: Succeeded, Failed, Canceled",
+ "type": "string",
+ "readOnly": true
+ },
+ "storageUnits": {
+ "description": "The storage units to be allocated. Integer values from 1 to 100, inclusive.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 100
+ },
+ "totalStorageUnitSizeInBytes": {
+ "description": "The total allocated storage unit size in bytes for the creator resource.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "consumedStorageUnitSizeInBytes": {
+ "description": "The consumed storage unit size in bytes for the creator resource.",
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "required": [
+ "storageUnits"
+ ]
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/readme.md b/specification/maps/resource-manager/readme.md
index a5edd23d63ed..e93d860510a1 100644
--- a/specification/maps/resource-manager/readme.md
+++ b/specification/maps/resource-manager/readme.md
@@ -28,18 +28,27 @@ These are the global settings for the Maps API.
title: AzureMapsManagementClient
description: Azure Maps
openapi-type: arm
-tag: package-2023-06
+tag: package-preview-2023-08
```
+### Tag: package-preview-2023-08
+
+These settings apply only when `--tag=package-preview-2023-08` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2023-08'
+input-file:
+ - Microsoft.Maps/preview/2023-08-01-preview/maps-management.json
+```
### Tag: package-2023-06
These settings apply only when `--tag=package-2023-06` is specified on the command line.
-```yaml $(tag) == 'package-2023-06'
+``` yaml $(tag) == 'package-2023-06'
input-file:
- Microsoft.Maps/stable/2023-06-01/maps-management.json
```
+
### Tag: package-preview-2021-12
These settings apply only when `--tag=package-preview-2021-12` is specified on the command line.
diff --git a/specification/monitor/commonDefinitions.json b/specification/monitor/commonDefinitions.json
new file mode 100644
index 000000000000..68ba8efc8469
--- /dev/null
+++ b/specification/monitor/commonDefinitions.json
@@ -0,0 +1,178 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-11-01",
+ "title": "Common Monitoring types"
+ },
+ "paths": {},
+ "definitions": {
+ "LocalizableString": {
+ "type": "object",
+ "required": [
+ "value"
+ ],
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The invariant value."
+ },
+ "localizedValue": {
+ "type": "string",
+ "description": "The display name."
+ }
+ },
+ "description": "The localizable string class."
+ },
+ "MetricValue": {
+ "type": "object",
+ "required": [
+ "timeStamp"
+ ],
+ "properties": {
+ "timeStamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp for the metric value in ISO 8601 format."
+ },
+ "average": {
+ "type": "number",
+ "format": "double",
+ "description": "The average value in the time range."
+ },
+ "minimum": {
+ "type": "number",
+ "format": "double",
+ "description": "The least value in the time range."
+ },
+ "maximum": {
+ "type": "number",
+ "format": "double",
+ "description": "The greatest value in the time range."
+ },
+ "total": {
+ "type": "number",
+ "format": "double",
+ "description": "The sum of all of the values in the time range."
+ },
+ "count": {
+ "type": "number",
+ "format": "double",
+ "description": "The number of samples in the time range. Can be used to determine the number of values that contributed to the average value."
+ }
+ },
+ "description": "Represents a metric value."
+ },
+ "MetadataValue": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/LocalizableString",
+ "description": "The name of the metadata."
+ },
+ "value": {
+ "type": "string",
+ "description": "The value of the metadata."
+ }
+ },
+ "description": "Represents a metric metadata value."
+ },
+ "Unit": {
+ "type": "string",
+ "description": "The unit of the metric.",
+ "enum": [
+ "Count",
+ "Bytes",
+ "Seconds",
+ "CountPerSecond",
+ "BytesPerSecond",
+ "Percent",
+ "MilliSeconds",
+ "ByteSeconds",
+ "Unspecified",
+ "Cores",
+ "MilliCores",
+ "NanoCores",
+ "BitsPerSecond"
+ ],
+ "x-ms-enum": {
+ "name": "MetricUnit",
+ "modelAsString": true
+ }
+ },
+ "TimeSeriesElement": {
+ "type": "object",
+ "properties": {
+ "metadatavalues": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataValue"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ],
+ "description": "the metadata values returned if $filter was specified in the call."
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricValue"
+ },
+ "x-ms-identifiers": [
+ "timeStamp"
+ ],
+ "description": "An array of data points representing the metric values. This is only returned if a result type of data is specified."
+ }
+ },
+ "description": "A time series result type. The discriminator value is always TimeSeries in this case."
+ },
+ "Metric": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "the metric Id."
+ },
+ "type": {
+ "type": "string",
+ "description": "the resource type of the metric resource."
+ },
+ "name": {
+ "$ref": "#/definitions/LocalizableString",
+ "description": "the name and the display name of the metric, i.e. it is localizable string."
+ },
+ "displayDescription": {
+ "type": "string",
+ "description": "Detailed description of this metric."
+ },
+ "errorCode": {
+ "type": "string",
+ "description": "'Success' or the error details on query failures for this metric."
+ },
+ "errorMessage": {
+ "type": "string",
+ "description": "Error message encountered querying this specific metric."
+ },
+ "unit": {
+ "$ref": "#/definitions/Unit",
+ "description": "The unit of the metric."
+ },
+ "timeseries": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSeriesElement"
+ },
+ "x-ms-identifiers": [],
+ "description": "the time series returned when a data query is performed."
+ }
+ },
+ "required": [
+ "id",
+ "type",
+ "name",
+ "unit",
+ "timeseries"
+ ],
+ "description": "The result data of a query."
+ }
+ }
+}
diff --git a/specification/monitor/data-plane/Microsoft.Insights/preview/2023-05-01-preview/metricBatch.json b/specification/monitor/data-plane/Microsoft.Insights/preview/2023-05-01-preview/metricBatch.json
index 0702469e56b5..091598dabad4 100644
--- a/specification/monitor/data-plane/Microsoft.Insights/preview/2023-05-01-preview/metricBatch.json
+++ b/specification/monitor/data-plane/Microsoft.Insights/preview/2023-05-01-preview/metricBatch.json
@@ -23,17 +23,19 @@
}
],
"x-ms-parameterized-host": {
- "hostTemplate": "{baseUrl}",
+ "hostTemplate": "{endpoint}",
"useSchemePrefix": false,
"positionInOperation": "first",
"parameters": [
{
- "name": "baseUrl",
+ "name": "endpoint",
"description": "The regional endpoint to use, for example https://eastus.metrics.monitor.azure.com. The region should match the region of the requested resources. For global resources, the region should be 'global'.",
"required": true,
"type": "string",
"in": "path",
- "x-ms-skip-url-encoding": true
+ "format": "url",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "client"
}
]
},
@@ -49,7 +51,7 @@
"tags": [
"Metrics"
],
- "operationId": "Metrics_Batch",
+ "operationId": "MetricsBatch_Batch",
"description": "Lists the metric values for multiple resources.",
"parameters": [
{
@@ -156,7 +158,6 @@
"in": "query",
"required": false,
"type": "string",
- "format": "duration",
"default": "PT1M",
"description": "The interval (i.e. timegrain) of the query.\n*Examples: PT15M, PT1H, P1D*",
"x-ms-parameter-location": "method"
@@ -326,7 +327,7 @@
"value": {
"type": "array",
"items": {
- "$ref": "#/definitions/Metric"
+ "$ref": "../../../../commonDefinitions.json#/definitions/Metric"
},
"description": "The value of the collection."
}
@@ -339,222 +340,6 @@
}
}
}
- },
- "LocalizableString": {
- "type": "object",
- "required": [
- "value"
- ],
- "properties": {
- "value": {
- "type": "string",
- "description": "The invariant value."
- },
- "localizedValue": {
- "type": "string",
- "description": "The display name."
- }
- },
- "description": "The localizable string class."
- },
- "MetricUnit": {
- "type": "string",
- "description": "The unit of the metric.",
- "enum": [
- "Count",
- "Bytes",
- "Seconds",
- "CountPerSecond",
- "BytesPerSecond",
- "Percent",
- "MilliSeconds",
- "ByteSeconds",
- "Unspecified",
- "Cores",
- "MilliCores",
- "NanoCores",
- "BitsPerSecond"
- ],
- "x-ms-enum": {
- "name": "MetricUnit",
- "modelAsString": false,
- "values": [
- {
- "value": "Count",
- "description": "Unit of raw quantity."
- },
- {
- "value": "Bytes",
- "description": "Unit of memory in bytes."
- },
- {
- "value": "Seconds",
- "description": "Unit of time in seconds."
- },
- {
- "value": "CountPerSecond",
- "description": "Rate unit of raw quantity per second."
- },
- {
- "value": "BytesPerSecond",
- "description": "Rate unit of memory in bytes per second."
- },
- {
- "value": "Percent",
- "description": "Percentage unit."
- },
- {
- "value": "MilliSeconds",
- "description": "Unit of time in 1/1000th of a second."
- },
- {
- "value": "ByteSeconds",
- "description": "Unit of data transfer or storage. It is the size of the data in bytes multiplied by the time it takes to transfer or store the data in seconds."
- },
- {
- "value": "Unspecified",
- "description": "No specified unit."
- },
- {
- "value": "Cores",
- "description": "Unit of processing power."
- },
- {
- "value": "MilliCores",
- "description": "Unit of processing power in 1/1000th of a CPU core."
- },
- {
- "value": "NanoCores",
- "description": "Unit of processing power in one billionth of a CPU core."
- },
- {
- "value": "BitsPerSecond",
- "description": "Rate unit of binary digits per second."
- }
- ]
- }
- },
- "MetricValue": {
- "type": "object",
- "required": [
- "timeStamp"
- ],
- "properties": {
- "timeStamp": {
- "type": "string",
- "format": "date-time",
- "description": "The timestamp for the metric value in ISO 8601 format."
- },
- "average": {
- "type": "number",
- "format": "double",
- "description": "The average value in the time range."
- },
- "minimum": {
- "type": "number",
- "format": "double",
- "description": "The least value in the time range."
- },
- "maximum": {
- "type": "number",
- "format": "double",
- "description": "The greatest value in the time range."
- },
- "total": {
- "type": "number",
- "format": "double",
- "description": "The sum of all of the values in the time range."
- },
- "count": {
- "type": "number",
- "format": "double",
- "description": "The number of samples in the time range. Can be used to determine the number of values that contributed to the average value."
- }
- },
- "description": "Represents a metric value."
- },
- "MetadataValue": {
- "type": "object",
- "properties": {
- "name": {
- "$ref": "#/definitions/LocalizableString",
- "description": "The name of the metadata."
- },
- "value": {
- "type": "string",
- "description": "The value of the metadata."
- }
- },
- "description": "Represents a metric metadata value."
- },
- "Metric": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string",
- "description": "The metric Id."
- },
- "name": {
- "$ref": "#/definitions/LocalizableString",
- "description": "The name and the display name of the metric, i.e. it is localizable string."
- },
- "displayDescription": {
- "type": "string",
- "description": "Description of this metric"
- },
- "type": {
- "type": "string",
- "description": "The resource type of the metric resource."
- },
- "unit": {
- "$ref": "#/definitions/MetricUnit",
- "description": "The unit of the metric."
- },
- "timeseries": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/TimeSeriesElement"
- },
- "description": "The time series returned when a data query is performed."
- },
- "errorCode": {
- "type": "string",
- "description": "'Success' or the error details on query failures for this metric."
- },
- "errorMessage": {
- "type": "string",
- "description": "Error message encountered querying this specific metric."
- }
- },
- "required": [
- "id",
- "name",
- "displayDescription",
- "type",
- "unit",
- "timeseries"
- ],
- "description": "The result data of a query."
- },
- "TimeSeriesElement": {
- "type": "object",
- "properties": {
- "metadatavalues": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/MetadataValue"
- },
- "description": "The metadata values returned if filter was specified in the call."
- },
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/MetricValue"
- },
- "description": "An array of data points representing the metric values. This is only returned if a result type of data is specified."
- }
- },
- "description": "A time series result type. The discriminator value is always TimeSeries in this case."
}
}
}
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json
index 5be6305c7682..c6978792544a 100644
--- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json
+++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json
@@ -83,22 +83,6 @@
}
},
"definitions": {
- "LocalizableString": {
- "required": [
- "value"
- ],
- "properties": {
- "value": {
- "type": "string",
- "description": "the invariant value."
- },
- "localizedValue": {
- "type": "string",
- "description": "the locale specific value."
- }
- },
- "description": "The localizable string class."
- },
"MetricAvailability": {
"type": "object",
"properties": {
@@ -115,29 +99,6 @@
},
"description": "Metric availability specifies the time grain (aggregation interval or frequency) and the retention period for that time grain."
},
- "Unit": {
- "type": "string",
- "description": "The unit of the metric.",
- "enum": [
- "Count",
- "Bytes",
- "Seconds",
- "CountPerSecond",
- "BytesPerSecond",
- "Percent",
- "MilliSeconds",
- "ByteSeconds",
- "Unspecified",
- "Cores",
- "MilliCores",
- "NanoCores",
- "BitsPerSecond"
- ],
- "x-ms-enum": {
- "name": "MetricUnit",
- "modelAsString": true
- }
- },
"AggregationType": {
"type": "string",
"description": "the aggregation type of the metric.",
@@ -185,7 +146,7 @@
"description": "the namespace the metric belongs to."
},
"name": {
- "$ref": "#/definitions/LocalizableString",
+ "$ref": "../../../../commonDefinitions.json#/definitions/LocalizableString",
"description": "the name and the display name of the metric, i.e. it is a localizable string."
},
"displayDescription": {
@@ -201,7 +162,7 @@
"description": "The class of the metric."
},
"unit": {
- "$ref": "#/definitions/Unit",
+ "$ref": "../../../../commonDefinitions.json#/definitions/Unit",
"description": "The unit of the metric."
},
"primaryAggregationType": {
@@ -230,7 +191,7 @@
"dimensions": {
"type": "array",
"items": {
- "$ref": "#/definitions/LocalizableString"
+ "$ref": "../../../../commonDefinitions.json#/definitions/LocalizableString"
},
"x-ms-identifiers": [
"value"
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metrics_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metrics_API.json
index 9182b3041d0f..65045c35c588 100644
--- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metrics_API.json
+++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metrics_API.json
@@ -93,7 +93,7 @@
}
}
},
- "x-ms-odata": "#/definitions/MetadataValue",
+ "x-ms-odata": "../../../../commonDefinitions.json#/definitions/MetadataValue",
"x-ms-examples": {
"Get Metric for data": {
"$ref": "./examples/GetMetric.json"
@@ -109,98 +109,6 @@
}
},
"definitions": {
- "LocalizableString": {
- "required": [
- "value"
- ],
- "properties": {
- "value": {
- "type": "string",
- "description": "the invariant value."
- },
- "localizedValue": {
- "type": "string",
- "description": "the locale specific value."
- }
- },
- "description": "The localizable string class."
- },
- "Unit": {
- "type": "string",
- "description": "The unit of the metric.",
- "enum": [
- "Count",
- "Bytes",
- "Seconds",
- "CountPerSecond",
- "BytesPerSecond",
- "Percent",
- "MilliSeconds",
- "ByteSeconds",
- "Unspecified",
- "Cores",
- "MilliCores",
- "NanoCores",
- "BitsPerSecond"
- ],
- "x-ms-enum": {
- "name": "MetricUnit",
- "modelAsString": true
- }
- },
- "MetricValue": {
- "type": "object",
- "required": [
- "timeStamp"
- ],
- "properties": {
- "timeStamp": {
- "type": "string",
- "format": "date-time",
- "description": "the timestamp for the metric value in ISO 8601 format."
- },
- "average": {
- "type": "number",
- "format": "double",
- "description": "the average value in the time range."
- },
- "minimum": {
- "type": "number",
- "format": "double",
- "description": "the least value in the time range."
- },
- "maximum": {
- "type": "number",
- "format": "double",
- "description": "the greatest value in the time range."
- },
- "total": {
- "type": "number",
- "format": "double",
- "description": "the sum of all of the values in the time range."
- },
- "count": {
- "type": "number",
- "format": "double",
- "description": "the number of samples in the time range. Can be used to determine the number of values that contributed to the average value."
- }
- },
- "description": "Represents a metric value."
- },
- "MetadataValue": {
- "type": "object",
- "properties": {
- "name": {
- "$ref": "#/definitions/LocalizableString",
- "description": "the name of the metadata."
- },
- "value": {
- "type": "string",
- "description": "the value of the metadata."
- }
- },
- "description": "Represents a metric metadata value."
- },
"Response": {
"type": "object",
"properties": {
@@ -216,8 +124,7 @@
},
"interval": {
"type": "string",
- "format": "duration",
- "description": "The interval (window size) for which the metric data was returned in. This may be adjusted in the future and returned back from what was originally requested. This is not present if a metadata request was made."
+ "description": "The interval (window size) for which the metric data was returned in ISO 8601 duration format with a special case for 'FULL' value that returns single datapoint for entire time span requested (*Examples: PT15M, PT1H, P1D, FULL*). \nThis may be adjusted and different from what was originally requested if AutoAdjustTimegrain=true is specified. This is not present if a metadata request was made."
},
"namespace": {
"type": "string",
@@ -230,7 +137,7 @@
"value": {
"type": "array",
"items": {
- "$ref": "#/definitions/Metric"
+ "$ref": "../../../../commonDefinitions.json#/definitions/Metric"
},
"description": "the value of the collection."
}
@@ -241,81 +148,6 @@
],
"description": "The response to a metrics query."
},
- "Metric": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string",
- "description": "the metric Id."
- },
- "type": {
- "type": "string",
- "description": "the resource type of the metric resource."
- },
- "name": {
- "$ref": "#/definitions/LocalizableString",
- "description": "the name and the display name of the metric, i.e. it is localizable string."
- },
- "displayDescription": {
- "type": "string",
- "description": "Detailed description of this metric."
- },
- "errorCode": {
- "type": "string",
- "description": "'Success' or the error details on query failures for this metric."
- },
- "errorMessage": {
- "type": "string",
- "description": "Error message encountered querying this specific metric."
- },
- "unit": {
- "$ref": "#/definitions/Unit",
- "description": "The unit of the metric."
- },
- "timeseries": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/TimeSeriesElement"
- },
- "x-ms-identifiers": [],
- "description": "the time series returned when a data query is performed."
- }
- },
- "required": [
- "id",
- "type",
- "name",
- "unit",
- "timeseries"
- ],
- "description": "The result data of a query."
- },
- "TimeSeriesElement": {
- "type": "object",
- "properties": {
- "metadatavalues": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/MetadataValue"
- },
- "x-ms-identifiers": [
- "name"
- ],
- "description": "the metadata values returned if $filter was specified in the call."
- },
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/MetricValue"
- },
- "x-ms-identifiers": [
- "timeStamp"
- ],
- "description": "An array of data points representing the metric values. This is only returned if a result type of data is specified."
- }
- },
- "description": "A time series result type. The discriminator value is always TimeSeries in this case."
- },
"ErrorResponse": {
"description": "Describes the format of Error response.",
"type": "object",
@@ -354,8 +186,7 @@
"in": "query",
"required": false,
"type": "string",
- "format": "duration",
- "description": "The interval (i.e. timegrain) of the query.",
+ "description": "The interval (i.e. timegrain) of the query in ISO 8601 duration format. Defaults to PT1M. Special case for 'FULL' value that returns single datapoint for entire time span requested.\n*Examples: PT15M, PT1H, P1D, FULL*",
"x-ms-parameter-location": "method"
},
"MetricNamesParameter": {
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/AdvancedThreatProtectionSettings.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/AdvancedThreatProtectionSettings.json
new file mode 100644
index 000000000000..f3c714c321b1
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/AdvancedThreatProtectionSettings.json
@@ -0,0 +1,326 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-10-01-preview",
+ "title": "MySQLManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MySQL resources including servers, databases, firewall rules and configurations."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/advancedThreatProtectionSettings/{advancedThreatProtectionName}": {
+ "get": {
+ "tags": [
+ "AdvancedThreatProtectionSettings"
+ ],
+ "description": "Get a server's Advanced Threat Protection state",
+ "operationId": "AdvancedThreatProtectionSettings_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AdvancedThreatProtectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the server's Advanced Threat Protection state.",
+ "schema": {
+ "$ref": "#/definitions/AdvancedThreatProtection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a server's Advanced Threat Protection settings.": {
+ "$ref": "./examples/AdvancedThreatProtectionSettingsGet.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "AdvancedThreatProtectionSettings"
+ ],
+ "description": "Updates a server's Advanced Threat Protection state.",
+ "operationId": "AdvancedThreatProtectionSettings_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AdvancedThreatProtectionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The server's Advanced Threat Protection body to update.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AdvancedThreatProtectionForUpdate"
+ }
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the server's Advanced Threat Protection state.",
+ "schema": {
+ "$ref": "#/definitions/AdvancedThreatProtection"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "URL to retrieve the final result after operation completes.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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": "location"
+ },
+ "x-ms-examples": {
+ "Enable a server's Advanced Threat Protection settings": {
+ "$ref": "./examples/AdvancedThreatProtectionSettingsPatchEnabled.json"
+ },
+ "Disable a server's Advanced Threat Protection settings with all parameters": {
+ "$ref": "./examples/AdvancedThreatProtectionSettingsPatchDisabled.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/advancedThreatProtectionSettings": {
+ "get": {
+ "tags": [
+ "AdvancedThreatProtectionSettings"
+ ],
+ "description": "Gets a list of server's Advanced Threat Protection states.",
+ "operationId": "AdvancedThreatProtectionSettings_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the server's Advanced Threat Protection states.",
+ "schema": {
+ "$ref": "#/definitions/AdvancedThreatProtectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get list of server's Advanced Threat Protection settings": {
+ "$ref": "./examples/AdvancedThreatProtectionSettingsList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AdvancedThreatProtectionState": {
+ "description": "Specifies the state of the Advanced Threat Protection, whether it is enabled or disabled on the server.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AdvancedThreatProtectionState",
+ "modelAsString": true
+ }
+ },
+ "AdvancedThreatProtectionProperties": {
+ "description": "Properties of an Advanced Threat Protection setting.",
+ "type": "object",
+ "properties": {
+ "creationTime": {
+ "description": "Specifies the UTC creation time of the policy.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "state": {
+ "description": "Specifies the state of the Advanced Threat Protection, whether it is enabled or disabled or a state has not been applied yet on the specific database or server.",
+ "$ref": "#/definitions/AdvancedThreatProtectionState"
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/AdvancedThreatProtectionProvisioningState",
+ "description": "Provisioning state of the Threat Protection."
+ }
+ }
+ },
+ "AdvancedThreatProtection": {
+ "description": "A server's Advanced Threat Protection.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AdvancedThreatProtectionProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "AdvancedThreatProtectionUpdateProperties": {
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "Specifies the state of the Advanced Threat Protection, whether it is enabled or disabled or a state has not been applied yet on the specific database or server.",
+ "$ref": "#/definitions/AdvancedThreatProtectionState"
+ }
+ },
+ "required": [
+ "state"
+ ],
+ "description": "Properties of Advanced Threat Protection that can be updated."
+ },
+ "AdvancedThreatProtectionForUpdate": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AdvancedThreatProtectionUpdateProperties",
+ "description": "Resource update properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "description": "Parameters allowed to update advanced threat protection for a server."
+ },
+ "AdvancedThreatProtectionListResult": {
+ "description": "A list of the server's Advanced Threat Protection configurations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AdvancedThreatProtection"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AdvancedThreatProtectionProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Canceled",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "AdvancedThreatProtectionProvisioningState",
+ "modelAsString": true
+ }
+ }
+ },
+ "parameters": {
+ "AdvancedThreatProtectionNameParameter": {
+ "name": "advancedThreatProtectionName",
+ "in": "path",
+ "description": "The name of the Advanced Threat Protection state.",
+ "required": true,
+ "enum": [
+ "Default"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AdvancedThreatProtectionName",
+ "modelAsString": true
+ },
+ "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/FlexibleServers.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/FlexibleServers.json
new file mode 100644
index 000000000000..c945396ec6ac
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/FlexibleServers.json
@@ -0,0 +1,1343 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "MySQLManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MySQL resources including servers, databases, firewall rules and configurations.",
+ "version": "2023-10-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}": {
+ "put": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_Create",
+ "x-ms-examples": {
+ "Create a new server": {
+ "$ref": "./examples/ServerCreate.json"
+ },
+ "Create a server as a point in time restore": {
+ "$ref": "./examples/ServerCreateWithPointInTimeRestore.json"
+ },
+ "Create a replica server": {
+ "$ref": "./examples/ServerCreateReplica.json"
+ },
+ "Create a server with byok": {
+ "$ref": "./examples/ServerCreateWithBYOK.json"
+ }
+ },
+ "description": "Creates a new server or updates an existing server. The update action will overwrite the existing server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Server"
+ },
+ "description": "The required parameters for creating or updating a server."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_Update",
+ "x-ms-examples": {
+ "Update a server": {
+ "$ref": "./examples/ServerUpdate.json"
+ },
+ "Update server customer maintenance window": {
+ "$ref": "./examples/ServerUpdateWithCustomerMaintenanceWindow.json"
+ },
+ "Update server with byok": {
+ "$ref": "./examples/ServerUpdateWithBYOK.json"
+ }
+ },
+ "description": "Updates an existing server. The request body can contain one to many of the properties present in the normal server definition.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServerForUpdate"
+ },
+ "description": "The required parameters for updating a server."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_Delete",
+ "x-ms-examples": {
+ "Delete a server": {
+ "$ref": "./examples/ServerDelete.json"
+ }
+ },
+ "description": "Deletes a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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"
+ }
+ },
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_Get",
+ "x-ms-examples": {
+ "Get a server": {
+ "$ref": "./examples/ServerGet.json"
+ },
+ "Get a server with vnet": {
+ "$ref": "./examples/ServerGetWithVnet.json"
+ }
+ },
+ "description": "Gets information about a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers": {
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_ListByResourceGroup",
+ "x-ms-examples": {
+ "List servers in a resource group": {
+ "$ref": "./examples/ServersListByResourceGroup.json"
+ }
+ },
+ "description": "List all the servers in a given resource group.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/flexibleServers": {
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_List",
+ "x-ms-examples": {
+ "List servers in a subscription": {
+ "$ref": "./examples/ServersList.json"
+ }
+ },
+ "description": "List all the servers in a given subscription.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/failover": {
+ "post": {
+ "tags": [
+ "ServerFailover"
+ ],
+ "operationId": "Servers_Failover",
+ "x-ms-examples": {
+ "Restart a server": {
+ "$ref": "./examples/ServerFailover.json"
+ }
+ },
+ "description": "Manual failover a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/restart": {
+ "post": {
+ "tags": [
+ "ServerRestart"
+ ],
+ "operationId": "Servers_Restart",
+ "x-ms-examples": {
+ "Restart a server": {
+ "$ref": "./examples/ServerRestart.json"
+ }
+ },
+ "description": "Restarts a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServerRestartParameter"
+ },
+ "description": "The required parameters for restarting a server."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/start": {
+ "post": {
+ "tags": [
+ "ServerStart"
+ ],
+ "operationId": "Servers_Start",
+ "x-ms-examples": {
+ "Start a server": {
+ "$ref": "./examples/ServerStart.json"
+ }
+ },
+ "description": "Starts a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/stop": {
+ "post": {
+ "tags": [
+ "ServerStop"
+ ],
+ "operationId": "Servers_Stop",
+ "x-ms-examples": {
+ "Stop a server": {
+ "$ref": "./examples/ServerStop.json"
+ }
+ },
+ "description": "Stops a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/resetGtid": {
+ "post": {
+ "tags": [
+ "ServerResetGtid"
+ ],
+ "operationId": "Servers_ResetGtid",
+ "x-ms-examples": {
+ "Reset GTID on a server": {
+ "$ref": "./examples/ServerResetGtid.json"
+ }
+ },
+ "description": "Resets GTID on a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServerGtidSetParameter"
+ },
+ "description": "The required parameters for resetting GTID on a server."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/replicas": {
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Replicas_ListByServer",
+ "x-ms-examples": {
+ "List replicas for a server": {
+ "$ref": "./examples/ReplicasListByServer.json"
+ }
+ },
+ "description": "List all the replicas for a given server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/cutoverMigration": {
+ "post": {
+ "tags": [
+ "ServerMigration"
+ ],
+ "operationId": "ServersMigration_CutoverMigration",
+ "x-ms-examples": {
+ "Cutover migration for MySQL import": {
+ "$ref": "./examples/CutoverMigration.json"
+ }
+ },
+ "description": "Cutover migration for MySQL import, it will switch source elastic server DNS to flexible server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "URL to retrieve the final result after operation completes.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ServerVersion": {
+ "type": "string",
+ "description": "The version of a server.",
+ "enum": [
+ "5.7",
+ "8.0.21"
+ ],
+ "x-ms-enum": {
+ "name": "ServerVersion",
+ "modelAsString": true
+ }
+ },
+ "EnableStatusEnum": {
+ "type": "string",
+ "description": "Enum to indicate whether value is 'Enabled' or 'Disabled'",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "EnableStatusEnum",
+ "modelAsString": true
+ }
+ },
+ "ReplicationRole": {
+ "type": "string",
+ "enum": [
+ "None",
+ "Source",
+ "Replica"
+ ],
+ "x-ms-enum": {
+ "name": "ReplicationRole",
+ "modelAsString": true
+ },
+ "description": "The replication role."
+ },
+ "DataEncryption": {
+ "type": "object",
+ "description": "The date encryption for cmk.",
+ "properties": {
+ "primaryUserAssignedIdentityId": {
+ "type": "string",
+ "description": "Primary user identity resource id"
+ },
+ "primaryKeyURI": {
+ "type": "string",
+ "description": "Primary key uri"
+ },
+ "geoBackupUserAssignedIdentityId": {
+ "type": "string",
+ "description": "Geo backup user identity resource id as identity can't cross region, need identity in same region as geo backup"
+ },
+ "geoBackupKeyURI": {
+ "type": "string",
+ "description": "Geo backup key uri as key vault can't cross region, need cmk in same region as geo backup"
+ },
+ "type": {
+ "type": "string",
+ "description": "The key type, AzureKeyVault for enable cmk, SystemManaged for disable cmk.",
+ "enum": [
+ "AzureKeyVault",
+ "SystemManaged"
+ ],
+ "x-ms-enum": {
+ "name": "DataEncryptionType",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "MaintenanceWindow": {
+ "type": "object",
+ "description": "Maintenance window of a server.",
+ "properties": {
+ "customWindow": {
+ "type": "string",
+ "description": "indicates whether custom window is enabled or disabled"
+ },
+ "startHour": {
+ "type": "integer",
+ "format": "int32",
+ "description": "start hour for maintenance window"
+ },
+ "startMinute": {
+ "type": "integer",
+ "format": "int32",
+ "description": "start minute for maintenance window"
+ },
+ "dayOfWeek": {
+ "type": "integer",
+ "format": "int32",
+ "description": "day of week for maintenance window"
+ }
+ }
+ },
+ "Backup": {
+ "type": "object",
+ "properties": {
+ "backupRetentionDays": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Backup retention days for the server."
+ },
+ "geoRedundantBackup": {
+ "$ref": "#/definitions/EnableStatusEnum",
+ "description": "Whether or not geo redundant backup is enabled.",
+ "default": "Disabled"
+ },
+ "earliestRestoreDate": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Earliest restore point creation time (ISO8601 format)"
+ }
+ },
+ "description": "Storage Profile properties of a server"
+ },
+ "Storage": {
+ "type": "object",
+ "properties": {
+ "storageSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Max storage size allowed for a server."
+ },
+ "iops": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Storage IOPS for a server."
+ },
+ "autoGrow": {
+ "description": "Enable Storage Auto Grow or not.",
+ "$ref": "#/definitions/EnableStatusEnum",
+ "default": "Disabled"
+ },
+ "logOnDisk": {
+ "description": "Enable Log On Disk or not.",
+ "$ref": "#/definitions/EnableStatusEnum",
+ "default": "Disabled"
+ },
+ "storageSku": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The sku name of the server storage."
+ },
+ "autoIoScaling": {
+ "description": "Enable IO Auto Scaling or not.",
+ "$ref": "#/definitions/EnableStatusEnum",
+ "default": "Enabled"
+ }
+ },
+ "description": "Storage Profile properties of a server"
+ },
+ "MySQLServerSku": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the sku, e.g. Standard_D32s_v3."
+ },
+ "tier": {
+ "type": "string",
+ "description": "The tier of the particular SKU, e.g. GeneralPurpose.",
+ "enum": [
+ "Burstable",
+ "GeneralPurpose",
+ "MemoryOptimized"
+ ],
+ "x-ms-enum": {
+ "name": "ServerSkuTier",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "name",
+ "tier"
+ ],
+ "description": "Billing information related properties of a server."
+ },
+ "Network": {
+ "type": "object",
+ "properties": {
+ "publicNetworkAccess": {
+ "$ref": "#/definitions/EnableStatusEnum",
+ "description": "Whether or not public network access is allowed for this server. Value is 'Disabled' when server has VNet integration."
+ },
+ "delegatedSubnetResourceId": {
+ "type": "string",
+ "description": "Delegated subnet resource id used to setup vnet for a server."
+ },
+ "privateDnsZoneResourceId": {
+ "type": "string",
+ "description": "Private DNS zone resource id."
+ }
+ },
+ "description": "Network related properties of a server"
+ },
+ "HighAvailability": {
+ "type": "object",
+ "properties": {
+ "mode": {
+ "type": "string",
+ "enum": [
+ "Disabled",
+ "ZoneRedundant",
+ "SameZone"
+ ],
+ "x-ms-enum": {
+ "name": "HighAvailabilityMode",
+ "modelAsString": true
+ },
+ "description": "High availability mode for a server."
+ },
+ "state": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The state of server high availability.",
+ "enum": [
+ "NotEnabled",
+ "CreatingStandby",
+ "Healthy",
+ "FailingOver",
+ "RemovingStandby"
+ ],
+ "x-ms-enum": {
+ "name": "HighAvailabilityState",
+ "modelAsString": true
+ }
+ },
+ "standbyAvailabilityZone": {
+ "type": "string",
+ "description": "Availability zone of the standby server."
+ }
+ },
+ "description": "Network related properties of a server"
+ },
+ "ImportSourceProperties": {
+ "type": "object",
+ "properties": {
+ "storageType": {
+ "type": "string",
+ "enum": [
+ "AzureBlob"
+ ],
+ "x-ms-enum": {
+ "name": "ImportSourceStorageType",
+ "modelAsString": true
+ },
+ "description": "Storage type of import source.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "storageUrl": {
+ "type": "string",
+ "description": "Uri of the import source storage.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "sasToken": {
+ "type": "string",
+ "x-ms-secret": true,
+ "description": "Sas token for accessing source storage. Read and list permissions are required for sas token.",
+ "x-ms-mutability": [
+ "create"
+ ]
+ },
+ "dataDirPath": {
+ "type": "string",
+ "description": "Relative path of data directory in storage.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ }
+ },
+ "description": "Import source related properties."
+ },
+ "ServerProperties": {
+ "type": "object",
+ "properties": {
+ "administratorLogin": {
+ "type": "string",
+ "description": "The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation).",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "administratorLoginPassword": {
+ "type": "string",
+ "x-ms-secret": true,
+ "format": "password",
+ "description": "The password of the administrator login (required for server creation).",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ]
+ },
+ "version": {
+ "$ref": "#/definitions/ServerVersion",
+ "description": "Server version."
+ },
+ "availabilityZone": {
+ "type": "string",
+ "description": "availability Zone information of the server.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "createMode": {
+ "type": "string",
+ "description": "The mode to create a new MySQL server.",
+ "enum": [
+ "Default",
+ "PointInTimeRestore",
+ "Replica",
+ "GeoRestore"
+ ],
+ "x-ms-enum": {
+ "name": "CreateMode",
+ "modelAsString": true
+ },
+ "x-ms-mutability": [
+ "create"
+ ]
+ },
+ "sourceServerResourceId": {
+ "type": "string",
+ "description": "The source MySQL server id.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "restorePointInTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Restore point creation time (ISO8601 format), specifying the time to restore from.",
+ "x-ms-mutability": [
+ "create"
+ ]
+ },
+ "replicationRole": {
+ "$ref": "#/definitions/ReplicationRole",
+ "description": "The replication role."
+ },
+ "replicaCapacity": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "readOnly": true,
+ "description": "The maximum number of replicas that a primary server can have."
+ },
+ "dataEncryption": {
+ "$ref": "#/definitions/DataEncryption",
+ "description": "The Data Encryption for CMK."
+ },
+ "state": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The state of a server.",
+ "enum": [
+ "Ready",
+ "Dropping",
+ "Disabled",
+ "Starting",
+ "Stopping",
+ "Stopped",
+ "Updating"
+ ],
+ "x-ms-enum": {
+ "name": "ServerState",
+ "modelAsString": true
+ }
+ },
+ "fullyQualifiedDomainName": {
+ "type": "string",
+ "description": "The fully qualified domain name of a server.",
+ "readOnly": true
+ },
+ "storage": {
+ "$ref": "#/definitions/Storage",
+ "description": "Storage related properties of a server."
+ },
+ "backup": {
+ "$ref": "#/definitions/Backup",
+ "description": "Backup related properties of a server."
+ },
+ "highAvailability": {
+ "$ref": "#/definitions/HighAvailability",
+ "description": "High availability related properties of a server."
+ },
+ "network": {
+ "$ref": "#/definitions/Network",
+ "description": "Network related properties of a server.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "privateEndpointConnections": {
+ "type": "array",
+ "items": {
+ "$ref": "../../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection"
+ },
+ "description": "PrivateEndpointConnections related properties of a server.",
+ "readOnly": true
+ },
+ "maintenanceWindow": {
+ "$ref": "#/definitions/MaintenanceWindow",
+ "description": "Maintenance window of a server.",
+ "x-ms-mutability": [
+ "update",
+ "read"
+ ]
+ },
+ "importSourceProperties": {
+ "$ref": "#/definitions/ImportSourceProperties",
+ "description": "Source properties for import from storage."
+ }
+ },
+ "description": "The properties of a server."
+ },
+ "Server": {
+ "type": "object",
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/MySQLServerIdentity",
+ "description": "The cmk identity for the server."
+ },
+ "sku": {
+ "$ref": "#/definitions/MySQLServerSku",
+ "description": "The SKU (pricing tier) of the server."
+ },
+ "properties": {
+ "$ref": "#/definitions/ServerProperties",
+ "x-ms-client-flatten": true,
+ "description": "Properties of the server."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Represents a server."
+ },
+ "ServerPropertiesForUpdate": {
+ "type": "object",
+ "properties": {
+ "administratorLoginPassword": {
+ "type": "string",
+ "x-ms-secret": true,
+ "format": "password",
+ "description": "The password of the administrator login."
+ },
+ "version": {
+ "$ref": "#/definitions/ServerVersion",
+ "description": "Server version."
+ },
+ "storage": {
+ "$ref": "#/definitions/Storage",
+ "description": "Storage related properties of a server."
+ },
+ "backup": {
+ "$ref": "#/definitions/Backup",
+ "description": "Backup related properties of a server."
+ },
+ "highAvailability": {
+ "$ref": "#/definitions/HighAvailability",
+ "description": "High availability related properties of a server."
+ },
+ "maintenanceWindow": {
+ "$ref": "#/definitions/MaintenanceWindow",
+ "description": "Maintenance window of a server."
+ },
+ "replicationRole": {
+ "$ref": "#/definitions/ReplicationRole",
+ "description": "The replication role of the server."
+ },
+ "dataEncryption": {
+ "$ref": "#/definitions/DataEncryption",
+ "description": "The Data Encryption for CMK."
+ },
+ "network": {
+ "$ref": "#/definitions/Network",
+ "description": "Network related properties of a server"
+ }
+ },
+ "description": "The properties that can be updated for a server."
+ },
+ "ServerForUpdate": {
+ "type": "object",
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/MySQLServerIdentity",
+ "description": "The cmk identity for the server."
+ },
+ "sku": {
+ "$ref": "#/definitions/MySQLServerSku",
+ "description": "The SKU (pricing tier) of the server."
+ },
+ "properties": {
+ "$ref": "#/definitions/ServerPropertiesForUpdate",
+ "x-ms-client-flatten": true,
+ "description": "The properties that can be updated for a server."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application-specific metadata in the form of key-value pairs."
+ }
+ },
+ "description": "Parameters allowed to update for a server."
+ },
+ "ServerListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Server"
+ },
+ "description": "The list of servers"
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ }
+ },
+ "description": "A list of servers."
+ },
+ "ServerRestartParameter": {
+ "type": "object",
+ "properties": {
+ "restartWithFailover": {
+ "$ref": "#/definitions/EnableStatusEnum",
+ "description": "Whether or not failover to standby server when restarting a server with high availability enabled."
+ },
+ "maxFailoverSeconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum allowed failover time in seconds."
+ }
+ },
+ "description": "Server restart parameters."
+ },
+ "ServerGtidSetParameter": {
+ "type": "object",
+ "properties": {
+ "gtidSet": {
+ "type": "string",
+ "description": "The Gtid set of server."
+ }
+ },
+ "description": "Server Gtid set parameters."
+ },
+ "MySQLServerIdentity": {
+ "x-ms-client-flatten": true,
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "description": "ObjectId from the KeyVault",
+ "readOnly": true
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "TenantId from the KeyVault",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of managed service identity.",
+ "enum": [
+ "UserAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedServiceIdentityType",
+ "modelAsString": true
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "description": "",
+ "items": {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ },
+ "description": "Metadata of user assigned identity."
+ }
+ },
+ "description": "Properties to configure Identity for Bring your Own Keys"
+ },
+ "UserAssignedIdentity": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "Principal Id of user assigned identity",
+ "type": "string",
+ "x-ms-client-name": "PrincipalId",
+ "readOnly": true
+ },
+ "clientId": {
+ "description": "Client Id of user assigned identity",
+ "type": "string",
+ "x-ms-client-name": "ClientId",
+ "readOnly": true
+ }
+ },
+ "description": "Metadata of user assigned identity."
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/AdvancedThreatProtectionSettingsGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/AdvancedThreatProtectionSettingsGet.json
new file mode 100644
index 000000000000..83eaf49c1904
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/AdvancedThreatProtectionSettingsGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "threatprotection-6852",
+ "serverName": "threatprotection-2080",
+ "advancedThreatProtectionName": "Default",
+ "api-version": "2023-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/threatprotection-4799/providers/Microsoft.DBforMySQL/flexibleServers/threatprotection-6440/advancedThreatProtectionSettings/Default",
+ "name": "Default",
+ "type": "Microsoft.DBforMySQL/flexibleServers/advancedThreatProtectionSettings",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2022-04-03T04:41:33.937Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-04-03T04:41:33.937Z"
+ },
+ "properties": {
+ "state": "Enabled",
+ "creationTime": "2022-04-03T04:41:33.937Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/AdvancedThreatProtectionSettingsList.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/AdvancedThreatProtectionSettingsList.json
new file mode 100644
index 000000000000..78ac19a75421
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/AdvancedThreatProtectionSettingsList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "threatprotection-6852",
+ "serverName": "threatprotection-2080",
+ "api-version": "2023-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/threatprotection-6852/providers/Microsoft.DBforMySQL/flexibleServers/threatprotection-2080/advancedThreatProtectionSettings/Default",
+ "name": "Default",
+ "type": "Microsoft.DBforMySQL/flexibleServers/advancedThreatProtectionSettings",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2022-04-03T04:41:33.937Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-04-03T04:41:33.937Z"
+ },
+ "properties": {
+ "state": "Enabled",
+ "creationTime": "2022-04-03T04:41:33.937Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/AdvancedThreatProtectionSettingsPatchDisabled.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/AdvancedThreatProtectionSettingsPatchDisabled.json
new file mode 100644
index 000000000000..0aded2c5929f
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/AdvancedThreatProtectionSettingsPatchDisabled.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "threatprotection-4799",
+ "serverName": "threatprotection-6440",
+ "advancedThreatProtectionName": "Default",
+ "api-version": "2023-10-01-preview",
+ "parameters": {
+ "properties": {
+ "state": "Disabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/threatprotection-4799/providers/Microsoft.DBforMySQL/flexibleServers/threatprotection-6440/advancedThreatProtectionSettings/Default",
+ "name": "Default",
+ "type": "Microsoft.DBforMySQL/flexibleServers/advancedThreatProtectionSettings",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2022-04-03T04:41:33.937Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-04-03T04:41:33.937Z"
+ },
+ "properties": {
+ "state": "Disabled",
+ "creationTime": "2022-04-03T04:41:33.937Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/AdvancedThreatProtectionSettingsPatchEnabled.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/AdvancedThreatProtectionSettingsPatchEnabled.json
new file mode 100644
index 000000000000..25d544cb836d
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/AdvancedThreatProtectionSettingsPatchEnabled.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "threatprotection-4799",
+ "serverName": "threatprotection-6440",
+ "advancedThreatProtectionName": "Default",
+ "api-version": "2023-10-01-preview",
+ "parameters": {
+ "properties": {
+ "state": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/threatprotection-4799/providers/Microsoft.DBforMySQL/flexibleServers/threatprotection-6440/advancedThreatProtectionSettings/Default",
+ "name": "Default",
+ "type": "Microsoft.DBforMySQL/flexibleServers/advancedThreatProtectionSettings",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2022-04-03T04:41:33.937Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-04-03T04:41:33.937Z"
+ },
+ "properties": {
+ "state": "Enabled",
+ "creationTime": "2022-04-03T04:41:33.937Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/CutoverMigration.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/CutoverMigration.json
new file mode 100644
index 000000000000..ab7e71ab53be
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/CutoverMigration.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "serverName": "mysqltestserver",
+ "resourceGroupName": "testrg",
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Standard_D2ds_v4",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storage": {
+ "storageSizeGB": 30,
+ "iops": 200,
+ "autoGrow": "Disabled",
+ "storageSku": "Premium_LRS",
+ "autoIoScaling": "Disabled"
+ },
+ "version": "5.7",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestserver.database.mysql.azure.com",
+ "availabilityZone": "3",
+ "maintenanceWindow": {
+ "customWindow": "Enabled",
+ "dayOfWeek": 1,
+ "startHour": 1,
+ "startMinute": 0
+ },
+ "replicationRole": "None",
+ "replicaCapacity": 10,
+ "network": {
+ "publicNetworkAccess": "Disabled"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled",
+ "earliestRestoreDate": "2021-06-17T06:11:38.4150019+00:00"
+ },
+ "highAvailability": {
+ "mode": "Disabled",
+ "state": "NotEnabled"
+ }
+ },
+ "location": "Southeast Asia",
+ "tags": {
+ "num": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver",
+ "name": "mysqltestserver",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/azureAsyncOperation/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-10-01-preview",
+ "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/operationResults/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-10-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ReplicasListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ReplicasListByServer.json
new file mode 100644
index 000000000000..008484042c07
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ReplicasListByServer.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "serverName": "mysqltestserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "Standard_D2ds_v4",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storage": {
+ "storageSizeGB": 20,
+ "iops": 360,
+ "autoGrow": "Enabled",
+ "storageSku": "Premium_LRS"
+ },
+ "version": "5.7",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestserver-repl.orcabrci-seas1-a.mscds.com",
+ "sourceServerResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver",
+ "availabilityZone": "1",
+ "replicationRole": "Replica",
+ "replicaCapacity": 0,
+ "network": {
+ "publicNetworkAccess": "Enabled"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled",
+ "earliestRestoreDate": "2021-06-24T08:19:18.00+00:00"
+ },
+ "highAvailability": {
+ "mode": "Disabled",
+ "state": "NotEnabled"
+ }
+ },
+ "location": "Southeast Asia",
+ "tags": {
+ "num": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver-repl",
+ "name": "mysqltestserver-repl",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ },
+ {
+ "sku": {
+ "name": "Standard_D2ds_v4",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storage": {
+ "storageSizeGB": 20,
+ "iops": 360,
+ "autoGrow": "Enabled",
+ "storageSku": "Premium_LRS"
+ },
+ "version": "5.7",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestserver-repl2.orcabrci-seas1-a.mscds.com",
+ "sourceServerResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver",
+ "availabilityZone": "1",
+ "replicationRole": "Replica",
+ "replicaCapacity": 0,
+ "network": {
+ "publicNetworkAccess": "Enabled"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled",
+ "earliestRestoreDate": "2021-06-23T08:19:18.00+00:00"
+ },
+ "highAvailability": {
+ "mode": "Disabled",
+ "state": "NotEnabled"
+ }
+ },
+ "location": "Southeast Asia",
+ "tags": {
+ "num": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver-repl2",
+ "name": "mysqltestserver-repl",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerCreate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerCreate.json
new file mode 100644
index 000000000000..c253b727ab33
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerCreate.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "serverName": "mysqltestserver",
+ "resourceGroupName": "testrg",
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "sku": {
+ "name": "Standard_D2ds_v4",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "administratorLoginPassword": "your_password",
+ "availabilityZone": "1",
+ "version": "5.7",
+ "createMode": "Default",
+ "storage": {
+ "storageSizeGB": 100,
+ "iops": 600,
+ "autoGrow": "Disabled"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled"
+ },
+ "highAvailability": {
+ "mode": "ZoneRedundant",
+ "standbyAvailabilityZone": "3"
+ }
+ },
+ "location": "southeastasia",
+ "tags": {
+ "num": "1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "sku": {
+ "name": "Standard_D2ds_v4",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storage": {
+ "storageSizeGB": 100,
+ "iops": 600,
+ "autoGrow": "Enabled",
+ "storageSku": "Premium_LRS"
+ },
+ "version": "5.7",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestserver.database.mysql.azure.com",
+ "availabilityZone": "1",
+ "maintenanceWindow": {
+ "customWindow": "Disabled",
+ "dayOfWeek": 0,
+ "startHour": 0,
+ "startMinute": 0
+ },
+ "replicationRole": "None",
+ "replicaCapacity": 10,
+ "network": {
+ "publicNetworkAccess": "Enabled"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled",
+ "earliestRestoreDate": "2021-06-17T06:11:38.4150019+00:00"
+ },
+ "highAvailability": {
+ "mode": "ZoneRedundant",
+ "state": "Healthy",
+ "standbyAvailabilityZone": "3"
+ }
+ },
+ "location": "Southeast Asia",
+ "tags": {
+ "num": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver",
+ "name": "mysqltestserver",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ },
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Standard_D2ds_v4",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storage": {
+ "storageSizeGB": 100,
+ "iops": 600,
+ "autoGrow": "Enabled",
+ "storageSku": "Premium_LRS"
+ },
+ "version": "5.7",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestserver.database.mysql.azure.com",
+ "availabilityZone": "1",
+ "maintenanceWindow": {
+ "customWindow": "Disabled",
+ "dayOfWeek": 0,
+ "startHour": 0,
+ "startMinute": 0
+ },
+ "replicationRole": "None",
+ "replicaCapacity": 10,
+ "network": {
+ "publicNetworkAccess": "Enabled"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled",
+ "earliestRestoreDate": "2021-06-17T06:11:38.4150019+00:00"
+ },
+ "highAvailability": {
+ "mode": "ZoneRedundant",
+ "state": "Healthy",
+ "standbyAvailabilityZone": "3"
+ }
+ },
+ "location": "Southeast Asia",
+ "tags": {
+ "num": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver",
+ "name": "mysqltestserver",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerCreateReplica.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerCreateReplica.json
new file mode 100644
index 000000000000..8503b24ec27a
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerCreateReplica.json
@@ -0,0 +1,116 @@
+{
+ "parameters": {
+ "serverName": "replica-server",
+ "resourceGroupName": "testgr",
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "location": "SoutheastAsia",
+ "properties": {
+ "createMode": "Replica",
+ "sourceServerResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testgr/providers/Microsoft.DBforMySQL/flexibleServers/source-server"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "sku": {
+ "name": "Standard_D2ds_v4",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storage": {
+ "storageSizeGB": 20,
+ "iops": 360,
+ "autoGrow": "Enabled",
+ "storageSku": "Premium_LRS"
+ },
+ "version": "5.7",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "replica-server.database.mysql.azure.com",
+ "sourceServerResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testgr/providers/Microsoft.DBforMySQL/flexibleServers/source-server",
+ "availabilityZone": "3",
+ "maintenanceWindow": {
+ "customWindow": "Disabled",
+ "dayOfWeek": 0,
+ "startHour": 0,
+ "startMinute": 0
+ },
+ "replicationRole": "Replica",
+ "replicaCapacity": 0,
+ "network": {
+ "publicNetworkAccess": "Enabled"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled",
+ "earliestRestoreDate": "2021-06-24T08:19:18.5729164+00:00"
+ },
+ "highAvailability": {
+ "mode": "Disabled",
+ "state": "NotEnabled"
+ }
+ },
+ "location": "Southeast Asia",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testgr/providers/Microsoft.DBforMySQL/flexibleServers/replica-server",
+ "name": "replica-server",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ },
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Standard_D2ds_v4",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storage": {
+ "storageSizeGB": 20,
+ "iops": 360,
+ "autoGrow": "Enabled",
+ "storageSku": "Premium_LRS"
+ },
+ "version": "5.7",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "replica-server.database.mysql.azure.com",
+ "sourceServerResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testgr/providers/Microsoft.DBforMySQL/flexibleServers/source-server",
+ "availabilityZone": "3",
+ "maintenanceWindow": {
+ "customWindow": "Disabled",
+ "dayOfWeek": 0,
+ "startHour": 0,
+ "startMinute": 0
+ },
+ "replicationRole": "Replica",
+ "replicaCapacity": 0,
+ "network": {
+ "publicNetworkAccess": "Enabled"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled",
+ "earliestRestoreDate": "2021-06-24T08:19:18.5729164+00:00"
+ },
+ "highAvailability": {
+ "mode": "Disabled",
+ "state": "NotEnabled"
+ }
+ },
+ "location": "Southeast Asia",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testgr/providers/Microsoft.DBforMySQL/flexibleServers/replica-server",
+ "name": "replica-server",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerCreateWithBYOK.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerCreateWithBYOK.json
new file mode 100644
index 000000000000..662075294320
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerCreateWithBYOK.json
@@ -0,0 +1,152 @@
+{
+ "parameters": {
+ "serverName": "mysqltestserver",
+ "resourceGroupName": "testrg",
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-identity": {}
+ }
+ },
+ "sku": {
+ "name": "Standard_D2ds_v4",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "administratorLoginPassword": "your_password",
+ "availabilityZone": "1",
+ "version": "5.7",
+ "createMode": "Default",
+ "storage": {
+ "storageSizeGB": 100,
+ "iops": 600,
+ "autoGrow": "Disabled"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled"
+ },
+ "highAvailability": {
+ "mode": "ZoneRedundant",
+ "standbyAvailabilityZone": "3"
+ },
+ "dataEncryption": {
+ "type": "AzureKeyVault",
+ "primaryUserAssignedIdentityId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-identity",
+ "primaryKeyURI": "https://test.vault.azure.net/keys/key/c8a92236622244c0a4fdb892666f671a",
+ "geoBackupUserAssignedIdentityId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-geo-identity",
+ "geoBackupKeyURI": "https://test-geo.vault.azure.net/keys/key/c8a92236622244c0a4fdb892666f671a"
+ }
+ },
+ "location": "southeastasia",
+ "tags": {
+ "num": "1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "sku": {
+ "name": "Standard_D2ds_v4",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storage": {
+ "storageSizeGB": 100,
+ "iops": 600,
+ "autoGrow": "Enabled",
+ "storageSku": "Premium_LRS"
+ },
+ "version": "5.7",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestserver.database.mysql.azure.com",
+ "availabilityZone": "1",
+ "maintenanceWindow": {
+ "customWindow": "Disabled",
+ "dayOfWeek": 0,
+ "startHour": 0,
+ "startMinute": 0
+ },
+ "replicationRole": "None",
+ "replicaCapacity": 10,
+ "network": {
+ "publicNetworkAccess": "Enabled"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled",
+ "earliestRestoreDate": "2021-06-17T06:11:38.4150019+00:00"
+ },
+ "highAvailability": {
+ "mode": "ZoneRedundant",
+ "state": "Healthy",
+ "standbyAvailabilityZone": "3"
+ }
+ },
+ "location": "Southeast Asia",
+ "tags": {
+ "num": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver",
+ "name": "mysqltestserver",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ },
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Standard_D2ds_v4",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storage": {
+ "storageSizeGB": 100,
+ "iops": 600,
+ "autoGrow": "Enabled",
+ "storageSku": "Premium_LRS"
+ },
+ "version": "5.7",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestserver.database.mysql.azure.com",
+ "availabilityZone": "1",
+ "maintenanceWindow": {
+ "customWindow": "Disabled",
+ "dayOfWeek": 0,
+ "startHour": 0,
+ "startMinute": 0
+ },
+ "replicationRole": "None",
+ "replicaCapacity": 10,
+ "network": {
+ "publicNetworkAccess": "Enabled"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled",
+ "earliestRestoreDate": "2021-06-17T06:11:38.4150019+00:00"
+ },
+ "highAvailability": {
+ "mode": "ZoneRedundant",
+ "state": "Healthy",
+ "standbyAvailabilityZone": "3"
+ }
+ },
+ "location": "Southeast Asia",
+ "tags": {
+ "num": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver",
+ "name": "mysqltestserver",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerCreateWithPointInTimeRestore.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerCreateWithPointInTimeRestore.json
new file mode 100644
index 000000000000..dbc70508e721
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerCreateWithPointInTimeRestore.json
@@ -0,0 +1,122 @@
+{
+ "parameters": {
+ "serverName": "targetserver",
+ "resourceGroupName": "TargetResourceGroup",
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "location": "SoutheastAsia",
+ "properties": {
+ "restorePointInTime": "2021-06-24T00:00:37.467Z",
+ "createMode": "PointInTimeRestore",
+ "sourceServerResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/sourceserver"
+ },
+ "sku": {
+ "name": "Standard_D14_v2",
+ "tier": "GeneralPurpose"
+ },
+ "tags": {
+ "num": "1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "sku": {
+ "name": "Standard_D2ds_v4",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "adminuser",
+ "storage": {
+ "storageSizeGB": 20,
+ "iops": 360,
+ "autoGrow": "Enabled",
+ "storageSku": "Premium_LRS"
+ },
+ "version": "5.7",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "targetserver.database.mysql.azure.com",
+ "availabilityZone": "1",
+ "maintenanceWindow": {
+ "customWindow": "Disabled",
+ "dayOfWeek": 0,
+ "startHour": 0,
+ "startMinute": 0
+ },
+ "replicationRole": "None",
+ "replicaCapacity": 10,
+ "network": {
+ "publicNetworkAccess": "Enabled"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled",
+ "earliestRestoreDate": "2021-06-24T00:15:24.00+00:00"
+ },
+ "highAvailability": {
+ "mode": "Disabled",
+ "state": "NotEnabled"
+ }
+ },
+ "location": "Southeast Asia",
+ "tags": {
+ "num": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TargetResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/targetserver",
+ "name": "targetserver",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ },
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Standard_D2ds_v4",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "adminuser",
+ "storage": {
+ "storageSizeGB": 20,
+ "iops": 360,
+ "autoGrow": "Enabled",
+ "storageSku": "Premium_LRS"
+ },
+ "version": "5.7",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "targetserver.database.mysql.azure.com",
+ "availabilityZone": "1",
+ "maintenanceWindow": {
+ "customWindow": "Disabled",
+ "dayOfWeek": 0,
+ "startHour": 0,
+ "startMinute": 0
+ },
+ "replicationRole": "None",
+ "replicaCapacity": 10,
+ "network": {
+ "publicNetworkAccess": "Enabled"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled",
+ "earliestRestoreDate": "2021-06-24T00:15:24.00+00:00"
+ },
+ "highAvailability": {
+ "mode": "Disabled",
+ "state": "NotEnabled"
+ }
+ },
+ "location": "Southeast Asia",
+ "tags": {
+ "num": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TargetResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/targetserver",
+ "name": "targetserver",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerDelete.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerDelete.json
new file mode 100644
index 000000000000..c965570d81f2
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerDelete.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/azureAsyncOperation/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-10-01-preview",
+ "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/operationResults/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-10-01-preview"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerFailover.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerFailover.json
new file mode 100644
index 000000000000..c59125c1c041
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerFailover.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/azureAsyncOperation/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-10-01-preview",
+ "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/operationResults/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-10-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerGet.json
new file mode 100644
index 000000000000..76266c70bdb3
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerGet.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "serverName": "mysqltestserver",
+ "resourceGroupName": "testrg",
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Standard_D2ds_v4",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storage": {
+ "storageSizeGB": 100,
+ "iops": 600,
+ "autoGrow": "Enabled",
+ "autoIoScaling": "Enabled",
+ "storageSku": "Premium_LRS"
+ },
+ "version": "5.7",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestserver.database.mysql.azure.com",
+ "availabilityZone": "3",
+ "maintenanceWindow": {
+ "customWindow": "Enabled",
+ "dayOfWeek": 1,
+ "startHour": 1,
+ "startMinute": 0
+ },
+ "replicationRole": "None",
+ "replicaCapacity": 10,
+ "network": {
+ "publicNetworkAccess": "Enabled"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled",
+ "earliestRestoreDate": "2021-06-17T06:11:38.4150019+00:00"
+ },
+ "highAvailability": {
+ "mode": "Disabled",
+ "state": "NotEnabled"
+ }
+ },
+ "location": "Southeast Asia",
+ "tags": {
+ "num": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver",
+ "name": "mysqltestserver",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerGetWithVnet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerGetWithVnet.json
new file mode 100644
index 000000000000..ba853a7bb4e0
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerGetWithVnet.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "serverName": "mysqltestserver",
+ "resourceGroupName": "testrg",
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Standard_D2ds_v4",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storage": {
+ "storageSizeGB": 100,
+ "iops": 600,
+ "autoGrow": "Enabled",
+ "storageSku": "Premium_LRS"
+ },
+ "version": "5.7",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestserver.database.mysql.azure.com",
+ "availabilityZone": "3",
+ "maintenanceWindow": {
+ "customWindow": "Disabled",
+ "dayOfWeek": 0,
+ "startHour": 0,
+ "startMinute": 0
+ },
+ "replicationRole": "None",
+ "replicaCapacity": 10,
+ "network": {
+ "publicNetworkAccess": "Disabled",
+ "delegatedSubnetResourceId": "/subscriptions/2941a09d-7bcf-42fe-91ca-1765f521c829/resourceGroups/OrcabrCI-Vnet-Resource-Group/providers/Microsoft.Network/virtualNetworks/OrcabrCI-Vnet/subnets/mysql-subnet"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled",
+ "earliestRestoreDate": "2021-06-17T06:11:38.4150019+00:00"
+ },
+ "highAvailability": {
+ "mode": "Disabled",
+ "state": "NotEnabled"
+ }
+ },
+ "location": "Southeast Asia",
+ "tags": {
+ "num": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver",
+ "name": "mysqltestserver",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerResetGtid.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerResetGtid.json
new file mode 100644
index 000000000000..7664438a4ef4
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerResetGtid.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "gtidSet": "4aff5b51-97ba-11ed-a955-002248036acc:1-16"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/azureAsyncOperation/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-10-01-preview",
+ "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/operationResults/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-10-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerRestart.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerRestart.json
new file mode 100644
index 000000000000..8ac7a787a92a
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerRestart.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "restartWithFailover": "Enabled",
+ "maxFailoverSeconds": 60
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/azureAsyncOperation/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-10-01-preview",
+ "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/operationResults/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-10-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerStart.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerStart.json
new file mode 100644
index 000000000000..c59125c1c041
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerStart.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/azureAsyncOperation/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-10-01-preview",
+ "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/operationResults/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-10-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerStop.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerStop.json
new file mode 100644
index 000000000000..c59125c1c041
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerStop.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/azureAsyncOperation/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-10-01-preview",
+ "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/operationResults/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-10-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerUpdate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerUpdate.json
new file mode 100644
index 000000000000..99ff72e9898e
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerUpdate.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "serverName": "mysqltestserver",
+ "resourceGroupName": "testrg",
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "properties": {
+ "storage": {
+ "storageSizeGB": 30,
+ "iops": 200,
+ "autoGrow": "Disabled",
+ "autoIoScaling": "Disabled"
+ },
+ "network": {
+ "publicNetworkAccess": "Disabled"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Standard_D2ds_v4",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storage": {
+ "storageSizeGB": 30,
+ "iops": 200,
+ "autoGrow": "Disabled",
+ "storageSku": "Premium_LRS",
+ "autoIoScaling": "Disabled"
+ },
+ "version": "5.7",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestserver.database.mysql.azure.com",
+ "availabilityZone": "3",
+ "maintenanceWindow": {
+ "customWindow": "Enabled",
+ "dayOfWeek": 1,
+ "startHour": 1,
+ "startMinute": 0
+ },
+ "replicationRole": "None",
+ "replicaCapacity": 10,
+ "network": {
+ "publicNetworkAccess": "Disabled"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled",
+ "earliestRestoreDate": "2021-06-17T06:11:38.4150019+00:00"
+ },
+ "highAvailability": {
+ "mode": "Disabled",
+ "state": "NotEnabled"
+ }
+ },
+ "location": "Southeast Asia",
+ "tags": {
+ "num": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver",
+ "name": "mysqltestserver",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/azureAsyncOperation/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-10-01-preview",
+ "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/operationResults/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-10-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerUpdateWithBYOK.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerUpdateWithBYOK.json
new file mode 100644
index 000000000000..547a0bf57310
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerUpdateWithBYOK.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "serverName": "mysqltestserver",
+ "resourceGroupName": "testrg",
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-identity": {}
+ }
+ },
+ "properties": {
+ "dataEncryption": {
+ "type": "AzureKeyVault",
+ "primaryUserAssignedIdentityId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-identity",
+ "primaryKeyURI": "https://test.vault.azure.net/keys/key/c8a92236622244c0a4fdb892666f671a",
+ "geoBackupUserAssignedIdentityId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-geo-identity",
+ "geoBackupKeyURI": "https://test-geo.vault.azure.net/keys/key/c8a92236622244c0a4fdb892666f671a"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Standard_D2ds_v4",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storage": {
+ "storageSizeGB": 100,
+ "iops": 600,
+ "autoGrow": "Enabled",
+ "storageSku": "Premium_LRS"
+ },
+ "version": "5.7",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestserver.database.mysql.azure.com",
+ "availabilityZone": "1",
+ "maintenanceWindow": {
+ "customWindow": "Disabled",
+ "dayOfWeek": 0,
+ "startHour": 0,
+ "startMinute": 0
+ },
+ "replicationRole": "None",
+ "replicaCapacity": 10,
+ "network": {
+ "publicNetworkAccess": "Enabled"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled",
+ "earliestRestoreDate": "2021-06-17T06:11:38.4150019+00:00"
+ },
+ "highAvailability": {
+ "mode": "ZoneRedundant",
+ "state": "Healthy",
+ "standbyAvailabilityZone": "3"
+ }
+ },
+ "location": "Southeast Asia",
+ "tags": {
+ "num": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver",
+ "name": "mysqltestserver",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/azureAsyncOperation/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-10-01-preview",
+ "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/operationResults/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-10-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerUpdateWithCustomerMaintenanceWindow.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerUpdateWithCustomerMaintenanceWindow.json
new file mode 100644
index 000000000000..aea83f16d1d5
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServerUpdateWithCustomerMaintenanceWindow.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "serverName": "mysqltestserver",
+ "resourceGroupName": "testrg",
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "properties": {
+ "maintenanceWindow": {
+ "customWindow": "Enabled",
+ "dayOfWeek": 1,
+ "startHour": 8,
+ "startMinute": 0
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Standard_D2ds_v4",
+ "tier": "GeneralPurpose"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storage": {
+ "storageSizeGB": 100,
+ "iops": 600,
+ "autoGrow": "Enabled",
+ "storageSku": "Premium_LRS"
+ },
+ "version": "5.7",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestserver.database.mysql.azure.com",
+ "availabilityZone": "3",
+ "maintenanceWindow": {
+ "customWindow": "Enabled",
+ "dayOfWeek": 1,
+ "startHour": 8,
+ "startMinute": 0
+ },
+ "replicationRole": "None",
+ "replicaCapacity": 10,
+ "network": {
+ "publicNetworkAccess": "Enabled"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled",
+ "earliestRestoreDate": "2021-06-17T06:11:38.4150019+00:00"
+ },
+ "highAvailability": {
+ "mode": "Disabled",
+ "state": "NotEnabled"
+ }
+ },
+ "location": "Southeast Asia",
+ "tags": {
+ "num": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver",
+ "name": "mysqltestserver",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/azureAsyncOperation/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-10-01-preview",
+ "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/operationResults/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-10-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServersList.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServersList.json
new file mode 100644
index 000000000000..fd3c23babbcc
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServersList.json
@@ -0,0 +1,152 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "Standard_B1ms",
+ "tier": "Burstable"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storage": {
+ "storageSizeGB": 23,
+ "iops": 369,
+ "autoGrow": "Enabled",
+ "storageSku": "Premium_LRS"
+ },
+ "version": "5.7",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestserver1.database.mysql.azure.com",
+ "availabilityZone": "1",
+ "maintenanceWindow": {
+ "customWindow": "Disabled",
+ "dayOfWeek": 0,
+ "startHour": 0,
+ "startMinute": 0
+ },
+ "replicationRole": "None",
+ "replicaCapacity": 10,
+ "network": {
+ "publicNetworkAccess": "Enabled"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled",
+ "earliestRestoreDate": "2021-06-17T07:08:17.4259886+00:00"
+ },
+ "highAvailability": {
+ "mode": "Disabled",
+ "state": "NotEnabled"
+ }
+ },
+ "location": "Southeast Asia",
+ "tags": {
+ "num": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver1",
+ "name": "mysqltestserver1",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ },
+ {
+ "sku": {
+ "name": "Standard_B1ms",
+ "tier": "Burstable"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storage": {
+ "storageSizeGB": 23,
+ "iops": 369,
+ "autoGrow": "Enabled",
+ "storageSku": "Premium_LRS"
+ },
+ "version": "5.7",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestserver2.mysql.database.azure.com",
+ "availabilityZone": "2",
+ "maintenanceWindow": {
+ "customWindow": "Disabled",
+ "dayOfWeek": 0,
+ "startHour": 0,
+ "startMinute": 0
+ },
+ "replicationRole": "None",
+ "replicaCapacity": 10,
+ "network": {
+ "publicNetworkAccess": "Enabled"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled",
+ "earliestRestoreDate": "2021-06-17T07:08:17.4259886+00:00"
+ },
+ "highAvailability": {
+ "mode": "Disabled",
+ "state": "NotEnabled"
+ }
+ },
+ "location": "Southeast Asia",
+ "tags": {
+ "num": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup2/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver2",
+ "name": "mysqltestserver2",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ },
+ {
+ "sku": {
+ "name": "Standard_E2ds_v4",
+ "tier": "MemoryOptimized"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storage": {
+ "storageSizeGB": 100,
+ "iops": 600,
+ "autoGrow": "Enabled",
+ "storageSku": "Premium_LRS"
+ },
+ "version": "5.7",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestserver3.mysql.database.azure.com",
+ "availabilityZone": "1",
+ "maintenanceWindow": {
+ "customWindow": "Disabled",
+ "dayOfWeek": 0,
+ "startHour": 0,
+ "startMinute": 0
+ },
+ "replicationRole": "None",
+ "replicaCapacity": 10,
+ "network": {
+ "publicNetworkAccess": "Enabled"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled",
+ "earliestRestoreDate": "2021-06-24T06:28:19.0611667+00:00"
+ },
+ "highAvailability": {
+ "mode": "Disabled",
+ "state": "NotEnabled"
+ }
+ },
+ "location": "Southeast Asia",
+ "tags": {
+ "num": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup3/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver3",
+ "name": "mysqltestserver3",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServersListByResourceGroup.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServersListByResourceGroup.json
new file mode 100644
index 000000000000..2cd4284c6b65
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/examples/ServersListByResourceGroup.json
@@ -0,0 +1,153 @@
+{
+ "parameters": {
+ "resourceGroupName": "TestGroup",
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "Standard_B1ms",
+ "tier": "Burstable"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storage": {
+ "storageSizeGB": 23,
+ "iops": 369,
+ "autoGrow": "Enabled",
+ "storageSku": "Premium_LRS"
+ },
+ "version": "5.7",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestserver1.database.mysql.azure.com",
+ "availabilityZone": "1",
+ "maintenanceWindow": {
+ "customWindow": "Disabled",
+ "dayOfWeek": 0,
+ "startHour": 0,
+ "startMinute": 0
+ },
+ "replicationRole": "None",
+ "replicaCapacity": 10,
+ "network": {
+ "publicNetworkAccess": "Enabled"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled",
+ "earliestRestoreDate": "2021-06-17T07:08:17.4259886+00:00"
+ },
+ "highAvailability": {
+ "mode": "Disabled",
+ "state": "NotEnabled"
+ }
+ },
+ "location": "Southeast Asia",
+ "tags": {
+ "num": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver1",
+ "name": "mysqltestserver1",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ },
+ {
+ "sku": {
+ "name": "Standard_B1ms",
+ "tier": "Burstable"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storage": {
+ "storageSizeGB": 23,
+ "iops": 369,
+ "autoGrow": "Enabled",
+ "storageSku": "Premium_LRS"
+ },
+ "version": "5.7",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestserver2.mysql.database.azure.com",
+ "availabilityZone": "2",
+ "maintenanceWindow": {
+ "customWindow": "Disabled",
+ "dayOfWeek": 0,
+ "startHour": 0,
+ "startMinute": 0
+ },
+ "replicationRole": "None",
+ "replicaCapacity": 10,
+ "network": {
+ "publicNetworkAccess": "Enabled"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled",
+ "earliestRestoreDate": "2021-06-17T07:08:17.4259886+00:00"
+ },
+ "highAvailability": {
+ "mode": "Disabled",
+ "state": "NotEnabled"
+ }
+ },
+ "location": "Southeast Asia",
+ "tags": {
+ "num": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver2",
+ "name": "mysqltestserver2",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ },
+ {
+ "sku": {
+ "name": "Standard_E2ds_v4",
+ "tier": "MemoryOptimized"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storage": {
+ "storageSizeGB": 100,
+ "iops": 600,
+ "autoGrow": "Enabled",
+ "storageSku": "Premium_LRS"
+ },
+ "version": "5.7",
+ "state": "Ready",
+ "fullyQualifiedDomainName": "mysqltestserver3.mysql.database.azure.com",
+ "availabilityZone": "1",
+ "maintenanceWindow": {
+ "customWindow": "Disabled",
+ "dayOfWeek": 0,
+ "startHour": 0,
+ "startMinute": 0
+ },
+ "replicationRole": "None",
+ "replicaCapacity": 10,
+ "network": {
+ "publicNetworkAccess": "Enabled"
+ },
+ "backup": {
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled",
+ "earliestRestoreDate": "2021-06-24T06:28:19.0611667+00:00"
+ },
+ "highAvailability": {
+ "mode": "Disabled",
+ "state": "NotEnabled"
+ }
+ },
+ "location": "Southeast Asia",
+ "tags": {
+ "num": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver3",
+ "name": "mysqltestserver3",
+ "type": "Microsoft.DBforMySQL/flexibleServers"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/mysql/resource-manager/readme.md b/specification/mysql/resource-manager/readme.md
index 22c5ce370d52..02d0aa3a2bef 100644
--- a/specification/mysql/resource-manager/readme.md
+++ b/specification/mysql/resource-manager/readme.md
@@ -28,11 +28,11 @@ These are the global settings for the MySql API.
title: MySQLManagementClient
description: The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MySQL resources including servers, databases, firewall rules, VNET rules, log files and configurations with new business model.
openapi-type: arm
-tag: package-flexibleserver-2023-06-30
+tag: package-flexibleserver-2023-10-01-preview
```
``` yaml $(package-flexibleservers)
-tag: package-flexibleserver-2023-06-30
+tag: package-flexibleserver-2023-10-01-preview
```
``` yaml $(package-singleservers)
@@ -306,6 +306,29 @@ input-file:
- Microsoft.DBforMySQL/PrivateLink/preview/2022-09-30-preview/PrivateLinkResources.json
```
+### Tag: package-flexibleserver-2023-10-01-preview
+
+These settings apply only when `--tag=package-flexibleserver-2023-10-01-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-flexibleserver-2023-10-01-preview'
+input-file:
+- Microsoft.DBforMySQL/AAD/preview/2023-06-01-preview/AzureADAdministrator.json
+- Microsoft.DBforMySQL/Backups/preview/2023-06-01-preview/Backups.json
+- Microsoft.DBforMySQL/Backups/preview/2023-06-01-preview/BackupAndExport.json
+- Microsoft.DBforMySQL/Configurations/preview/2023-06-01-preview/Configurations.json
+- Microsoft.DBforMySQL/Databases/preview/2023-06-01-preview/Databases.json
+- Microsoft.DBforMySQL/Firewall/preview/2023-06-01-preview/FirewallRules.json
+- Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/FlexibleServers.json
+- Microsoft.DBforMySQL/LogFiles/preview/2023-06-01-preview/LogFiles.json
+- Microsoft.DBforMySQL/ServiceOperations/preview/2023-06-01-preview/ServiceOperations.json
+- Microsoft.DBforMySQL/FlexibleServers/preview/2023-10-01-preview/AdvancedThreatProtectionSettings.json
+- Microsoft.DBforMySQL/common-types/v1/common-types.json
+suppressions:
+ - code: PostOperationAsyncResponseValidation
+ from: FlexibleServers.json
+ reason: This check is optional.
+```
+
## Suppression
``` yaml
diff --git a/specification/mysql/resource-manager/readme.python.md b/specification/mysql/resource-manager/readme.python.md
index 56ddb2edda06..71162bdc9ea0 100644
--- a/specification/mysql/resource-manager/readme.python.md
+++ b/specification/mysql/resource-manager/readme.python.md
@@ -23,16 +23,16 @@ Generate all API versions currently shipped for this package
```yaml $(python)
clear-output-folder: true
batch:
- - tag: package-flexibleserver-2023-06-01-preview-new
+ - tag: package-flexibleserver-2023-10-01-preview
- tag: package-2020-01-01
```
-### Tag: package-flexibleserver-2023-06-01-preview-new and python
+### Tag: package-flexibleserver-2023-10-01-preview and python
-These settings apply only when `--tag=package-flexibleserver-2023-06-01-preview-new --python` is specified on the command line.
+These settings apply only when `--tag=package-flexibleserver-2023-10-01-preview --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-flexibleserver-2023-06-01-preview-new' && $(python)
+``` yaml $(tag) == 'package-flexibleserver-2023-10-01-preview' && $(python)
namespace: azure.mgmt.rdbms.mysql_flexibleservers
output-folder: $(python-sdks-folder)/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/mysql_flexibleservers
```
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterDelete.json
new file mode 100644
index 000000000000..2db93a5b212a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterDelete.json
@@ -0,0 +1,13 @@
+{
+ "title": "Delete Network Security Perimeter",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "testNSP1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterGet.json
new file mode 100644
index 000000000000..9e5eb77c0b3a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterGet.json
@@ -0,0 +1,24 @@
+{
+ "title": "Get Network Security Perimeter",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "nsp1",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1",
+ "type": "Microsoft.Network/networkSecurityPerimeters",
+ "tags": {},
+ "location": "East US 2 EUAP",
+ "properties": {
+ "perimeterGuid": "guid",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterList.json
new file mode 100644
index 000000000000..f36e9253a8eb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterList.json
@@ -0,0 +1,39 @@
+{
+ "title": "List Network Security Perimeter",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testNSP1",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/testNSP1",
+ "type": "Microsoft.Network/networkSecurityPerimeters",
+ "tags": {},
+ "location": "East US 2 EUAP",
+ "properties": {
+ "perimeterGuid": "guid",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "name": "testNSP2",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/testNSP2",
+ "type": "Microsoft.Network/networkSecurityPerimeters",
+ "tags": {},
+ "location": "East US 2 EUAP",
+ "properties": {
+ "perimeterGuid": "guid",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters?api-version=2023-07-01-preview&$skipToken=10"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterListAll.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterListAll.json
new file mode 100644
index 000000000000..322b5cdce505
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterListAll.json
@@ -0,0 +1,38 @@
+{
+ "title": "List all the Network Security Perimeters in a Subscription",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testNSP1",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/testNSP1",
+ "type": "Microsoft.Network/networkSecurityPerimeters",
+ "tags": {},
+ "location": "East US 2 EUAP",
+ "properties": {
+ "perimeterGuid": "guid",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "name": "testNSP2",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/testNSP2",
+ "type": "Microsoft.Network/networkSecurityPerimeters",
+ "tags": {},
+ "location": "East US 2 EUAP",
+ "properties": {
+ "perimeterGuid": "guid",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "nextLink": "{baseurl}/subscriptions/subId/providers/Microsoft.Network/networkSecurityPerimeters?api-version=2023-07-01-preview&$skipToken=10"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterPatch.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterPatch.json
new file mode 100644
index 000000000000..ddae2d4f4bdd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterPatch.json
@@ -0,0 +1,31 @@
+{
+ "title": "Patch Network Security Perimeter",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "parameters": {
+ "tags": {
+ "description": "nsp1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "TestNetworkSecurityPerimeter",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter",
+ "type": "Microsoft.Network/networkSecurityPerimeters",
+ "tags": {
+ "description": "nsp1"
+ },
+ "location": "East US 2 EUAP",
+ "properties": {
+ "perimeterGuid": "guid",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterPut.json
new file mode 100644
index 000000000000..5091728ccb6a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterPut.json
@@ -0,0 +1,40 @@
+{
+ "title": "Create/Update Network Security Perimeter",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "parameters": {
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "TestNetworkSecurityPerimeter",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter",
+ "type": "Microsoft.Network/networkSecurityPerimeters",
+ "tags": {},
+ "location": "East US 2 EUAP",
+ "properties": {
+ "perimeterGuid": "guid",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "TestNetworkSecurityPerimeter",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter",
+ "type": "Microsoft.Network/networkSecurityPerimeters",
+ "tags": {},
+ "location": "East US 2 EUAP",
+ "properties": {
+ "perimeterGuid": "guid",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleDelete.json
new file mode 100644
index 000000000000..4b578ad8d6ad
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleDelete.json
@@ -0,0 +1,15 @@
+{
+ "title": "Delete NSP access rule",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "profileName": "profile1",
+ "accessRuleName": "accessRule1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleGet.json
new file mode 100644
index 000000000000..cb4562e65c5d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleGet.json
@@ -0,0 +1,33 @@
+{
+ "title": "Get NSP Access Rule",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "profileName": "profile1",
+ "accessRuleName": "accessRule1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "accessRule1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "direction": "Outbound",
+ "addressPrefixes": [],
+ "fullyQualifiedDomainNames": [
+ "paasrp1.contoso.org",
+ "paasrp2.contoso.org"
+ ],
+ "subscriptions": [],
+ "networkSecurityPerimeters": [],
+ "emailAddresses": [],
+ "phoneNumbers": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleList.json
new file mode 100644
index 000000000000..014d5fd8ce82
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleList.json
@@ -0,0 +1,55 @@
+{
+ "title": "List NSP Access Rules",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "accessRule1",
+ "id": "/subscriptions/rg1/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "direction": "Inbound",
+ "addressPrefixes": [
+ "10.11.0.0/16",
+ "10.10.1.0/24"
+ ],
+ "fullyQualifiedDomainNames": [],
+ "subscriptions": [],
+ "networkSecurityPerimeters": [],
+ "emailAddresses": [],
+ "phoneNumbers": []
+ }
+ },
+ {
+ "name": "accessRule2",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule2",
+ "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "direction": "Outbound",
+ "addressPrefixes": [],
+ "fullyQualifiedDomainNames": [
+ "paasrp1.contoso.org",
+ "paasrp2.contoso.org"
+ ],
+ "subscriptions": [],
+ "networkSecurityPerimeters": [],
+ "emailAddresses": [],
+ "phoneNumbers": []
+ }
+ }
+ ],
+ "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules?api-version=2023-07-01-preview&$skipToken=10"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRulePut.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRulePut.json
new file mode 100644
index 000000000000..5a7695020a4c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRulePut.json
@@ -0,0 +1,62 @@
+{
+ "title": "Create/Update NSP access rule",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "profileName": "profile1",
+ "accessRuleName": "accessRule1",
+ "parameters": {
+ "properties": {
+ "direction": "Inbound",
+ "addressPrefixes": [
+ "10.11.0.0/16",
+ "10.10.1.0/24"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "accessRule1",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "direction": "Inbound",
+ "addressPrefixes": [
+ "10.11.0.0/16",
+ "10.10.1.0/24"
+ ],
+ "fullyQualifiedDomainNames": [],
+ "subscriptions": [],
+ "networkSecurityPerimeters": [],
+ "emailAddresses": [],
+ "phoneNumbers": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "accessRule1",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "direction": "Inbound",
+ "addressPrefixes": [
+ "10.11.0.0/16",
+ "10.10.1.0/24"
+ ],
+ "fullyQualifiedDomainNames": [],
+ "subscriptions": [],
+ "networkSecurityPerimeters": [],
+ "emailAddresses": [],
+ "phoneNumbers": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleReconcile.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleReconcile.json
new file mode 100644
index 000000000000..24f9009f9ede
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleReconcile.json
@@ -0,0 +1,19 @@
+{
+ "title": "Reconcile NSP access rule",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "profileName": "profile1",
+ "accessRuleName": "accessRuleName1",
+ "parameters": {
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationDelete.json
new file mode 100644
index 000000000000..1fc619039041
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationDelete.json
@@ -0,0 +1,20 @@
+{
+ "title": "Delete NSP resource association",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "associationName": "association1",
+ "operationId": "operationId1"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}/operationResults/{operationId}?api-version={api-version}"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationGet.json
new file mode 100644
index 000000000000..d856a17237ca
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationGet.json
@@ -0,0 +1,30 @@
+{
+ "title": "Get NSP resource association",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "associationName": "association1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "association1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkResource": {
+ "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}"
+ },
+ "profile": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}"
+ },
+ "accessMode": "Enforced",
+ "hasProvisioningIssues": "no"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationList.json
new file mode 100644
index 000000000000..8f8f42ef156d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationList.json
@@ -0,0 +1,66 @@
+{
+ "title": "List NSP resource associations",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "association1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkResource": {
+ "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}"
+ },
+ "profile": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}"
+ },
+ "accessMode": "Enforced",
+ "hasProvisioningIssues": "no"
+ }
+ },
+ {
+ "name": "association2",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association2",
+ "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkResource": {
+ "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}"
+ },
+ "profile": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}"
+ },
+ "accessMode": "Audit",
+ "hasProvisioningIssues": "no"
+ }
+ },
+ {
+ "name": "association3",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association3",
+ "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations",
+ "properties": {
+ "provisioningState": "Failed",
+ "privateLinkResource": {
+ "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}"
+ },
+ "profile": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}"
+ },
+ "accessMode": "Learning",
+ "hasProvisioningIssues": "yes"
+ }
+ }
+ ],
+ "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations?api-version=2023-07-01-preview&$skipToken=10"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationPut.json
new file mode 100644
index 000000000000..b95be9452591
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationPut.json
@@ -0,0 +1,59 @@
+{
+ "title": "Create/Update NSP association",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "associationName": "association1",
+ "parameters": {
+ "properties": {
+ "privateLinkResource": {
+ "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}"
+ },
+ "profile": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}"
+ },
+ "accessMode": "Enforced"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "association1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkResource": {
+ "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}"
+ },
+ "profile": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}"
+ },
+ "accessMode": "Enforced",
+ "hasProvisioningIssues": "no"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "association1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkResource": {
+ "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}"
+ },
+ "profile": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}"
+ },
+ "accessMode": "Enforced",
+ "hasProvisioningIssues": "no"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationReconcile.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationReconcile.json
new file mode 100644
index 000000000000..3b76bad3e85d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationReconcile.json
@@ -0,0 +1,18 @@
+{
+ "title": "Reconcile NSP association",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "associationName": "association1",
+ "parameters": {
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkDelete.json
new file mode 100644
index 000000000000..4a92393a1cbf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkDelete.json
@@ -0,0 +1,19 @@
+{
+ "title": "Delete NSP link",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "linkName": "link1"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links/{linkName}/operationResults/{operationId}?api-version={api-version}"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkGet.json
new file mode 100644
index 000000000000..9b19b7596946
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkGet.json
@@ -0,0 +1,39 @@
+{
+ "title": "Get NSP Link",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "linkName": "link1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "link1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/links/link1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/links",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "autoApprovedRemotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2",
+ "remotePerimeterGuid": "guid",
+ "remotePerimeterLocation": "westus2",
+ "localInboundProfiles": [
+ "*"
+ ],
+ "localOutboundProfiles": [
+ "*"
+ ],
+ "remoteInboundProfiles": [
+ "*"
+ ],
+ "remoteOutboundProfiles": [
+ "*"
+ ],
+ "description": "Auto Approved",
+ "status": "Approved"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkList.json
new file mode 100644
index 000000000000..98c3176e9456
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkList.json
@@ -0,0 +1,43 @@
+{
+ "title": "List NSP Links",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "link1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/links/link1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/links",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "autoApprovedRemotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2",
+ "remotePerimeterGuid": "guid",
+ "remotePerimeterLocation": "westus2",
+ "localInboundProfiles": [
+ "*"
+ ],
+ "localOutboundProfiles": [
+ "*"
+ ],
+ "remoteInboundProfiles": [
+ "*"
+ ],
+ "remoteOutboundProfiles": [
+ "*"
+ ],
+ "description": "Auto Approved",
+ "status": "Approved"
+ }
+ }
+ ],
+ "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/links?api-version=2023-07-01-preview&$skipToken=10"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkPut.json
new file mode 100644
index 000000000000..ead8047f63bb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkPut.json
@@ -0,0 +1,71 @@
+{
+ "title": "Create/Update NSP link",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "linkName": "link1",
+ "parameters": {
+ "properties": {
+ "autoApprovedRemotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "link1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/links/link1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/links",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "autoApprovedRemotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2",
+ "remotePerimeterGuid": "guid",
+ "remotePerimeterLocation": "westus2",
+ "localInboundProfiles": [
+ "*"
+ ],
+ "localOutboundProfiles": [
+ "*"
+ ],
+ "remoteInboundProfiles": [
+ "*"
+ ],
+ "remoteOutboundProfiles": [
+ "*"
+ ],
+ "description": "Auto Approved",
+ "status": "Approved"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "link1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/links/link1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/links",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "autoApprovedRemotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2",
+ "remotePerimeterGuid": "guid",
+ "remotePerimeterLocation": "westus2",
+ "localInboundProfiles": [
+ "*"
+ ],
+ "localOutboundProfiles": [
+ "*"
+ ],
+ "remoteInboundProfiles": [
+ "*"
+ ],
+ "remoteOutboundProfiles": [
+ "*"
+ ],
+ "description": "Auto Approved",
+ "status": "Approved"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkReferenceDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkReferenceDelete.json
new file mode 100644
index 000000000000..c937afbc14c8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkReferenceDelete.json
@@ -0,0 +1,19 @@
+{
+ "title": "Delete NSP linkReference",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp2",
+ "linkReferenceName": "link1-guid"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/linkreferences/{linkReferenceName}/operationResults/{operationId}?api-version={api-version}"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkReferenceGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkReferenceGet.json
new file mode 100644
index 000000000000..c30039d4d9dd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkReferenceGet.json
@@ -0,0 +1,39 @@
+{
+ "title": "Get NSP LinkReference",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp2",
+ "linkReferenceName": "link1-guid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "link1-guid",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2/linkreferences/link1-guid",
+ "type": "Microsoft.Network/networkSecurityPerimeters/linkreferences",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1",
+ "remotePerimeterGuid": "guid",
+ "remotePerimeterLocation": "westus2",
+ "localInboundProfiles": [
+ "*"
+ ],
+ "localOutboundProfiles": [
+ "*"
+ ],
+ "remoteInboundProfiles": [
+ "*"
+ ],
+ "remoteOutboundProfiles": [
+ "*"
+ ],
+ "description": "Auto Approved",
+ "status": "Approved"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkReferenceList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkReferenceList.json
new file mode 100644
index 000000000000..0fef1778216d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkReferenceList.json
@@ -0,0 +1,43 @@
+{
+ "title": "List NSP LinkReferences",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "link1-guid",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2/linkreferences/link1-guid",
+ "type": "Microsoft.Network/networkSecurityPerimeters/linkreferences",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1",
+ "remotePerimeterGuid": "guid",
+ "remotePerimeterLocation": "westus2",
+ "localInboundProfiles": [
+ "*"
+ ],
+ "localOutboundProfiles": [
+ "*"
+ ],
+ "remoteInboundProfiles": [
+ "*"
+ ],
+ "remoteOutboundProfiles": [
+ "*"
+ ],
+ "description": "Auto Approved",
+ "status": "Approved"
+ }
+ }
+ ],
+ "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2/linkreferences?api-version=2023-07-01-preview&$skipToken=10"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfileDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfileDelete.json
new file mode 100644
index 000000000000..6da48f57d58d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfileDelete.json
@@ -0,0 +1,14 @@
+{
+ "title": "Delete NSP profile",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfileGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfileGet.json
new file mode 100644
index 000000000000..8a8abb280a3e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfileGet.json
@@ -0,0 +1,24 @@
+{
+ "title": "Get NSP Profile",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "nsp1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/profiles",
+ "location": "resource location",
+ "properties": {
+ "accessRulesVersion": "0",
+ "diagnosticSettingsVersion": "0"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfileList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfileList.json
new file mode 100644
index 000000000000..01827c37ad7e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfileList.json
@@ -0,0 +1,38 @@
+{
+ "title": "List NSP Profiles",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "profile1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/profiles",
+ "location": "resource location",
+ "properties": {
+ "accessRulesVersion": "0",
+ "diagnosticSettingsVersion": "0"
+ }
+ },
+ {
+ "name": "profile2",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile2",
+ "type": "Microsoft.Network/networkSecurityPerimeters/profiles",
+ "location": "resource location",
+ "properties": {
+ "accessRulesVersion": "0",
+ "diagnosticSettingsVersion": "0"
+ }
+ }
+ ],
+ "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles?api-version=2023-07-01-preview&$skipToken=10"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfilePut.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfilePut.json
new file mode 100644
index 000000000000..2cec3df3e208
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfilePut.json
@@ -0,0 +1,39 @@
+{
+ "title": "Create/Update NSP profile",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "profileName": "profile1",
+ "parameters": {
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "profile1",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/profiles",
+ "location": "East US 2 EUAP",
+ "properties": {
+ "accessRulesVersion": "0",
+ "diagnosticSettingsVersion": "0"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "profile1",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/profiles",
+ "location": "East US 2 EUAP",
+ "properties": {
+ "accessRulesVersion": "0",
+ "diagnosticSettingsVersion": "0"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/PerimeterAssociableResourcesList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/PerimeterAssociableResourcesList.json
new file mode 100644
index 000000000000..c82245dfd3d2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/PerimeterAssociableResourcesList.json
@@ -0,0 +1,44 @@
+{
+ "title": "List of resources onboarded for network security perimeter feature (perimeter associable resources).",
+ "parameters": {
+ "api-version": "2023-07-01-preview",
+ "subscriptionId": "subId",
+ "location": "westus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Sql.servers",
+ "id": "/subscriptions/{subscriptionID}/providers/Microsoft.Network/perimeterAssociableResourceTypes/Microsoft.Sql.servers",
+ "type": "Microsoft.Network/PerimeterAssociableResourceTypes",
+ "properties": {
+ "resourceType": "Microsoft.Sql/servers",
+ "displayName": "Microsoft.Sql/servers",
+ "publicDnsZones": [
+ "database.windows.net"
+ ]
+ }
+ },
+ {
+ "name": "Microsoft.Storage.accounts",
+ "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Network/perimeterAssociableResourceTypes/Microsoft.Storage.storageAccounts",
+ "type": "Microsoft.Network/PerimeterAssociableResourceTypes",
+ "properties": {
+ "resourceType": "Microsoft.Storage/accounts",
+ "displayName": "Microsoft.Storage/accounts",
+ "publicDnsZones": [
+ "blob.core.windows.net",
+ "table.core.windows.net",
+ "queue.core.windows.net",
+ "file.core.windows.net"
+ ]
+ }
+ }
+ ],
+ "nextLink": "{baseurl}/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/perimeterAssociableResourceTypes?api-version=2023-07-01-preview&$skipToken=10"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/network.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/network.json
new file mode 100644
index 000000000000..08278d92b720
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/network.json
@@ -0,0 +1,438 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "NetworkManagementClient",
+ "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.",
+ "version": "2023-07-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {},
+ "definitions": {
+ "ErrorDetails": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ }
+ },
+ "description": "Common error details representation."
+ },
+ "Error": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetails"
+ },
+ "description": "Error details."
+ },
+ "innerError": {
+ "type": "string",
+ "description": "Inner error message."
+ }
+ },
+ "description": "Common error representation."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Cloud error body."
+ }
+ },
+ "description": "An error response from the service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the service."
+ },
+ "AzureAsyncOperationResult": {
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Status of the Azure async operation.",
+ "enum": [
+ "InProgress",
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkOperationStatus",
+ "modelAsString": true
+ }
+ },
+ "error": {
+ "$ref": "#/definitions/Error",
+ "description": "Details of the error occurred during specified asynchronous operation."
+ }
+ },
+ "description": "The response body contains the status of the specified asynchronous operation, indicating whether it has succeeded, is in progress, or has failed. Note that this status is distinct from the HTTP status code returned for the Get Operation Status operation itself. If the asynchronous operation succeeded, the response body includes the HTTP status code for the successful request. If the asynchronous operation failed, the response body includes the HTTP status code for the failed request and error information regarding the failure."
+ },
+ "Resource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "description": "Common resource representation.",
+ "x-ms-azure-resource": true
+ },
+ "ProxyResource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "description": "Proxy resource representation.",
+ "x-ms-azure-resource": true
+ },
+ "SubResource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource ID."
+ }
+ },
+ "description": "Reference to another subresource.",
+ "x-ms-azure-resource": true
+ },
+ "TagsObject": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "description": "Tags object for patch operations."
+ },
+ "SystemData": {
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "createdBy": {
+ "type": "string",
+ "description": "The identity that created the resource."
+ },
+ "createdByType": {
+ "type": "string",
+ "description": "The type of identity that created the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of resource creation (UTC)."
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "The identity that last modified the resource."
+ },
+ "lastModifiedByType": {
+ "type": "string",
+ "description": "The type of identity that last modified the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The type of identity that last modified the resource."
+ }
+ }
+ },
+ "ManagedServiceIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the system assigned identity. This property will only be provided for a system assigned identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the system assigned identity. This property will only be provided for a system assigned identity."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "description": "The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
+ }
+ },
+ "description": "Identity for the resource."
+ },
+ "ProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "Access": {
+ "type": "string",
+ "description": "Access to be allowed or denied.",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "Access",
+ "modelAsString": true
+ }
+ },
+ "AuthenticationMethod": {
+ "type": "string",
+ "description": "VPN client authentication method.",
+ "enum": [
+ "EAPTLS",
+ "EAPMSCHAPv2"
+ ],
+ "x-ms-enum": {
+ "name": "AuthenticationMethod",
+ "modelAsString": true
+ }
+ },
+ "IPAllocationMethod": {
+ "type": "string",
+ "description": "IP address allocation method.",
+ "enum": [
+ "Static",
+ "Dynamic"
+ ],
+ "x-ms-enum": {
+ "name": "IPAllocationMethod",
+ "modelAsString": true
+ }
+ },
+ "IPVersion": {
+ "type": "string",
+ "description": "IP address version.",
+ "enum": [
+ "IPv4",
+ "IPv6"
+ ],
+ "x-ms-enum": {
+ "name": "IPVersion",
+ "modelAsString": true
+ }
+ },
+ "ExtendedLocationType": {
+ "type": "string",
+ "description": "The supported ExtendedLocation types. Currently only EdgeZone is supported in Microsoft.Network resources.",
+ "enum": [
+ "EdgeZone"
+ ],
+ "x-ms-enum": {
+ "name": "ExtendedLocationTypes",
+ "modelAsString": true
+ }
+ },
+ "ExtendedLocation": {
+ "description": "ExtendedLocation complex type.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the extended location."
+ },
+ "type": {
+ "$ref": "#/definitions/ExtendedLocationType",
+ "description": "The type of the extended location."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API version."
+ },
+ "ApiVersionVmssParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2017-03-30"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ },
+ "description": "Client API version."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/networkSecurityPerimeter.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/networkSecurityPerimeter.json
new file mode 100644
index 000000000000..98530d9b7e6d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/networkSecurityPerimeter.json
@@ -0,0 +1,2069 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "NetworkSecurityPerimeter",
+ "description": "The Network Security Perimeter API provides a RESTful set of web services that interact with network security perimeter resource.",
+ "version": "2023-07-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}": {
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "NetworkSecurityPerimeters"
+ ],
+ "operationId": "NetworkSecurityPerimeters_Get",
+ "description": "Gets the specified network security perimeter by the name.",
+ "responses": {
+ "200": {
+ "description": "Request is successful. Returns the resulting network security perimeter resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityPerimeter"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NetworkSecurityPerimeterGet": {
+ "$ref": "./examples/NetworkSecurityPerimeterGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NetworkSecurityPerimeters"
+ ],
+ "operationId": "NetworkSecurityPerimeters_CreateOrUpdate",
+ "description": "Creates or updates a Network Security Perimeter.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityPerimeter"
+ },
+ "description": "Parameter supplied to create or update the network security perimeter."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resource Updated. Returns the network security perimeter.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityPerimeter"
+ }
+ },
+ "201": {
+ "description": "Resource Created. Returns the network security perimeter.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityPerimeter"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Put Network Security Perimeter": {
+ "$ref": "./examples/NetworkSecurityPerimeterPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NetworkSecurityPerimeters"
+ ],
+ "operationId": "NetworkSecurityPerimeters_Delete",
+ "description": "Deletes a network security perimeter.",
+ "responses": {
+ "200": {
+ "description": "Delete Succeed."
+ },
+ "204": {
+ "description": "Request successful. The resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NetworkSecurityPerimeterDelete": {
+ "$ref": "./examples/NetworkSecurityPerimeterDelete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "NetworkSecurityPerimeters"
+ ],
+ "operationId": "NetworkSecurityPerimeters_Patch",
+ "description": "Patch Tags for a Network Security Perimeter.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateTagsRequest"
+ },
+ "description": "Parameter supplied to the network security perimeter."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request is successful. Returns the resulting network security perimeter resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityPerimeter"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Patch Network Security Perimeter": {
+ "$ref": "./examples/NetworkSecurityPerimeterPatch.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityPerimeters": {
+ "get": {
+ "tags": [
+ "NetworkSecurityPerimeters"
+ ],
+ "operationId": "NetworkSecurityPerimeters_ListBySubscription",
+ "description": "List all network security perimeters in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ListTopParameter"
+ },
+ {
+ "$ref": "#/parameters/ListSkipTokenParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request is successful. Returns the list of the network security perimeters.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityPerimeterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "NetworkSecurityPerimetersList": {
+ "$ref": "./examples/NetworkSecurityPerimeterListAll.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters": {
+ "get": {
+ "tags": [
+ "NetworkSecurityPerimeters"
+ ],
+ "operationId": "NetworkSecurityPerimeters_List",
+ "description": "List network security perimeters in a resource group.",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ListTopParameter"
+ },
+ {
+ "$ref": "#/parameters/ListSkipTokenParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request is successful. Returns a list of network security perimeters.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityPerimeterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Network Security Perimeter": {
+ "$ref": "./examples/NetworkSecurityPerimeterList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}": {
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "NspProfiles"
+ ],
+ "operationId": "NspProfiles_Get",
+ "description": "Gets the specified NSP profile.",
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the NSP profile.",
+ "schema": {
+ "$ref": "#/definitions/NspProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspProfilesGet": {
+ "$ref": "./examples/NspProfileGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NspProfiles"
+ ],
+ "operationId": "NspProfiles_CreateOrUpdate",
+ "description": "Creates or updates a network profile.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NspProfile"
+ },
+ "description": "Parameters that hold the NspProfile resource to be created/updated."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update - Profile is immutable resource. Returns the existing profile resource.",
+ "schema": {
+ "$ref": "#/definitions/NspProfile"
+ }
+ },
+ "201": {
+ "description": "Create - Returns the NspProfile resource created.",
+ "schema": {
+ "$ref": "#/definitions/NspProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspProfilesPut": {
+ "$ref": "./examples/NspProfilePut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NspProfiles"
+ ],
+ "operationId": "NspProfiles_Delete",
+ "description": "Deletes an NSP profile.",
+ "responses": {
+ "200": {
+ "description": "Delete Succeed."
+ },
+ "204": {
+ "description": "Request successful. The resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspProfilesDelete": {
+ "$ref": "./examples/NspProfileDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles": {
+ "get": {
+ "tags": [
+ "NspProfiles"
+ ],
+ "operationId": "NspProfiles_List",
+ "description": "Lists the NSP profiles in the specified network security perimeter.",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ListTopParameter"
+ },
+ {
+ "$ref": "#/parameters/ListSkipTokenParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the list of NSP profiles.",
+ "schema": {
+ "$ref": "#/definitions/NspProfileListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspProfilesList": {
+ "$ref": "./examples/NspProfileList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules/{accessRuleName}": {
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccessRuleNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "NspAccessRules"
+ ],
+ "operationId": "NspAccessRules_Get",
+ "description": "Gets the specified NSP access rule by name.",
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the NSP access rule.",
+ "schema": {
+ "$ref": "#/definitions/NspAccessRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspAccessRuleGet": {
+ "$ref": "./examples/NspAccessRuleGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NspAccessRules"
+ ],
+ "operationId": "NspAccessRules_CreateOrUpdate",
+ "description": "Creates or updates a network access rule.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NspAccessRule"
+ },
+ "description": "Parameters that hold the NspAccessRule resource to be created/updated."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updated - Existing access rule is updated. Returns the resource.",
+ "schema": {
+ "$ref": "#/definitions/NspAccessRule"
+ }
+ },
+ "201": {
+ "description": "Create - Returns the NspAccessRule resource created.",
+ "schema": {
+ "$ref": "#/definitions/NspAccessRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspAccessRulePut": {
+ "$ref": "./examples/NspAccessRulePut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NspAccessRules"
+ ],
+ "operationId": "NspAccessRules_Delete",
+ "description": "Deletes an NSP access rule.",
+ "responses": {
+ "200": {
+ "description": "Delete Succeed."
+ },
+ "204": {
+ "description": "Request successful. The resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspAccessRulesDelete": {
+ "$ref": "./examples/NspAccessRuleDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules": {
+ "get": {
+ "tags": [
+ "NspAccessRules"
+ ],
+ "operationId": "NspAccessRules_List",
+ "description": "Lists the NSP access rules in the specified NSP profile.",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ListTopParameter"
+ },
+ {
+ "$ref": "#/parameters/ListSkipTokenParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the list of NSP access rules.",
+ "schema": {
+ "$ref": "#/definitions/NspAccessRuleListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspAccessRulesList": {
+ "$ref": "./examples/NspAccessRuleList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}": {
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AssociationNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "NspAssociations"
+ ],
+ "operationId": "NspAssociations_Get",
+ "description": "Gets the specified NSP association by name.",
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the NSP resource association.",
+ "schema": {
+ "$ref": "#/definitions/NspAssociation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspAssociationGet": {
+ "$ref": "./examples/NspAssociationGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NspAssociations"
+ ],
+ "operationId": "NspAssociations_CreateOrUpdate",
+ "description": "Creates or updates a NSP resource association.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NspAssociation"
+ },
+ "description": "Parameters that hold the NspAssociation resource to be created/updated."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updated - Existing resource association is updated. Returns the resource.",
+ "schema": {
+ "$ref": "#/definitions/NspAssociation"
+ }
+ },
+ "201": {
+ "description": "Create - Returns the NspAssociation resource created.",
+ "schema": {
+ "$ref": "#/definitions/NspAssociation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspAssociationPut": {
+ "$ref": "./examples/NspAssociationPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NspAssociations"
+ ],
+ "operationId": "NspAssociations_Delete",
+ "description": "Deletes an NSP association resource.",
+ "responses": {
+ "200": {
+ "description": "Delete Succeed."
+ },
+ "202": {
+ "description": "Delete in progress.",
+ "headers": {
+ "location": {
+ "description": "location header",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Request successful. The resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "NspAssociationDelete": {
+ "$ref": "./examples/NspAssociationDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations": {
+ "get": {
+ "tags": [
+ "NspAssociations"
+ ],
+ "operationId": "NspAssociations_List",
+ "description": "Lists the NSP resource associations.",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ListTopParameter"
+ },
+ {
+ "$ref": "#/parameters/ListSkipTokenParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the list of NSP resource associations.",
+ "schema": {
+ "$ref": "#/definitions/NspAssociationsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspAssociationList": {
+ "$ref": "./examples/NspAssociationList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}/reconcile": {
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AssociationNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "post": {
+ "tags": [
+ "NspAssociationReconcile"
+ ],
+ "operationId": "NspAssociationReconcile_Post",
+ "description": "Reconcile NSP association",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NspAssociationReconcile"
+ },
+ "description": "Parameters for NSP association reconcile"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Reconcile NSP association.",
+ "schema": {
+ "$ref": "#/definitions/NspAssociationReconcile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspAssociationReconcile": {
+ "$ref": "./examples/NspAssociationReconcile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/perimeterAssociableResourceTypes": {
+ "get": {
+ "operationId": "PerimeterAssociableResourceTypes_List",
+ "description": "Gets the list of resources that are onboarded with NSP. These resources can be associated with a network security perimeter",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the list of resources that are onboarded with network security perimeter feature.",
+ "schema": {
+ "$ref": "#/definitions/PerimeterAssociableResourcesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Check Dns Name Availability": {
+ "$ref": "./examples/PerimeterAssociableResourcesList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules/{accessRuleName}/reconcile": {
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccessRuleNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "post": {
+ "tags": [
+ "NspAccessRulesReconcile"
+ ],
+ "operationId": "NspAccessRulesReconcile_Post",
+ "description": "Reconcile NSP access rules",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NspAccessRuleReconcile"
+ },
+ "description": "Parameters for NSP access rule reconcile"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Reconcile NSP access rule.",
+ "schema": {
+ "$ref": "#/definitions/NspAccessRuleReconcile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspAccessRuleReconcile": {
+ "$ref": "./examples/NspAccessRuleReconcile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links/{linkName}": {
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LinkNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "NspLinks"
+ ],
+ "operationId": "NspLinks_Get",
+ "description": "Gets the specified NSP link resource.",
+ "responses": {
+ "200": {
+ "description": "OK - Returns NSP link resource.",
+ "schema": {
+ "$ref": "#/definitions/NspLink"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspLinksGet": {
+ "$ref": "./examples/NspLinkGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NspLinks"
+ ],
+ "operationId": "NspLinks_CreateOrUpdate",
+ "description": "Creates or updates NSP link resource.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NspLink"
+ },
+ "description": "Parameters that hold the NspLink resource to be created/updated."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updated - Existing NspLink resource is updated. Returns the resource.",
+ "schema": {
+ "$ref": "#/definitions/NspLink"
+ }
+ },
+ "201": {
+ "description": "Create - Returns the NspLink resource created.",
+ "schema": {
+ "$ref": "#/definitions/NspLink"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspLinksPut": {
+ "$ref": "./examples/NspLinkPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NspLinks"
+ ],
+ "operationId": "NspLinks_Delete",
+ "description": "Deletes an NSP Link resource.",
+ "responses": {
+ "200": {
+ "description": "Delete Succeed."
+ },
+ "202": {
+ "description": "Delete in progress.",
+ "headers": {
+ "location": {
+ "description": "location header",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Request successful. The resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "NspLinkDelete": {
+ "$ref": "./examples/NspLinkDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links": {
+ "get": {
+ "tags": [
+ "NspLinks"
+ ],
+ "operationId": "NspLinks_List",
+ "description": "Lists the NSP Link resources in the specified network security perimeter.",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ListTopParameter"
+ },
+ {
+ "$ref": "#/parameters/ListSkipTokenParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the list of NSP link resources.",
+ "schema": {
+ "$ref": "#/definitions/NspLinkListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspLinkList": {
+ "$ref": "./examples/NspLinkList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/linkReferences/{linkReferenceName}": {
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LinkReferenceNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "NspLinkReferences"
+ ],
+ "operationId": "NspLinkReferences_Get",
+ "description": "Gets the specified NSP linkReference resource.",
+ "responses": {
+ "200": {
+ "description": "OK - Returns the NSP linkReference resource.",
+ "schema": {
+ "$ref": "#/definitions/NspLinkReference"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspLinkReferencesGet": {
+ "$ref": "./examples/NspLinkReferenceGet.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NspLinkReferences"
+ ],
+ "operationId": "NspLinkReferences_Delete",
+ "description": "Deletes an NSP LinkReference resource.",
+ "responses": {
+ "200": {
+ "description": "Delete Succeed."
+ },
+ "202": {
+ "description": "Delete in progress.",
+ "headers": {
+ "location": {
+ "description": "location header",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Request successful. The resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "NspLinkReferenceDelete": {
+ "$ref": "./examples/NspLinkReferenceDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/linkReferences": {
+ "get": {
+ "tags": [
+ "NspLinkReferences"
+ ],
+ "operationId": "NspLinkReferences_List",
+ "description": "Lists the NSP LinkReference resources in the specified network security perimeter.",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ListTopParameter"
+ },
+ {
+ "$ref": "#/parameters/ListSkipTokenParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the list of NSP linkReference resources.",
+ "schema": {
+ "$ref": "#/definitions/NspLinkReferenceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspLinkReferenceList": {
+ "$ref": "./examples/NspLinkReferenceList.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NetworkSecurityPerimeter": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NetworkSecurityPerimeterProperties",
+ "description": "The network security perimeter properties"
+ },
+ "location": {
+ "type": "string",
+ "description": "The location in which NSP is created."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Network security perimeter identifier."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "The Network Security Perimeter resource"
+ },
+ "NetworkSecurityPerimeterListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkSecurityPerimeter"
+ },
+ "description": "Gets a page of NetworkSecurityPerimeter"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Gets the URL to get the next page of results."
+ }
+ },
+ "description": "Result of the request to list NetworkSecurityPerimeter. It contains a list of network security perimeters and a URL link to get the next set of results."
+ },
+ "NetworkSecurityPerimeterProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "#/definitions/NSPProvisioningState",
+ "description": "The provisioning state of the scope assignment resource."
+ },
+ "perimeterGuid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "perimeter guid of the network security perimeter."
+ }
+ },
+ "description": "Properties of network security perimeter."
+ },
+ "UpdateTagsRequest": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Network security perimeter identifier."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "List of tags for Network Security Perimeter"
+ }
+ },
+ "description": "Update tags request."
+ },
+ "NspProfile": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NspProfileProperties",
+ "description": "Properties of the network security perimeter profile"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the profile resource that is unique within a perimeter. This name can be used to access the resource."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Identifier of the network security perimeter profile in ARM id format."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "The network security perimeter profile resource"
+ },
+ "NspProfileListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NspProfile"
+ },
+ "description": "Gets a page of NSP profile"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Gets the URL to get the next page of results."
+ }
+ },
+ "description": "Result of the request to list NSP profiles. Contains a list of NSP profiles and a URL link to get the next set of results."
+ },
+ "NspProfileProperties": {
+ "type": "object",
+ "properties": {
+ "accessRulesVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Version number that increases with every update to access rules within the profile."
+ },
+ "diagnosticSettingsVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Version number that increases with every update to diagnostic settings within the profile."
+ }
+ },
+ "description": "Properties of NSP profile."
+ },
+ "NspAccessRule": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NspAccessRuleProperties",
+ "description": "Properties of the NSP access rule."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the access rule that is unique within a profile. This name can be used to access the resource."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "NSP access rule identifier."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "The NSP access rule resource"
+ },
+ "NspAccessRuleListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NspAccessRule"
+ },
+ "description": "Gets a page of NSP access rule"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Gets the URL to get the next page of results."
+ }
+ },
+ "description": "Result of the request to list NSP access rules. Contains a list of NSP access rules and a URL link to get the next set of results."
+ },
+ "NspAccessRuleProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "#/definitions/NSPProvisioningState",
+ "description": "The provisioning state of the scope assignment resource."
+ },
+ "direction": {
+ "type": "string",
+ "enum": [
+ "Inbound",
+ "Outbound"
+ ],
+ "x-ms-enum": {
+ "name": "AccessRuleDirection",
+ "modelAsString": true
+ },
+ "description": "Direction that specifies whether the access rules is inbound/outbound."
+ },
+ "addressPrefixes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Inbound address prefixes (IPv4/IPv6)"
+ },
+ "fullyQualifiedDomainNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Outbound rules fully qualified domain name format."
+ },
+ "subscriptions": {
+ "type": "array",
+ "items": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SubscriptionId"
+ },
+ "description": "List of subscription ids"
+ },
+ "networkSecurityPerimeters": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PerimeterBasedAccessRule"
+ },
+ "description": "Rule specified by the perimeter id."
+ },
+ "emailAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Outbound rules email address format."
+ },
+ "phoneNumbers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Outbound rules phone number format."
+ }
+ },
+ "description": "Properties of NSP access rule."
+ },
+ "SubscriptionId": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Subscription id in the ARM id format."
+ }
+ }
+ },
+ "PerimeterBasedAccessRule": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "NSP id in the ARM id format."
+ },
+ "perimeterGuid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource guid of the NSP supplied."
+ },
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Location of the NSP supplied."
+ }
+ }
+ },
+ "NspAssociation": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NspAssociationProperties",
+ "description": "Properties of the NSP resource association."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "NSP resource association identifier."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "The NSP resource association resource"
+ },
+ "NspAssociationsListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NspAssociation"
+ },
+ "description": "Gets a page of NSP resource associations"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Gets the URL to get the next page of results."
+ }
+ },
+ "description": "Result of the request to list NSP resource associations. Contains a list of NSP resource associations and a URL link to get the next set of results."
+ },
+ "NspAssociationProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "#/definitions/NSPProvisioningState",
+ "description": "The provisioning state of the resource association resource."
+ },
+ "privateLinkResource": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The PaaS resource to be associated."
+ },
+ "profile": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Profile id to which the PaaS resource is associated."
+ },
+ "accessMode": {
+ "type": "string",
+ "enum": [
+ "Learning",
+ "Enforced",
+ "Audit"
+ ],
+ "x-ms-enum": {
+ "name": "AssociationAccessMode",
+ "modelAsString": true
+ },
+ "description": "Access mode on the association."
+ },
+ "hasProvisioningIssues": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies if there are provisioning issues"
+ }
+ }
+ },
+ "NspAssociationReconcile": {
+ "type": "object",
+ "properties": {},
+ "description": "Request object for NSP association."
+ },
+ "PerimeterAssociableResource": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PerimeterAssociableResourceProperties",
+ "description": "Properties of the perimeter associable resource."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Identifier of the perimeter associable resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Resource that is onboarded to use network security perimeter. Also referred as perimeter associable resource."
+ },
+ "PerimeterAssociableResourcesListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PerimeterAssociableResource"
+ },
+ "description": "Gets paged list of perimeter associable resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Gets the URL to get the next page of results."
+ }
+ },
+ "description": "Paged list of perimeter associable resources."
+ },
+ "PerimeterAssociableResourceProperties": {
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A friendly name for the properties of perimeter associable resources."
+ },
+ "resourceType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type/provider name."
+ },
+ "publicDnsZones": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Public DNS zone names of the resources."
+ }
+ },
+ "description": "Properties of the perimeter associable resources."
+ },
+ "NSPProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Accepted",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "nspProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "NSPLinkProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state of NSP Link/LinkReference.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Accepted",
+ "Failed",
+ "WaitForRemoteCompletion"
+ ],
+ "x-ms-enum": {
+ "name": "nspLinkProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "NspAccessRuleReconcile": {
+ "type": "object",
+ "properties": {},
+ "description": "Request object for NSP reconcile."
+ },
+ "NspLink": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NspLinkProperties",
+ "description": "Properties of the network security perimeter link resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "The network security perimeter link resource"
+ },
+ "NspLinkListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NspLink"
+ },
+ "description": "Gets a page of NSP Link resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Gets the URL to get the next page of results."
+ }
+ },
+ "description": "Result of the request to list NSP link resources. Contains a list of NSP link resources and a URL link to get the next set of results."
+ },
+ "NspLinkProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "#/definitions/NSPLinkProvisioningState",
+ "description": "The provisioning state of the NSP Link resource."
+ },
+ "autoApprovedRemotePerimeterResourceId": {
+ "type": "string",
+ "description": "Perimeter ARM Id for the remote NSP with which the link gets created in Auto-approval mode. It should be used when the NSP admin have Microsoft.Network/networkSecurityPerimeters/linkPerimeter/action permission on the remote NSP resource.",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "remotePerimeterGuid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Remote NSP Guid with which the link gets created."
+ },
+ "remotePerimeterLocation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Remote NSP location with which the link gets created."
+ },
+ "localInboundProfiles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Local Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. It's default value is ['*'].",
+ "uniqueItems": true
+ },
+ "localOutboundProfiles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "Local Outbound profile names from which Outbound is allowed. In current version, it is readonly property and it's value is set to ['*'] to allow outbound from all profiles. In later version, user will be able to modify it.",
+ "uniqueItems": true
+ },
+ "remoteInboundProfiles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Remote Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. This property can only be updated in auto-approval mode. It's default value is ['*'].",
+ "uniqueItems": true
+ },
+ "remoteOutboundProfiles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "Remote Outbound profile names from which Outbound is allowed. In current version, it is readonly property and it's value is set to ['*'] to allow outbound from all profiles. In later version, user will be able to modify it.",
+ "uniqueItems": true
+ },
+ "description": {
+ "type": "string",
+ "description": "A message passed to the owner of the remote NSP link resource with this connection request. In case of Auto-approved flow, it is default to 'Auto Approved'. Restricted to 140 chars."
+ },
+ "status": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The NSP link state.",
+ "enum": [
+ "Approved",
+ "Pending",
+ "Rejected",
+ "Disconnected"
+ ],
+ "x-ms-enum": {
+ "name": "nspLinkStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Properties of NSP Link resource."
+ },
+ "NspLinkReference": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NspLinkReferenceProperties",
+ "description": "Properties of the network security perimeter linkReference resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "The network security perimeter linkReference resource"
+ },
+ "NspLinkReferenceListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NspLinkReference"
+ },
+ "description": "Gets a page of NSP LinkReference resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Gets the URL to get the next page of results."
+ }
+ },
+ "description": "Result of the request to list NSP linkReference resources. Contains a list of NSP linkReference resources and a URL link to get the next set of results."
+ },
+ "NspLinkReferenceProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "#/definitions/NSPLinkProvisioningState",
+ "description": "The provisioning state of the NSP LinkReference resource."
+ },
+ "remotePerimeterResourceId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Perimeter ARM Id for the remote NSP with which the link is created."
+ },
+ "remotePerimeterGuid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Remote NSP Guid with which the link is created."
+ },
+ "remotePerimeterLocation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Remote NSP location with which the link gets created."
+ },
+ "localInboundProfiles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Local Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. It's default value is ['*'].",
+ "uniqueItems": true
+ },
+ "localOutboundProfiles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "Local Outbound profile names from which Outbound is allowed. Use ['*'] to allow outbound from all profiles. It's default value is ['*'].",
+ "uniqueItems": true
+ },
+ "remoteInboundProfiles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "Remote Inbound profile names to which Inbound is allowed. ['*'] value implies inbound is allowed to all profiles at remote perimeter. This property can only be updated from remote perimeter."
+ },
+ "remoteOutboundProfiles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "Remote Outbound profile names from which Outbound is allowed. ['*'] value implies outbound is allowed from all profiles at remote perimeter. This property can only be updated from remote perimeter."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A message sent by the remote NSP link admin for connection request. In case of Auto-approved flow, it is default to 'Auto Approved'."
+ },
+ "status": {
+ "type": "string",
+ "description": "The NSP linkReference state. It cannot be changed if link is created in auto-approval mode.",
+ "enum": [
+ "Approved",
+ "Pending",
+ "Rejected",
+ "Disconnected"
+ ],
+ "x-ms-enum": {
+ "name": "nspLinkStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Properties of NSP LinkReference resource."
+ }
+ },
+ "parameters": {
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "NetworkSecurityPerimeterNameParameter": {
+ "name": "networkSecurityPerimeterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security perimeter.",
+ "x-ms-parameter-location": "method"
+ },
+ "ProfileNameParameter": {
+ "name": "profileName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the NSP profile.",
+ "x-ms-parameter-location": "method"
+ },
+ "AccessRuleNameParameter": {
+ "name": "accessRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the NSP access rule.",
+ "x-ms-parameter-location": "method"
+ },
+ "AssociationNameParameter": {
+ "name": "associationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the NSP association.",
+ "x-ms-parameter-location": "method"
+ },
+ "LinkNameParameter": {
+ "name": "linkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the NSP link.",
+ "x-ms-parameter-location": "method"
+ },
+ "LinkReferenceNameParameter": {
+ "name": "linkReferenceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the NSP linkReference.",
+ "x-ms-parameter-location": "method"
+ },
+ "ListTopParameter": {
+ "name": "$top",
+ "description": "An optional query parameter which specifies the maximum number of records to be returned by the server.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 20,
+ "x-ms-parameter-location": "method"
+ },
+ "ListSkipTokenParameter": {
+ "name": "$skipToken",
+ "description": "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "NetworkSecurityPerimeterProfileParameter": {
+ "name": "networkSecurityPerimeterProfile",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security perimeter profile.",
+ "x-ms-parameter-location": "method"
+ },
+ "LocationParameter": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of network security perimeter.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterDelete.json
new file mode 100644
index 000000000000..e1b5cbc391ca
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterDelete.json
@@ -0,0 +1,13 @@
+{
+ "title": "Delete Network Security Perimeter",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "testNSP1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterGet.json
new file mode 100644
index 000000000000..1e9ddfab2f9b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterGet.json
@@ -0,0 +1,24 @@
+{
+ "title": "Get Network Security Perimeter",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "nsp1",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1",
+ "type": "Microsoft.Network/networkSecurityPerimeters",
+ "tags": {},
+ "location": "East US 2 EUAP",
+ "properties": {
+ "perimeterGuid": "guid",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterList.json
new file mode 100644
index 000000000000..a435a9e84cf6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterList.json
@@ -0,0 +1,39 @@
+{
+ "title": "List Network Security Perimeter",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testNSP1",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/testNSP1",
+ "type": "Microsoft.Network/networkSecurityPerimeters",
+ "tags": {},
+ "location": "East US 2 EUAP",
+ "properties": {
+ "perimeterGuid": "guid",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "name": "testNSP2",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/testNSP2",
+ "type": "Microsoft.Network/networkSecurityPerimeters",
+ "tags": {},
+ "location": "East US 2 EUAP",
+ "properties": {
+ "perimeterGuid": "guid",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters?api-version=2023-08-01-preview&$skipToken=10"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterListAll.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterListAll.json
new file mode 100644
index 000000000000..ccc2f6479178
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterListAll.json
@@ -0,0 +1,38 @@
+{
+ "title": "List all the Network Security Perimeters in a Subscription",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testNSP1",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/testNSP1",
+ "type": "Microsoft.Network/networkSecurityPerimeters",
+ "tags": {},
+ "location": "East US 2 EUAP",
+ "properties": {
+ "perimeterGuid": "guid",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "name": "testNSP2",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/testNSP2",
+ "type": "Microsoft.Network/networkSecurityPerimeters",
+ "tags": {},
+ "location": "East US 2 EUAP",
+ "properties": {
+ "perimeterGuid": "guid",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "nextLink": "{baseurl}/subscriptions/subId/providers/Microsoft.Network/networkSecurityPerimeters?api-version=2023-08-01-preview&$skipToken=10"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterPatch.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterPatch.json
new file mode 100644
index 000000000000..86900847a86f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterPatch.json
@@ -0,0 +1,31 @@
+{
+ "title": "Patch Network Security Perimeter",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "parameters": {
+ "tags": {
+ "description": "nsp1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "TestNetworkSecurityPerimeter",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter",
+ "type": "Microsoft.Network/networkSecurityPerimeters",
+ "tags": {
+ "description": "nsp1"
+ },
+ "location": "East US 2 EUAP",
+ "properties": {
+ "perimeterGuid": "guid",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterPut.json
new file mode 100644
index 000000000000..7d4cf388344a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterPut.json
@@ -0,0 +1,40 @@
+{
+ "title": "Create/Update Network Security Perimeter",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "parameters": {
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "TestNetworkSecurityPerimeter",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter",
+ "type": "Microsoft.Network/networkSecurityPerimeters",
+ "tags": {},
+ "location": "East US 2 EUAP",
+ "properties": {
+ "perimeterGuid": "guid",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "TestNetworkSecurityPerimeter",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter",
+ "type": "Microsoft.Network/networkSecurityPerimeters",
+ "tags": {},
+ "location": "East US 2 EUAP",
+ "properties": {
+ "perimeterGuid": "guid",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleDelete.json
new file mode 100644
index 000000000000..672f8b0419aa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleDelete.json
@@ -0,0 +1,15 @@
+{
+ "title": "Delete NSP access rule",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "profileName": "profile1",
+ "accessRuleName": "accessRule1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleGet.json
new file mode 100644
index 000000000000..8f9bbdeeaab2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleGet.json
@@ -0,0 +1,34 @@
+{
+ "title": "Get NSP Access Rule",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "profileName": "profile1",
+ "accessRuleName": "accessRule1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "accessRule1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "direction": "Outbound",
+ "addressPrefixes": [],
+ "fullyQualifiedDomainNames": [
+ "paasrp1.contoso.org",
+ "paasrp2.contoso.org"
+ ],
+ "subscriptions": [],
+ "networkSecurityPerimeters": [],
+ "emailAddresses": [],
+ "phoneNumbers": [],
+ "serviceTags": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleList.json
new file mode 100644
index 000000000000..6ed4eacde4c2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleList.json
@@ -0,0 +1,57 @@
+{
+ "title": "List NSP Access Rules",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "accessRule1",
+ "id": "/subscriptions/rg1/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "direction": "Inbound",
+ "addressPrefixes": [
+ "10.11.0.0/16",
+ "10.10.1.0/24"
+ ],
+ "fullyQualifiedDomainNames": [],
+ "subscriptions": [],
+ "networkSecurityPerimeters": [],
+ "emailAddresses": [],
+ "phoneNumbers": [],
+ "serviceTags": []
+ }
+ },
+ {
+ "name": "accessRule2",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule2",
+ "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "direction": "Outbound",
+ "addressPrefixes": [],
+ "fullyQualifiedDomainNames": [
+ "paasrp1.contoso.org",
+ "paasrp2.contoso.org"
+ ],
+ "subscriptions": [],
+ "networkSecurityPerimeters": [],
+ "emailAddresses": [],
+ "phoneNumbers": [],
+ "serviceTags": []
+ }
+ }
+ ],
+ "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules?api-version=2023-08-01-preview&$skipToken=10"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRulePut.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRulePut.json
new file mode 100644
index 000000000000..bbad41eaa228
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRulePut.json
@@ -0,0 +1,64 @@
+{
+ "title": "Create/Update NSP access rule",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "profileName": "profile1",
+ "accessRuleName": "accessRule1",
+ "parameters": {
+ "properties": {
+ "direction": "Inbound",
+ "addressPrefixes": [
+ "10.11.0.0/16",
+ "10.10.1.0/24"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "accessRule1",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "direction": "Inbound",
+ "addressPrefixes": [
+ "10.11.0.0/16",
+ "10.10.1.0/24"
+ ],
+ "fullyQualifiedDomainNames": [],
+ "subscriptions": [],
+ "networkSecurityPerimeters": [],
+ "emailAddresses": [],
+ "phoneNumbers": [],
+ "serviceTags": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "accessRule1",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "direction": "Inbound",
+ "addressPrefixes": [
+ "10.11.0.0/16",
+ "10.10.1.0/24"
+ ],
+ "fullyQualifiedDomainNames": [],
+ "subscriptions": [],
+ "networkSecurityPerimeters": [],
+ "emailAddresses": [],
+ "phoneNumbers": [],
+ "serviceTags": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleReconcile.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleReconcile.json
new file mode 100644
index 000000000000..c00bcaf701c3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleReconcile.json
@@ -0,0 +1,19 @@
+{
+ "title": "Reconcile NSP access rule",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "profileName": "profile1",
+ "accessRuleName": "accessRuleName1",
+ "parameters": {
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationDelete.json
new file mode 100644
index 000000000000..767e90f16bab
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationDelete.json
@@ -0,0 +1,20 @@
+{
+ "title": "Delete NSP resource association",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "associationName": "association1",
+ "operationId": "operationId1"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}/operationResults/{operationId}?api-version={api-version}"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationGet.json
new file mode 100644
index 000000000000..5d9044d8babb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationGet.json
@@ -0,0 +1,30 @@
+{
+ "title": "Get NSP resource association",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "associationName": "association1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "association1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkResource": {
+ "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}"
+ },
+ "profile": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}"
+ },
+ "accessMode": "Enforced",
+ "hasProvisioningIssues": "no"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationList.json
new file mode 100644
index 000000000000..8d7eddaba902
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationList.json
@@ -0,0 +1,66 @@
+{
+ "title": "List NSP resource associations",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "association1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkResource": {
+ "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}"
+ },
+ "profile": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}"
+ },
+ "accessMode": "Enforced",
+ "hasProvisioningIssues": "no"
+ }
+ },
+ {
+ "name": "association2",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association2",
+ "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkResource": {
+ "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}"
+ },
+ "profile": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}"
+ },
+ "accessMode": "Audit",
+ "hasProvisioningIssues": "no"
+ }
+ },
+ {
+ "name": "association3",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association3",
+ "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations",
+ "properties": {
+ "provisioningState": "Failed",
+ "privateLinkResource": {
+ "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}"
+ },
+ "profile": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}"
+ },
+ "accessMode": "Learning",
+ "hasProvisioningIssues": "yes"
+ }
+ }
+ ],
+ "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations?api-version=2023-08-01-preview&$skipToken=10"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationPut.json
new file mode 100644
index 000000000000..8752d66b4e72
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationPut.json
@@ -0,0 +1,59 @@
+{
+ "title": "Create/Update NSP association",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "associationName": "association1",
+ "parameters": {
+ "properties": {
+ "privateLinkResource": {
+ "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}"
+ },
+ "profile": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}"
+ },
+ "accessMode": "Enforced"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "association1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkResource": {
+ "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}"
+ },
+ "profile": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}"
+ },
+ "accessMode": "Enforced",
+ "hasProvisioningIssues": "no"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "association1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkResource": {
+ "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}"
+ },
+ "profile": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}"
+ },
+ "accessMode": "Enforced",
+ "hasProvisioningIssues": "no"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationReconcile.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationReconcile.json
new file mode 100644
index 000000000000..aa8b29194f8e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationReconcile.json
@@ -0,0 +1,18 @@
+{
+ "title": "Reconcile NSP association",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "associationName": "association1",
+ "parameters": {
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkDelete.json
new file mode 100644
index 000000000000..cd222844927d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkDelete.json
@@ -0,0 +1,19 @@
+{
+ "title": "Delete NSP link",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "linkName": "link1"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links/{linkName}/operationResults/{operationId}?api-version={api-version}"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkGet.json
new file mode 100644
index 000000000000..cb9905aeab32
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkGet.json
@@ -0,0 +1,39 @@
+{
+ "title": "Get NSP Link",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "linkName": "link1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "link1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/links/link1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/links",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "autoApprovedRemotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2",
+ "remotePerimeterGuid": "guid",
+ "remotePerimeterLocation": "westus2",
+ "localInboundProfiles": [
+ "*"
+ ],
+ "localOutboundProfiles": [
+ "*"
+ ],
+ "remoteInboundProfiles": [
+ "*"
+ ],
+ "remoteOutboundProfiles": [
+ "*"
+ ],
+ "description": "Auto Approved",
+ "status": "Approved"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkList.json
new file mode 100644
index 000000000000..b622f3cdb391
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkList.json
@@ -0,0 +1,43 @@
+{
+ "title": "List NSP Links",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "link1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/links/link1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/links",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "autoApprovedRemotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2",
+ "remotePerimeterGuid": "guid",
+ "remotePerimeterLocation": "westus2",
+ "localInboundProfiles": [
+ "*"
+ ],
+ "localOutboundProfiles": [
+ "*"
+ ],
+ "remoteInboundProfiles": [
+ "*"
+ ],
+ "remoteOutboundProfiles": [
+ "*"
+ ],
+ "description": "Auto Approved",
+ "status": "Approved"
+ }
+ }
+ ],
+ "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/links?api-version=2023-08-01-preview&$skipToken=10"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkPut.json
new file mode 100644
index 000000000000..75f309aaed62
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkPut.json
@@ -0,0 +1,71 @@
+{
+ "title": "Create/Update NSP link",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "linkName": "link1",
+ "parameters": {
+ "properties": {
+ "autoApprovedRemotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "link1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/links/link1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/links",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "autoApprovedRemotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2",
+ "remotePerimeterGuid": "guid",
+ "remotePerimeterLocation": "westus2",
+ "localInboundProfiles": [
+ "*"
+ ],
+ "localOutboundProfiles": [
+ "*"
+ ],
+ "remoteInboundProfiles": [
+ "*"
+ ],
+ "remoteOutboundProfiles": [
+ "*"
+ ],
+ "description": "Auto Approved",
+ "status": "Approved"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "link1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/links/link1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/links",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "autoApprovedRemotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2",
+ "remotePerimeterGuid": "guid",
+ "remotePerimeterLocation": "westus2",
+ "localInboundProfiles": [
+ "*"
+ ],
+ "localOutboundProfiles": [
+ "*"
+ ],
+ "remoteInboundProfiles": [
+ "*"
+ ],
+ "remoteOutboundProfiles": [
+ "*"
+ ],
+ "description": "Auto Approved",
+ "status": "Approved"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkReferenceDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkReferenceDelete.json
new file mode 100644
index 000000000000..6e1d9b00b3d9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkReferenceDelete.json
@@ -0,0 +1,19 @@
+{
+ "title": "Delete NSP linkReference",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp2",
+ "linkReferenceName": "link1-guid"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/linkreferences/{linkReferenceName}/operationResults/{operationId}?api-version={api-version}"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkReferenceGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkReferenceGet.json
new file mode 100644
index 000000000000..57f1590fcbb3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkReferenceGet.json
@@ -0,0 +1,39 @@
+{
+ "title": "Get NSP LinkReference",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp2",
+ "linkReferenceName": "link1-guid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "link1-guid",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2/linkreferences/link1-guid",
+ "type": "Microsoft.Network/networkSecurityPerimeters/linkreferences",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1",
+ "remotePerimeterGuid": "guid",
+ "remotePerimeterLocation": "westus2",
+ "localInboundProfiles": [
+ "*"
+ ],
+ "localOutboundProfiles": [
+ "*"
+ ],
+ "remoteInboundProfiles": [
+ "*"
+ ],
+ "remoteOutboundProfiles": [
+ "*"
+ ],
+ "description": "Auto Approved",
+ "status": "Approved"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkReferenceList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkReferenceList.json
new file mode 100644
index 000000000000..0cd01f09f26d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkReferenceList.json
@@ -0,0 +1,43 @@
+{
+ "title": "List NSP LinkReferences",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "link1-guid",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2/linkreferences/link1-guid",
+ "type": "Microsoft.Network/networkSecurityPerimeters/linkreferences",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1",
+ "remotePerimeterGuid": "guid",
+ "remotePerimeterLocation": "westus2",
+ "localInboundProfiles": [
+ "*"
+ ],
+ "localOutboundProfiles": [
+ "*"
+ ],
+ "remoteInboundProfiles": [
+ "*"
+ ],
+ "remoteOutboundProfiles": [
+ "*"
+ ],
+ "description": "Auto Approved",
+ "status": "Approved"
+ }
+ }
+ ],
+ "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2/linkreferences?api-version=2023-08-01-preview&$skipToken=10"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfileDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfileDelete.json
new file mode 100644
index 000000000000..11c936beac22
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfileDelete.json
@@ -0,0 +1,14 @@
+{
+ "title": "Delete NSP profile",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfileGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfileGet.json
new file mode 100644
index 000000000000..9445ec71b721
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfileGet.json
@@ -0,0 +1,24 @@
+{
+ "title": "Get NSP Profile",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "nsp1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/profiles",
+ "location": "resource location",
+ "properties": {
+ "accessRulesVersion": "0",
+ "diagnosticSettingsVersion": "0"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfileList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfileList.json
new file mode 100644
index 000000000000..f7f61f691691
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfileList.json
@@ -0,0 +1,38 @@
+{
+ "title": "List NSP Profiles",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "profile1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/profiles",
+ "location": "resource location",
+ "properties": {
+ "accessRulesVersion": "0",
+ "diagnosticSettingsVersion": "0"
+ }
+ },
+ {
+ "name": "profile2",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile2",
+ "type": "Microsoft.Network/networkSecurityPerimeters/profiles",
+ "location": "resource location",
+ "properties": {
+ "accessRulesVersion": "0",
+ "diagnosticSettingsVersion": "0"
+ }
+ }
+ ],
+ "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles?api-version=2023-08-01-preview&$skipToken=10"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfilePut.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfilePut.json
new file mode 100644
index 000000000000..b2850811956c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfilePut.json
@@ -0,0 +1,39 @@
+{
+ "title": "Create/Update NSP profile",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rg1",
+ "networkSecurityPerimeterName": "nsp1",
+ "profileName": "profile1",
+ "parameters": {
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "profile1",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/profiles",
+ "location": "East US 2 EUAP",
+ "properties": {
+ "accessRulesVersion": "0",
+ "diagnosticSettingsVersion": "0"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "profile1",
+ "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1",
+ "type": "Microsoft.Network/networkSecurityPerimeters/profiles",
+ "location": "East US 2 EUAP",
+ "properties": {
+ "accessRulesVersion": "0",
+ "diagnosticSettingsVersion": "0"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/PerimeterAssociableResourcesList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/PerimeterAssociableResourcesList.json
new file mode 100644
index 000000000000..51b4495727d0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/PerimeterAssociableResourcesList.json
@@ -0,0 +1,44 @@
+{
+ "title": "List of resources onboarded for network security perimeter feature (perimeter associable resources).",
+ "parameters": {
+ "api-version": "2023-08-01-preview",
+ "subscriptionId": "subId",
+ "location": "westus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Sql.servers",
+ "id": "/subscriptions/{subscriptionID}/providers/Microsoft.Network/perimeterAssociableResourceTypes/Microsoft.Sql.servers",
+ "type": "Microsoft.Network/PerimeterAssociableResourceTypes",
+ "properties": {
+ "resourceType": "Microsoft.Sql/servers",
+ "displayName": "Microsoft.Sql/servers",
+ "publicDnsZones": [
+ "database.windows.net"
+ ]
+ }
+ },
+ {
+ "name": "Microsoft.Storage.accounts",
+ "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Network/perimeterAssociableResourceTypes/Microsoft.Storage.storageAccounts",
+ "type": "Microsoft.Network/PerimeterAssociableResourceTypes",
+ "properties": {
+ "resourceType": "Microsoft.Storage/accounts",
+ "displayName": "Microsoft.Storage/accounts",
+ "publicDnsZones": [
+ "blob.core.windows.net",
+ "table.core.windows.net",
+ "queue.core.windows.net",
+ "file.core.windows.net"
+ ]
+ }
+ }
+ ],
+ "nextLink": "{baseurl}/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/perimeterAssociableResourceTypes?api-version=2023-08-01-preview&$skipToken=10"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/network.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/network.json
new file mode 100644
index 000000000000..e0428db6a2dc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/network.json
@@ -0,0 +1,438 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "NetworkManagementClient",
+ "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.",
+ "version": "2023-08-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {},
+ "definitions": {
+ "ErrorDetails": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ }
+ },
+ "description": "Common error details representation."
+ },
+ "Error": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetails"
+ },
+ "description": "Error details."
+ },
+ "innerError": {
+ "type": "string",
+ "description": "Inner error message."
+ }
+ },
+ "description": "Common error representation."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Cloud error body."
+ }
+ },
+ "description": "An error response from the service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the service."
+ },
+ "AzureAsyncOperationResult": {
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Status of the Azure async operation.",
+ "enum": [
+ "InProgress",
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkOperationStatus",
+ "modelAsString": true
+ }
+ },
+ "error": {
+ "$ref": "#/definitions/Error",
+ "description": "Details of the error occurred during specified asynchronous operation."
+ }
+ },
+ "description": "The response body contains the status of the specified asynchronous operation, indicating whether it has succeeded, is in progress, or has failed. Note that this status is distinct from the HTTP status code returned for the Get Operation Status operation itself. If the asynchronous operation succeeded, the response body includes the HTTP status code for the successful request. If the asynchronous operation failed, the response body includes the HTTP status code for the failed request and error information regarding the failure."
+ },
+ "Resource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "description": "Common resource representation.",
+ "x-ms-azure-resource": true
+ },
+ "ProxyResource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "description": "Proxy resource representation.",
+ "x-ms-azure-resource": true
+ },
+ "SubResource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource ID."
+ }
+ },
+ "description": "Reference to another subresource.",
+ "x-ms-azure-resource": true
+ },
+ "TagsObject": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "description": "Tags object for patch operations."
+ },
+ "SystemData": {
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "createdBy": {
+ "type": "string",
+ "description": "The identity that created the resource."
+ },
+ "createdByType": {
+ "type": "string",
+ "description": "The type of identity that created the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of resource creation (UTC)."
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "The identity that last modified the resource."
+ },
+ "lastModifiedByType": {
+ "type": "string",
+ "description": "The type of identity that last modified the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The type of identity that last modified the resource."
+ }
+ }
+ },
+ "ManagedServiceIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the system assigned identity. This property will only be provided for a system assigned identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the system assigned identity. This property will only be provided for a system assigned identity."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "description": "The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
+ }
+ },
+ "description": "Identity for the resource."
+ },
+ "ProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "Access": {
+ "type": "string",
+ "description": "Access to be allowed or denied.",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "Access",
+ "modelAsString": true
+ }
+ },
+ "AuthenticationMethod": {
+ "type": "string",
+ "description": "VPN client authentication method.",
+ "enum": [
+ "EAPTLS",
+ "EAPMSCHAPv2"
+ ],
+ "x-ms-enum": {
+ "name": "AuthenticationMethod",
+ "modelAsString": true
+ }
+ },
+ "IPAllocationMethod": {
+ "type": "string",
+ "description": "IP address allocation method.",
+ "enum": [
+ "Static",
+ "Dynamic"
+ ],
+ "x-ms-enum": {
+ "name": "IPAllocationMethod",
+ "modelAsString": true
+ }
+ },
+ "IPVersion": {
+ "type": "string",
+ "description": "IP address version.",
+ "enum": [
+ "IPv4",
+ "IPv6"
+ ],
+ "x-ms-enum": {
+ "name": "IPVersion",
+ "modelAsString": true
+ }
+ },
+ "ExtendedLocationType": {
+ "type": "string",
+ "description": "The supported ExtendedLocation types. Currently only EdgeZone is supported in Microsoft.Network resources.",
+ "enum": [
+ "EdgeZone"
+ ],
+ "x-ms-enum": {
+ "name": "ExtendedLocationTypes",
+ "modelAsString": true
+ }
+ },
+ "ExtendedLocation": {
+ "description": "ExtendedLocation complex type.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the extended location."
+ },
+ "type": {
+ "$ref": "#/definitions/ExtendedLocationType",
+ "description": "The type of the extended location."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API version."
+ },
+ "ApiVersionVmssParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2017-03-30"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ },
+ "description": "Client API version."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/networkSecurityPerimeter.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/networkSecurityPerimeter.json
new file mode 100644
index 000000000000..158ce493005f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/networkSecurityPerimeter.json
@@ -0,0 +1,2076 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "NetworkSecurityPerimeter",
+ "description": "The Network Security Perimeter API provides a RESTful set of web services that interact with network security perimeter resource.",
+ "version": "2023-08-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}": {
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "NetworkSecurityPerimeters"
+ ],
+ "operationId": "NetworkSecurityPerimeters_Get",
+ "description": "Gets the specified network security perimeter by the name.",
+ "responses": {
+ "200": {
+ "description": "Request is successful. Returns the resulting network security perimeter resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityPerimeter"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NetworkSecurityPerimeterGet": {
+ "$ref": "./examples/NetworkSecurityPerimeterGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NetworkSecurityPerimeters"
+ ],
+ "operationId": "NetworkSecurityPerimeters_CreateOrUpdate",
+ "description": "Creates or updates a Network Security Perimeter.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityPerimeter"
+ },
+ "description": "Parameter supplied to create or update the network security perimeter."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resource Updated. Returns the network security perimeter.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityPerimeter"
+ }
+ },
+ "201": {
+ "description": "Resource Created. Returns the network security perimeter.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityPerimeter"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Put Network Security Perimeter": {
+ "$ref": "./examples/NetworkSecurityPerimeterPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NetworkSecurityPerimeters"
+ ],
+ "operationId": "NetworkSecurityPerimeters_Delete",
+ "description": "Deletes a network security perimeter.",
+ "responses": {
+ "200": {
+ "description": "Delete Succeed."
+ },
+ "204": {
+ "description": "Request successful. The resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NetworkSecurityPerimeterDelete": {
+ "$ref": "./examples/NetworkSecurityPerimeterDelete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "NetworkSecurityPerimeters"
+ ],
+ "operationId": "NetworkSecurityPerimeters_Patch",
+ "description": "Patch Tags for a Network Security Perimeter.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateTagsRequest"
+ },
+ "description": "Parameter supplied to the network security perimeter."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request is successful. Returns the resulting network security perimeter resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityPerimeter"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Patch Network Security Perimeter": {
+ "$ref": "./examples/NetworkSecurityPerimeterPatch.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityPerimeters": {
+ "get": {
+ "tags": [
+ "NetworkSecurityPerimeters"
+ ],
+ "operationId": "NetworkSecurityPerimeters_ListBySubscription",
+ "description": "List all network security perimeters in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ListTopParameter"
+ },
+ {
+ "$ref": "#/parameters/ListSkipTokenParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request is successful. Returns the list of the network security perimeters.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityPerimeterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "NetworkSecurityPerimetersList": {
+ "$ref": "./examples/NetworkSecurityPerimeterListAll.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters": {
+ "get": {
+ "tags": [
+ "NetworkSecurityPerimeters"
+ ],
+ "operationId": "NetworkSecurityPerimeters_List",
+ "description": "List network security perimeters in a resource group.",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ListTopParameter"
+ },
+ {
+ "$ref": "#/parameters/ListSkipTokenParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request is successful. Returns a list of network security perimeters.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityPerimeterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Network Security Perimeter": {
+ "$ref": "./examples/NetworkSecurityPerimeterList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}": {
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "NspProfiles"
+ ],
+ "operationId": "NspProfiles_Get",
+ "description": "Gets the specified NSP profile.",
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the NSP profile.",
+ "schema": {
+ "$ref": "#/definitions/NspProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspProfilesGet": {
+ "$ref": "./examples/NspProfileGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NspProfiles"
+ ],
+ "operationId": "NspProfiles_CreateOrUpdate",
+ "description": "Creates or updates a network profile.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NspProfile"
+ },
+ "description": "Parameters that hold the NspProfile resource to be created/updated."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update - Profile is immutable resource. Returns the existing profile resource.",
+ "schema": {
+ "$ref": "#/definitions/NspProfile"
+ }
+ },
+ "201": {
+ "description": "Create - Returns the NspProfile resource created.",
+ "schema": {
+ "$ref": "#/definitions/NspProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspProfilesPut": {
+ "$ref": "./examples/NspProfilePut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NspProfiles"
+ ],
+ "operationId": "NspProfiles_Delete",
+ "description": "Deletes an NSP profile.",
+ "responses": {
+ "200": {
+ "description": "Delete Succeed."
+ },
+ "204": {
+ "description": "Request successful. The resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspProfilesDelete": {
+ "$ref": "./examples/NspProfileDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles": {
+ "get": {
+ "tags": [
+ "NspProfiles"
+ ],
+ "operationId": "NspProfiles_List",
+ "description": "Lists the NSP profiles in the specified network security perimeter.",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ListTopParameter"
+ },
+ {
+ "$ref": "#/parameters/ListSkipTokenParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the list of NSP profiles.",
+ "schema": {
+ "$ref": "#/definitions/NspProfileListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspProfilesList": {
+ "$ref": "./examples/NspProfileList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules/{accessRuleName}": {
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccessRuleNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "NspAccessRules"
+ ],
+ "operationId": "NspAccessRules_Get",
+ "description": "Gets the specified NSP access rule by name.",
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the NSP access rule.",
+ "schema": {
+ "$ref": "#/definitions/NspAccessRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspAccessRuleGet": {
+ "$ref": "./examples/NspAccessRuleGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NspAccessRules"
+ ],
+ "operationId": "NspAccessRules_CreateOrUpdate",
+ "description": "Creates or updates a network access rule.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NspAccessRule"
+ },
+ "description": "Parameters that hold the NspAccessRule resource to be created/updated."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updated - Existing access rule is updated. Returns the resource.",
+ "schema": {
+ "$ref": "#/definitions/NspAccessRule"
+ }
+ },
+ "201": {
+ "description": "Create - Returns the NspAccessRule resource created.",
+ "schema": {
+ "$ref": "#/definitions/NspAccessRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspAccessRulePut": {
+ "$ref": "./examples/NspAccessRulePut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NspAccessRules"
+ ],
+ "operationId": "NspAccessRules_Delete",
+ "description": "Deletes an NSP access rule.",
+ "responses": {
+ "200": {
+ "description": "Delete Succeed."
+ },
+ "204": {
+ "description": "Request successful. The resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspAccessRulesDelete": {
+ "$ref": "./examples/NspAccessRuleDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules": {
+ "get": {
+ "tags": [
+ "NspAccessRules"
+ ],
+ "operationId": "NspAccessRules_List",
+ "description": "Lists the NSP access rules in the specified NSP profile.",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ListTopParameter"
+ },
+ {
+ "$ref": "#/parameters/ListSkipTokenParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the list of NSP access rules.",
+ "schema": {
+ "$ref": "#/definitions/NspAccessRuleListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspAccessRulesList": {
+ "$ref": "./examples/NspAccessRuleList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}": {
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AssociationNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "NspAssociations"
+ ],
+ "operationId": "NspAssociations_Get",
+ "description": "Gets the specified NSP association by name.",
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the NSP resource association.",
+ "schema": {
+ "$ref": "#/definitions/NspAssociation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspAssociationGet": {
+ "$ref": "./examples/NspAssociationGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NspAssociations"
+ ],
+ "operationId": "NspAssociations_CreateOrUpdate",
+ "description": "Creates or updates a NSP resource association.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NspAssociation"
+ },
+ "description": "Parameters that hold the NspAssociation resource to be created/updated."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updated - Existing resource association is updated. Returns the resource.",
+ "schema": {
+ "$ref": "#/definitions/NspAssociation"
+ }
+ },
+ "201": {
+ "description": "Create - Returns the NspAssociation resource created.",
+ "schema": {
+ "$ref": "#/definitions/NspAssociation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspAssociationPut": {
+ "$ref": "./examples/NspAssociationPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NspAssociations"
+ ],
+ "operationId": "NspAssociations_Delete",
+ "description": "Deletes an NSP association resource.",
+ "responses": {
+ "200": {
+ "description": "Delete Succeed."
+ },
+ "202": {
+ "description": "Delete in progress.",
+ "headers": {
+ "location": {
+ "description": "location header",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Request successful. The resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "NspAssociationDelete": {
+ "$ref": "./examples/NspAssociationDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations": {
+ "get": {
+ "tags": [
+ "NspAssociations"
+ ],
+ "operationId": "NspAssociations_List",
+ "description": "Lists the NSP resource associations.",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ListTopParameter"
+ },
+ {
+ "$ref": "#/parameters/ListSkipTokenParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the list of NSP resource associations.",
+ "schema": {
+ "$ref": "#/definitions/NspAssociationsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspAssociationList": {
+ "$ref": "./examples/NspAssociationList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}/reconcile": {
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AssociationNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "post": {
+ "tags": [
+ "NspAssociationReconcile"
+ ],
+ "operationId": "NspAssociationReconcile_Post",
+ "description": "Reconcile NSP association",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NspAssociationReconcile"
+ },
+ "description": "Parameters for NSP association reconcile"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Reconcile NSP association.",
+ "schema": {
+ "$ref": "#/definitions/NspAssociationReconcile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspAssociationReconcile": {
+ "$ref": "./examples/NspAssociationReconcile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/perimeterAssociableResourceTypes": {
+ "get": {
+ "operationId": "PerimeterAssociableResourceTypes_List",
+ "description": "Gets the list of resources that are onboarded with NSP. These resources can be associated with a network security perimeter",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the list of resources that are onboarded with network security perimeter feature.",
+ "schema": {
+ "$ref": "#/definitions/PerimeterAssociableResourcesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Check Dns Name Availability": {
+ "$ref": "./examples/PerimeterAssociableResourcesList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules/{accessRuleName}/reconcile": {
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccessRuleNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "post": {
+ "tags": [
+ "NspAccessRulesReconcile"
+ ],
+ "operationId": "NspAccessRulesReconcile_Post",
+ "description": "Reconcile NSP access rules",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NspAccessRuleReconcile"
+ },
+ "description": "Parameters for NSP access rule reconcile"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Reconcile NSP access rule.",
+ "schema": {
+ "$ref": "#/definitions/NspAccessRuleReconcile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspAccessRuleReconcile": {
+ "$ref": "./examples/NspAccessRuleReconcile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links/{linkName}": {
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LinkNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "NspLinks"
+ ],
+ "operationId": "NspLinks_Get",
+ "description": "Gets the specified NSP link resource.",
+ "responses": {
+ "200": {
+ "description": "OK - Returns NSP link resource.",
+ "schema": {
+ "$ref": "#/definitions/NspLink"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspLinksGet": {
+ "$ref": "./examples/NspLinkGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NspLinks"
+ ],
+ "operationId": "NspLinks_CreateOrUpdate",
+ "description": "Creates or updates NSP link resource.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NspLink"
+ },
+ "description": "Parameters that hold the NspLink resource to be created/updated."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updated - Existing NspLink resource is updated. Returns the resource.",
+ "schema": {
+ "$ref": "#/definitions/NspLink"
+ }
+ },
+ "201": {
+ "description": "Create - Returns the NspLink resource created.",
+ "schema": {
+ "$ref": "#/definitions/NspLink"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspLinksPut": {
+ "$ref": "./examples/NspLinkPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NspLinks"
+ ],
+ "operationId": "NspLinks_Delete",
+ "description": "Deletes an NSP Link resource.",
+ "responses": {
+ "200": {
+ "description": "Delete Succeed."
+ },
+ "202": {
+ "description": "Delete in progress.",
+ "headers": {
+ "location": {
+ "description": "location header",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Request successful. The resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "NspLinkDelete": {
+ "$ref": "./examples/NspLinkDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links": {
+ "get": {
+ "tags": [
+ "NspLinks"
+ ],
+ "operationId": "NspLinks_List",
+ "description": "Lists the NSP Link resources in the specified network security perimeter.",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ListTopParameter"
+ },
+ {
+ "$ref": "#/parameters/ListSkipTokenParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the list of NSP link resources.",
+ "schema": {
+ "$ref": "#/definitions/NspLinkListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspLinkList": {
+ "$ref": "./examples/NspLinkList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/linkReferences/{linkReferenceName}": {
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LinkReferenceNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "NspLinkReferences"
+ ],
+ "operationId": "NspLinkReferences_Get",
+ "description": "Gets the specified NSP linkReference resource.",
+ "responses": {
+ "200": {
+ "description": "OK - Returns the NSP linkReference resource.",
+ "schema": {
+ "$ref": "#/definitions/NspLinkReference"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspLinkReferencesGet": {
+ "$ref": "./examples/NspLinkReferenceGet.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NspLinkReferences"
+ ],
+ "operationId": "NspLinkReferences_Delete",
+ "description": "Deletes an NSP LinkReference resource.",
+ "responses": {
+ "200": {
+ "description": "Delete Succeed."
+ },
+ "202": {
+ "description": "Delete in progress.",
+ "headers": {
+ "location": {
+ "description": "location header",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Request successful. The resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "NspLinkReferenceDelete": {
+ "$ref": "./examples/NspLinkReferenceDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/linkReferences": {
+ "get": {
+ "tags": [
+ "NspLinkReferences"
+ ],
+ "operationId": "NspLinkReferences_List",
+ "description": "Lists the NSP LinkReference resources in the specified network security perimeter.",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ListTopParameter"
+ },
+ {
+ "$ref": "#/parameters/ListSkipTokenParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the list of NSP linkReference resources.",
+ "schema": {
+ "$ref": "#/definitions/NspLinkReferenceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./network.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NspLinkReferenceList": {
+ "$ref": "./examples/NspLinkReferenceList.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NetworkSecurityPerimeter": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NetworkSecurityPerimeterProperties",
+ "description": "The network security perimeter properties"
+ },
+ "location": {
+ "type": "string",
+ "description": "The location in which NSP is created."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Network security perimeter identifier."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "The Network Security Perimeter resource"
+ },
+ "NetworkSecurityPerimeterListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkSecurityPerimeter"
+ },
+ "description": "Gets a page of NetworkSecurityPerimeter"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Gets the URL to get the next page of results."
+ }
+ },
+ "description": "Result of the request to list NetworkSecurityPerimeter. It contains a list of network security perimeters and a URL link to get the next set of results."
+ },
+ "NetworkSecurityPerimeterProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "#/definitions/NSPProvisioningState",
+ "description": "The provisioning state of the scope assignment resource."
+ },
+ "perimeterGuid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "perimeter guid of the network security perimeter."
+ }
+ },
+ "description": "Properties of network security perimeter."
+ },
+ "UpdateTagsRequest": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Network security perimeter identifier."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "List of tags for Network Security Perimeter"
+ }
+ },
+ "description": "Update tags request."
+ },
+ "NspProfile": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NspProfileProperties",
+ "description": "Properties of the network security perimeter profile"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the profile resource that is unique within a perimeter. This name can be used to access the resource."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Identifier of the network security perimeter profile in ARM id format."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "The network security perimeter profile resource"
+ },
+ "NspProfileListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NspProfile"
+ },
+ "description": "Gets a page of NSP profile"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Gets the URL to get the next page of results."
+ }
+ },
+ "description": "Result of the request to list NSP profiles. Contains a list of NSP profiles and a URL link to get the next set of results."
+ },
+ "NspProfileProperties": {
+ "type": "object",
+ "properties": {
+ "accessRulesVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Version number that increases with every update to access rules within the profile."
+ },
+ "diagnosticSettingsVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Version number that increases with every update to diagnostic settings within the profile."
+ }
+ },
+ "description": "Properties of NSP profile."
+ },
+ "NspAccessRule": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NspAccessRuleProperties",
+ "description": "Properties of the NSP access rule."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the access rule that is unique within a profile. This name can be used to access the resource."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "NSP access rule identifier."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "The NSP access rule resource"
+ },
+ "NspAccessRuleListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NspAccessRule"
+ },
+ "description": "Gets a page of NSP access rule"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Gets the URL to get the next page of results."
+ }
+ },
+ "description": "Result of the request to list NSP access rules. Contains a list of NSP access rules and a URL link to get the next set of results."
+ },
+ "NspAccessRuleProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "#/definitions/NSPProvisioningState",
+ "description": "The provisioning state of the scope assignment resource."
+ },
+ "direction": {
+ "type": "string",
+ "enum": [
+ "Inbound",
+ "Outbound"
+ ],
+ "x-ms-enum": {
+ "name": "AccessRuleDirection",
+ "modelAsString": true
+ },
+ "description": "Direction that specifies whether the access rules is inbound/outbound."
+ },
+ "addressPrefixes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Inbound address prefixes (IPv4/IPv6)"
+ },
+ "fullyQualifiedDomainNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Outbound rules fully qualified domain name format."
+ },
+ "subscriptions": {
+ "type": "array",
+ "items": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SubscriptionId"
+ },
+ "description": "List of subscription ids"
+ },
+ "networkSecurityPerimeters": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PerimeterBasedAccessRule"
+ },
+ "description": "Rule specified by the perimeter id."
+ },
+ "emailAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Outbound rules email address format."
+ },
+ "phoneNumbers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Outbound rules phone number format."
+ },
+ "serviceTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Inbound rules service tag names."
+ }
+ },
+ "description": "Properties of NSP access rule."
+ },
+ "SubscriptionId": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Subscription id in the ARM id format."
+ }
+ }
+ },
+ "PerimeterBasedAccessRule": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "NSP id in the ARM id format."
+ },
+ "perimeterGuid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource guid of the NSP supplied."
+ },
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Location of the NSP supplied."
+ }
+ }
+ },
+ "NspAssociation": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NspAssociationProperties",
+ "description": "Properties of the NSP resource association."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "NSP resource association identifier."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "The NSP resource association resource"
+ },
+ "NspAssociationsListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NspAssociation"
+ },
+ "description": "Gets a page of NSP resource associations"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Gets the URL to get the next page of results."
+ }
+ },
+ "description": "Result of the request to list NSP resource associations. Contains a list of NSP resource associations and a URL link to get the next set of results."
+ },
+ "NspAssociationProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "#/definitions/NSPProvisioningState",
+ "description": "The provisioning state of the resource association resource."
+ },
+ "privateLinkResource": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The PaaS resource to be associated."
+ },
+ "profile": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Profile id to which the PaaS resource is associated."
+ },
+ "accessMode": {
+ "type": "string",
+ "enum": [
+ "Learning",
+ "Enforced",
+ "Audit"
+ ],
+ "x-ms-enum": {
+ "name": "AssociationAccessMode",
+ "modelAsString": true
+ },
+ "description": "Access mode on the association."
+ },
+ "hasProvisioningIssues": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies if there are provisioning issues"
+ }
+ }
+ },
+ "NspAssociationReconcile": {
+ "type": "object",
+ "properties": {},
+ "description": "Request object for NSP association."
+ },
+ "PerimeterAssociableResource": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PerimeterAssociableResourceProperties",
+ "description": "Properties of the perimeter associable resource."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Identifier of the perimeter associable resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Resource that is onboarded to use network security perimeter. Also referred as perimeter associable resource."
+ },
+ "PerimeterAssociableResourcesListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PerimeterAssociableResource"
+ },
+ "description": "Gets paged list of perimeter associable resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Gets the URL to get the next page of results."
+ }
+ },
+ "description": "Paged list of perimeter associable resources."
+ },
+ "PerimeterAssociableResourceProperties": {
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A friendly name for the properties of perimeter associable resources."
+ },
+ "resourceType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type/provider name."
+ },
+ "publicDnsZones": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Public DNS zone names of the resources."
+ }
+ },
+ "description": "Properties of the perimeter associable resources."
+ },
+ "NSPProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Accepted",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "nspProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "NSPLinkProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state of NSP Link/LinkReference.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Accepted",
+ "Failed",
+ "WaitForRemoteCompletion"
+ ],
+ "x-ms-enum": {
+ "name": "nspLinkProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "NspAccessRuleReconcile": {
+ "type": "object",
+ "properties": {},
+ "description": "Request object for NSP reconcile."
+ },
+ "NspLink": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NspLinkProperties",
+ "description": "Properties of the network security perimeter link resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "The network security perimeter link resource"
+ },
+ "NspLinkListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NspLink"
+ },
+ "description": "Gets a page of NSP Link resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Gets the URL to get the next page of results."
+ }
+ },
+ "description": "Result of the request to list NSP link resources. Contains a list of NSP link resources and a URL link to get the next set of results."
+ },
+ "NspLinkProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "#/definitions/NSPLinkProvisioningState",
+ "description": "The provisioning state of the NSP Link resource."
+ },
+ "autoApprovedRemotePerimeterResourceId": {
+ "type": "string",
+ "description": "Perimeter ARM Id for the remote NSP with which the link gets created in Auto-approval mode. It should be used when the NSP admin have Microsoft.Network/networkSecurityPerimeters/linkPerimeter/action permission on the remote NSP resource.",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "remotePerimeterGuid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Remote NSP Guid with which the link gets created."
+ },
+ "remotePerimeterLocation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Remote NSP location with which the link gets created."
+ },
+ "localInboundProfiles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Local Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. It's default value is ['*'].",
+ "uniqueItems": true
+ },
+ "localOutboundProfiles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "Local Outbound profile names from which Outbound is allowed. In current version, it is readonly property and it's value is set to ['*'] to allow outbound from all profiles. In later version, user will be able to modify it.",
+ "uniqueItems": true
+ },
+ "remoteInboundProfiles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Remote Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. This property can only be updated in auto-approval mode. It's default value is ['*'].",
+ "uniqueItems": true
+ },
+ "remoteOutboundProfiles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "Remote Outbound profile names from which Outbound is allowed. In current version, it is readonly property and it's value is set to ['*'] to allow outbound from all profiles. In later version, user will be able to modify it.",
+ "uniqueItems": true
+ },
+ "description": {
+ "type": "string",
+ "description": "A message passed to the owner of the remote NSP link resource with this connection request. In case of Auto-approved flow, it is default to 'Auto Approved'. Restricted to 140 chars."
+ },
+ "status": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The NSP link state.",
+ "enum": [
+ "Approved",
+ "Pending",
+ "Rejected",
+ "Disconnected"
+ ],
+ "x-ms-enum": {
+ "name": "nspLinkStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Properties of NSP Link resource."
+ },
+ "NspLinkReference": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NspLinkReferenceProperties",
+ "description": "Properties of the network security perimeter linkReference resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "The network security perimeter linkReference resource"
+ },
+ "NspLinkReferenceListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NspLinkReference"
+ },
+ "description": "Gets a page of NSP LinkReference resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Gets the URL to get the next page of results."
+ }
+ },
+ "description": "Result of the request to list NSP linkReference resources. Contains a list of NSP linkReference resources and a URL link to get the next set of results."
+ },
+ "NspLinkReferenceProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "#/definitions/NSPLinkProvisioningState",
+ "description": "The provisioning state of the NSP LinkReference resource."
+ },
+ "remotePerimeterResourceId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Perimeter ARM Id for the remote NSP with which the link is created."
+ },
+ "remotePerimeterGuid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Remote NSP Guid with which the link is created."
+ },
+ "remotePerimeterLocation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Remote NSP location with which the link gets created."
+ },
+ "localInboundProfiles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Local Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. It's default value is ['*'].",
+ "uniqueItems": true
+ },
+ "localOutboundProfiles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "Local Outbound profile names from which Outbound is allowed. Use ['*'] to allow outbound from all profiles. It's default value is ['*'].",
+ "uniqueItems": true
+ },
+ "remoteInboundProfiles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "Remote Inbound profile names to which Inbound is allowed. ['*'] value implies inbound is allowed to all profiles at remote perimeter. This property can only be updated from remote perimeter."
+ },
+ "remoteOutboundProfiles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "Remote Outbound profile names from which Outbound is allowed. ['*'] value implies outbound is allowed from all profiles at remote perimeter. This property can only be updated from remote perimeter."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A message sent by the remote NSP link admin for connection request. In case of Auto-approved flow, it is default to 'Auto Approved'."
+ },
+ "status": {
+ "type": "string",
+ "description": "The NSP linkReference state. It cannot be changed if link is created in auto-approval mode.",
+ "enum": [
+ "Approved",
+ "Pending",
+ "Rejected",
+ "Disconnected"
+ ],
+ "x-ms-enum": {
+ "name": "nspLinkStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Properties of NSP LinkReference resource."
+ }
+ },
+ "parameters": {
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "NetworkSecurityPerimeterNameParameter": {
+ "name": "networkSecurityPerimeterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security perimeter.",
+ "x-ms-parameter-location": "method"
+ },
+ "ProfileNameParameter": {
+ "name": "profileName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the NSP profile.",
+ "x-ms-parameter-location": "method"
+ },
+ "AccessRuleNameParameter": {
+ "name": "accessRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the NSP access rule.",
+ "x-ms-parameter-location": "method"
+ },
+ "AssociationNameParameter": {
+ "name": "associationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the NSP association.",
+ "x-ms-parameter-location": "method"
+ },
+ "LinkNameParameter": {
+ "name": "linkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the NSP link.",
+ "x-ms-parameter-location": "method"
+ },
+ "LinkReferenceNameParameter": {
+ "name": "linkReferenceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the NSP linkReference.",
+ "x-ms-parameter-location": "method"
+ },
+ "ListTopParameter": {
+ "name": "$top",
+ "description": "An optional query parameter which specifies the maximum number of records to be returned by the server.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 20,
+ "x-ms-parameter-location": "method"
+ },
+ "ListSkipTokenParameter": {
+ "name": "$skipToken",
+ "description": "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "NetworkSecurityPerimeterProfileParameter": {
+ "name": "networkSecurityPerimeterProfile",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security perimeter profile.",
+ "x-ms-parameter-location": "method"
+ },
+ "LocationParameter": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of network security perimeter.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherConnectionMonitorDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherConnectionMonitorDelete.json
index 384786e30438..bb04d1c7bc17 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherConnectionMonitorDelete.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherConnectionMonitorDelete.json
@@ -8,6 +8,10 @@
},
"responses": {
"204": {},
- "202": {}
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/operationresults/000000000000000000000==?api-version=2023-05-01"
+ }
+ }
}
}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherConnectionMonitorStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherConnectionMonitorStart.json
index 70bc86d7eb24..1a2b01449432 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherConnectionMonitorStart.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherConnectionMonitorStart.json
@@ -8,6 +8,10 @@
},
"responses": {
"200": {},
- "202": {}
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/operationresults/000000000000000000000==?api-version=2023-05-01"
+ }
+ }
}
}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherConnectionMonitorStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherConnectionMonitorStop.json
index 70bc86d7eb24..1a2b01449432 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherConnectionMonitorStop.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherConnectionMonitorStop.json
@@ -8,6 +8,10 @@
},
"responses": {
"200": {},
- "202": {}
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/operationresults/000000000000000000000==?api-version=2023-05-01"
+ }
+ }
}
}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherDelete.json
index abdc9cf43900..8b9caa505cff 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherDelete.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherDelete.json
@@ -6,7 +6,11 @@
"networkWatcherName": "nw1"
},
"responses": {
- "202": {},
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/operationresults/000000000000000000000==?api-version=2023-05-01"
+ }
+ },
"204": {}
}
}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherFlowLogDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherFlowLogDelete.json
index eb2b61e2578b..250803343534 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherFlowLogDelete.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherFlowLogDelete.json
@@ -8,6 +8,10 @@
},
"responses": {
"204": {},
- "202": {}
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/operationresults/000000000000000000000==?api-version=2023-05-01"
+ }
+ }
}
}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherPacketCaptureDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherPacketCaptureDelete.json
index af647f55bf1c..694dfa56285e 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherPacketCaptureDelete.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherPacketCaptureDelete.json
@@ -8,6 +8,10 @@
},
"responses": {
"204": {},
- "202": {}
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/operationresults/000000000000000000000==?api-version=2023-05-01"
+ }
+ }
}
}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherPacketCaptureStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherPacketCaptureStop.json
index 54a0847bc19d..f170112f3f74 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherPacketCaptureStop.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/NetworkWatcherPacketCaptureStop.json
@@ -8,6 +8,10 @@
},
"responses": {
"200": {},
- "202": {}
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/operationresults/000000000000000000000==?api-version=2023-05-01"
+ }
+ }
}
}
diff --git a/specification/network/resource-manager/readme.md b/specification/network/resource-manager/readme.md
index 2501fe133971..98a94a291d55 100644
--- a/specification/network/resource-manager/readme.md
+++ b/specification/network/resource-manager/readme.md
@@ -31,6 +31,25 @@ openapi-type: arm
tag: package-2023-05
```
+### Tag: package-2023-08-preview
+
+These settings apply only when `--tag=package-2023-08-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2023-08-preview'
+input-file:
+ - Microsoft.Network/preview/2023-08-01-preview/network.json
+ - Microsoft.Network/preview/2023-08-01-preview/networkSecurityPerimeter.json
+```
+
+### Tag: package-2023-07-preview
+
+These settings apply only when `--tag=package-2023-07-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2023-07-preview'
+input-file:
+ - Microsoft.Network/preview/2023-07-01-preview/network.json
+ - Microsoft.Network/preview/2023-07-01-preview/networkSecurityPerimeter.json
+```
### Tag: package-2023-05
diff --git a/specification/nginx/resource-manager/readme.java.md b/specification/nginx/resource-manager/readme.java.md
index e8be0ae61b1d..a66d7fab9147 100644
--- a/specification/nginx/resource-manager/readme.java.md
+++ b/specification/nginx/resource-manager/readme.java.md
@@ -16,10 +16,24 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-nginx
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2023-04
- tag: package-2022-08
- tag: package-2021-05-preview
```
+### Tag: package-2023-04 and java
+
+These settings apply only when `--tag=package-2023-04 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2023-04' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.nginx.v2023_04_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/nginx/mgmt-v2023_04_01
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2022-08 and java
These settings apply only when `--tag=package-2022-08 --java` is specified on the command line.
diff --git a/specification/nginx/resource-manager/readme.md b/specification/nginx/resource-manager/readme.md
index 76a683579174..e5d413732343 100644
--- a/specification/nginx/resource-manager/readme.md
+++ b/specification/nginx/resource-manager/readme.md
@@ -28,7 +28,16 @@ These are the global settings for the Nginx API.
title: NginxManagementClient
openapi-type: arm
openapi-subtype: rpaas
-tag: package-2022-08-01
+tag: package-2023-04-01
+```
+
+### Tag: package-2023-04-01
+
+These settings apply only when `--tag=package-2023-04-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2023-04-01'
+input-file:
+- NGINX.NGINXPLUS/stable/2023-04-01/swagger.json
```
### Tag: package-2022-08-01
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Administrators.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Administrators.json
new file mode 100644
index 000000000000..fd6c3b5f0a00
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Administrators.json
@@ -0,0 +1,406 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PostgreSQLServerManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model.",
+ "version": "2023-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/administrators/{objectId}": {
+ "put": {
+ "tags": [
+ "Administrators"
+ ],
+ "operationId": "Administrators_Create",
+ "x-ms-examples": {
+ "Adds an Active DIrectory Administrator for the server": {
+ "$ref": "./examples/AdministratorAdd.json"
+ }
+ },
+ "description": "Creates a new server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ObjectIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ActiveDirectoryAdministratorAdd"
+ },
+ "description": "The required parameters for adding an active directory administrator for a server."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ActiveDirectoryAdministrator"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ActiveDirectoryAdministrator"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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"
+ }
+ },
+ "delete": {
+ "tags": [
+ "Administrators"
+ ],
+ "operationId": "Administrators_Delete",
+ "x-ms-examples": {
+ "AdministratorDelete": {
+ "$ref": "./examples/AdministratorDelete.json"
+ }
+ },
+ "description": "Deletes an Active Directory Administrator associated with the server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ObjectIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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": "location"
+ }
+ },
+ "get": {
+ "tags": [
+ "Administrators"
+ ],
+ "operationId": "Administrators_Get",
+ "x-ms-examples": {
+ "ServerGet": {
+ "$ref": "./examples/AdministratorGet.json"
+ }
+ },
+ "description": "Gets information about a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ObjectIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ActiveDirectoryAdministrator"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/administrators": {
+ "get": {
+ "tags": [
+ "Administrators"
+ ],
+ "operationId": "Administrators_ListByServer",
+ "x-ms-examples": {
+ "AdministratorsListByServer": {
+ "$ref": "./examples/AdministratorsListByServer.json"
+ }
+ },
+ "description": "List all the AAD administrators for a given server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AdministratorListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ActiveDirectoryAdministratorAdd": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AdministratorPropertiesForAdd",
+ "x-ms-client-flatten": true,
+ "description": "Properties of the active directory administrator."
+ }
+ },
+ "description": "Represents an Active Directory administrator."
+ },
+ "AdministratorPropertiesForAdd": {
+ "type": "object",
+ "properties": {
+ "principalType": {
+ "type": "string",
+ "description": "The principal type used to represent the type of Active Directory Administrator.",
+ "enum": [
+ "Unknown",
+ "User",
+ "Group",
+ "ServicePrincipal"
+ ],
+ "x-ms-enum": {
+ "name": "PrincipalType",
+ "modelAsString": true
+ },
+ "x-ms-mutability": [
+ "create",
+ "update",
+ "read"
+ ]
+ },
+ "principalName": {
+ "type": "string",
+ "description": "Active Directory administrator principal name.",
+ "x-ms-mutability": [
+ "create",
+ "update",
+ "read"
+ ]
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "The tenantId of the Active Directory administrator.",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ]
+ }
+ },
+ "description": "The properties of an Active Directory administrator."
+ },
+ "AdministratorProperties": {
+ "type": "object",
+ "properties": {
+ "principalType": {
+ "type": "string",
+ "description": "The principal type used to represent the type of Active Directory Administrator.",
+ "enum": [
+ "Unknown",
+ "User",
+ "Group",
+ "ServicePrincipal"
+ ],
+ "x-ms-enum": {
+ "name": "PrincipalType",
+ "modelAsString": true
+ },
+ "x-ms-mutability": [
+ "create",
+ "update",
+ "read"
+ ]
+ },
+ "principalName": {
+ "type": "string",
+ "description": "Active Directory administrator principal name.",
+ "x-ms-mutability": [
+ "create",
+ "update",
+ "read"
+ ]
+ },
+ "objectId": {
+ "type": "string",
+ "description": "The objectId of the Active Directory administrator.",
+ "x-ms-mutability": [
+ "create",
+ "update",
+ "read"
+ ]
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "The tenantId of the Active Directory administrator.",
+ "x-ms-mutability": [
+ "create",
+ "update",
+ "read"
+ ]
+ }
+ },
+ "description": "The properties of an Active Directory administrator."
+ },
+ "ActiveDirectoryAdministrator": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AdministratorProperties",
+ "x-ms-client-flatten": true,
+ "description": "Properties of the active directory administrator."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "description": "Represents an Active Directory administrator."
+ },
+ "AdministratorListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ActiveDirectoryAdministrator"
+ },
+ "description": "The list of active directory administrators"
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of active directory.",
+ "type": "string"
+ }
+ },
+ "description": "A list of active directory administrators."
+ }
+ },
+ "parameters": {
+ "ObjectIdParameter": {
+ "name": "objectId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Guid of the objectId for the administrator.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Backups.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Backups.json
new file mode 100644
index 000000000000..d96b46da3fdd
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Backups.json
@@ -0,0 +1,201 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PostgreSQLServerManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model.",
+ "version": "2023-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/backups/{backupName}": {
+ "get": {
+ "tags": [
+ "Backups"
+ ],
+ "operationId": "Backups_Get",
+ "x-ms-examples": {
+ "Get a backup for a server": {
+ "$ref": "./examples/BackupGet.json"
+ }
+ },
+ "description": "Get specific backup for a given server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BackupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerBackup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/backups": {
+ "get": {
+ "tags": [
+ "Backups"
+ ],
+ "operationId": "Backups_ListByServer",
+ "x-ms-examples": {
+ "List backups for a server": {
+ "$ref": "./examples/BackupListByServer.json"
+ }
+ },
+ "description": "List all the backups for a given server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerBackupListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ServerBackupProperties": {
+ "type": "object",
+ "properties": {
+ "backupType": {
+ "type": "string",
+ "description": "Backup type.",
+ "enum": [
+ "Full"
+ ],
+ "x-ms-enum": {
+ "name": "Origin",
+ "modelAsString": true
+ }
+ },
+ "completedTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Backup completed time (ISO8601 format)."
+ },
+ "source": {
+ "type": "string",
+ "description": "Backup source"
+ }
+ },
+ "description": "The properties of a server backup."
+ },
+ "ServerBackup": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ServerBackupProperties",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a server backup."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Server backup properties"
+ },
+ "ServerBackupListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServerBackup"
+ },
+ "description": "The list of backups of a server."
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ }
+ },
+ "description": "A list of server backups."
+ }
+ },
+ "parameters": {
+ "BackupNameParameter": {
+ "name": "backupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the backup.",
+ "minLength": 1,
+ "pattern": "^[-\\w\\._]+$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Capabilities.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Capabilities.json
new file mode 100644
index 000000000000..c626a2cd0866
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Capabilities.json
@@ -0,0 +1,586 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PostgreSQLServerManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model.",
+ "version": "2023-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/locations/{locationName}/capabilities": {
+ "get": {
+ "tags": [
+ "LocationBasedCapabilities"
+ ],
+ "operationId": "LocationBasedCapabilities_Execute",
+ "x-ms-examples": {
+ "CapabilitiesList": {
+ "$ref": "./examples/CapabilitiesByLocation.json"
+ }
+ },
+ "description": "Get capabilities at specified location in a given subscription.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/LocationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CapabilitiesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/capabilities": {
+ "get": {
+ "tags": [
+ "FlexibleServerCapabilities"
+ ],
+ "operationId": "ServerCapabilities_List",
+ "x-ms-examples": {
+ "ServerCapabilitiesList": {
+ "$ref": "./examples/ServerCapabilities.json"
+ }
+ },
+ "description": "Get capabilities for a flexible server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CapabilitiesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "StorageTierCapability": {
+ "type": "object",
+ "description": "Represents capability of a storage tier",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name to represent Storage tier capability",
+ "readOnly": true
+ },
+ "iops": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Supported IOPS for this storage tier",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../types/common-types.json#/definitions/CapabilityBase"
+ }
+ ]
+ },
+ "StorageMbCapability": {
+ "type": "object",
+ "properties": {
+ "supportedIops": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Supported IOPS",
+ "readOnly": true
+ },
+ "supportedMaximumIops": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum IOPS supported by this #Vcores or PremiumV2_LRS Storage Size",
+ "readOnly": true
+ },
+ "storageSizeMb": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Storage size in MB",
+ "readOnly": true
+ },
+ "maximumStorageSizeMb": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Maximum value of Storage size in MB",
+ "readOnly": true
+ },
+ "supportedThroughput": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Values of throughput in MB/s",
+ "readOnly": true
+ },
+ "supportedMaximumThroughput": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum values of throughput in MB/s",
+ "readOnly": true
+ },
+ "defaultIopsTier": {
+ "type": "string",
+ "description": "Default tier for IOPS",
+ "readOnly": true
+ },
+ "supportedIopsTiers": {
+ "type": "array",
+ "description": "List of available options to upgrade the storage performance",
+ "items": {
+ "$ref": "#/definitions/StorageTierCapability"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ],
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../types/common-types.json#/definitions/CapabilityBase"
+ }
+ ],
+ "description": "storage size in MB capability"
+ },
+ "ServerSkuCapability": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Sku name",
+ "readOnly": true
+ },
+ "vCores": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Supported vCores",
+ "readOnly": true
+ },
+ "supportedIops": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Supported IOPS",
+ "readOnly": true
+ },
+ "supportedMemoryPerVcoreMb": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Supported memory per vCore in MB",
+ "readOnly": true
+ },
+ "supportedZones": {
+ "type": "array",
+ "description": "List of supported Availability Zones. E.g. \"1\", \"2\", \"3\"",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "supportedHaMode": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "HA mode supported for a server.",
+ "enum": [
+ "SameZone",
+ "ZoneRedundant"
+ ],
+ "x-ms-enum": {
+ "name": "HaMode",
+ "modelAsString": true
+ }
+ },
+ "description": "Supported high availability mode",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../types/common-types.json#/definitions/CapabilityBase"
+ }
+ ],
+ "description": "Sku capability"
+ },
+ "ServerVersion": {
+ "type": "string",
+ "description": "The version of a server.",
+ "enum": [
+ "15",
+ "14",
+ "13",
+ "12",
+ "11"
+ ],
+ "x-ms-enum": {
+ "name": "ServerVersion",
+ "modelAsString": true
+ }
+ },
+ "ServerVersionCapability": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Server version",
+ "readOnly": true
+ },
+ "supportedVersionsToUpgrade": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Supported servers versions to upgrade",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../types/common-types.json#/definitions/CapabilityBase"
+ }
+ ],
+ "description": "Server version capabilities."
+ },
+ "StorageEditionCapability": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Storage edition name",
+ "readOnly": true
+ },
+ "defaultStorageSizeMb": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Default storage size in MB for storage edition",
+ "readOnly": true
+ },
+ "supportedStorageMb": {
+ "type": "array",
+ "description": "Flexible server supported storage range in MB",
+ "items": {
+ "$ref": "#/definitions/StorageMbCapability"
+ },
+ "x-ms-identifiers": [
+ "storageSizeMb"
+ ],
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../types/common-types.json#/definitions/CapabilityBase"
+ }
+ ],
+ "description": "Storage edition capability"
+ },
+ "FastProvisioningEditionCapability": {
+ "type": "object",
+ "description": "Represents capability of a fast provisioning edition",
+ "properties": {
+ "supportedTier": {
+ "type": "string",
+ "description": "Fast provisioning supported tier name",
+ "readOnly": true
+ },
+ "supportedSku": {
+ "type": "string",
+ "description": "Fast provisioning supported sku name",
+ "readOnly": true
+ },
+ "supportedStorageGb": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Fast provisioning supported storage in Gb",
+ "readOnly": true
+ },
+ "supportedServerVersions": {
+ "type": "string",
+ "description": "Fast provisioning supported version",
+ "readOnly": true
+ },
+ "serverCount": {
+ "type": "integer",
+ "description": "Count of servers in cache matching the spec",
+ "format": "int32",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../types/common-types.json#/definitions/CapabilityBase"
+ }
+ ]
+ },
+ "FlexibleServerEditionCapability": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../types/common-types.json#/definitions/CapabilityBase"
+ }
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Server edition name",
+ "readOnly": true
+ },
+ "defaultSkuName": {
+ "type": "string",
+ "description": "Default sku name for the server edition",
+ "readOnly": true
+ },
+ "supportedStorageEditions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageEditionCapability"
+ },
+ "description": "The list of editions supported by this server edition.",
+ "readOnly": true,
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "supportedServerSkus": {
+ "type": "array",
+ "description": "List of supported server SKUs.",
+ "items": {
+ "$ref": "#/definitions/ServerSkuCapability"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ],
+ "readOnly": true
+ }
+ },
+ "description": "Flexible server edition capabilities."
+ },
+ "FlexibleServerCapability": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../types/common-types.json#/definitions/CapabilityBase"
+ }
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of flexible servers capability"
+ },
+ "supportedServerEditions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FlexibleServerEditionCapability"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ],
+ "readOnly": true,
+ "description": "List of supported flexible server editions"
+ },
+ "supportedServerVersions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServerVersionCapability"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ],
+ "description": "The list of server versions supported for this capability.",
+ "readOnly": true
+ },
+ "fastProvisioningSupported": {
+ "type": "string",
+ "description": "Gets a value indicating whether fast provisioning is supported. \"Enabled\" means fast provisioning is supported. \"Disabled\" stands for fast provisioning is not supported.",
+ "readOnly": true,
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "fastProvisioningSupportedEnum",
+ "modelAsString": true
+ }
+ },
+ "supportedFastProvisioningEditions": {
+ "type": "array",
+ "description": "List of supported server editions for fast provisioning",
+ "items": {
+ "$ref": "#/definitions/FastProvisioningEditionCapability"
+ },
+ "x-ms-identifiers": [
+ "supportedSku"
+ ],
+ "readOnly": true
+ },
+ "geoBackupSupported": {
+ "type": "string",
+ "description": "Determines if geo-backup is supported in this region. \"Enabled\" means geo-backup is supported. \"Disabled\" stands for geo-back is not supported.",
+ "readOnly": true,
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "geoBackupSupportedEnum",
+ "modelAsString": true
+ }
+ },
+ "zoneRedundantHaSupported": {
+ "type": "string",
+ "description": "A value indicating whether Zone Redundant HA is supported in this region. \"Enabled\" means zone redundant HA is supported. \"Disabled\" stands for zone redundant HA is not supported.",
+ "readOnly": true,
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "zoneRedundantHaSupportedEnum",
+ "modelAsString": true
+ }
+ },
+ "zoneRedundantHaAndGeoBackupSupported": {
+ "type": "string",
+ "description": "A value indicating whether Zone Redundant HA and Geo-backup is supported in this region. \"Enabled\" means zone redundant HA and geo-backup is supported. \"Disabled\" stands for zone redundant HA and geo-backup is not supported.",
+ "readOnly": true,
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "zoneRedundantHaAndGeoBackupSupportedEnum",
+ "modelAsString": true
+ }
+ },
+ "storageAutoGrowthSupported": {
+ "type": "string",
+ "description": "A value indicating whether storage auto-grow is supported in this region. \"Enabled\" means storage auto-grow is supported. \"Disabled\" stands for storage auto-grow is not supported.",
+ "readOnly": true,
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "storageAutoGrowthSupportedEnum",
+ "modelAsString": true
+ }
+ },
+ "onlineResizeSupported": {
+ "type": "string",
+ "description": "A value indicating whether online resize is supported in this region for the given subscription. \"Enabled\" means storage online resize is supported. \"Disabled\" means storage online resize is not supported.",
+ "readOnly": true,
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "onlineResizeSupportedEnum",
+ "modelAsString": true
+ }
+ },
+ "restricted": {
+ "type": "string",
+ "description": "A value indicating whether this region is restricted. \"Enabled\" means region is restricted. \"Disabled\" stands for region is not restricted.",
+ "readOnly": true,
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "restrictedEnum",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Capability for the PostgreSQL server"
+ },
+ "CapabilitiesListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of supported capabilities.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FlexibleServerCapability"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ],
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "description": "Capability for the PostgreSQL server"
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/CheckNameAvailability.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/CheckNameAvailability.json
new file mode 100644
index 000000000000..d8dc56792e5a
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/CheckNameAvailability.json
@@ -0,0 +1,155 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PostgreSQLServerManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model.",
+ "version": "2023-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "CheckNameAvailability"
+ ],
+ "operationId": "CheckNameAvailability_Execute",
+ "x-ms-examples": {
+ "NameAvailability": {
+ "$ref": "./examples/CheckNameAvailability.json"
+ }
+ },
+ "description": "Check the availability of name for resource",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "nameAvailabilityRequest",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/CheckNameAvailabilityRequest"
+ },
+ "description": "The required parameters for checking if resource name is available."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NameAvailability"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/locations/{locationName}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "CheckNameAvailability"
+ ],
+ "operationId": "CheckNameAvailabilityWithLocation_Execute",
+ "x-ms-examples": {
+ "NameAvailability": {
+ "$ref": "./examples/CheckNameAvailabilityLocationBased.json"
+ }
+ },
+ "description": "Check the availability of name for resource",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/LocationNameParameter"
+ },
+ {
+ "name": "nameAvailabilityRequest",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/CheckNameAvailabilityRequest"
+ },
+ "description": "The required parameters for checking if resource name is available."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NameAvailability"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NameAvailability": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "name of the PostgreSQL server.",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "type of the server",
+ "readOnly": true
+ }
+ },
+ "description": "Represents a resource name availability.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/CheckNameAvailabilityResponse"
+ }
+ ]
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Configuration.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Configuration.json
new file mode 100644
index 000000000000..1a038bcacebf
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Configuration.json
@@ -0,0 +1,395 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PostgreSQLServerManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model.",
+ "version": "2023-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations": {
+ "get": {
+ "tags": [
+ "Configurations"
+ ],
+ "operationId": "Configurations_ListByServer",
+ "x-ms-examples": {
+ "ConfigurationList": {
+ "$ref": "./examples/ConfigurationListByServer.json"
+ }
+ },
+ "description": "List all the configurations in a given server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName}": {
+ "get": {
+ "tags": [
+ "Configurations"
+ ],
+ "operationId": "Configurations_Get",
+ "x-ms-examples": {
+ "ConfigurationGet": {
+ "$ref": "./examples/ConfigurationGet.json"
+ }
+ },
+ "description": "Gets information about a configuration of server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Configuration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Configurations"
+ ],
+ "operationId": "Configurations_Update",
+ "x-ms-examples": {
+ "Update a user configuration": {
+ "$ref": "./examples/ConfigurationUpdate.json"
+ }
+ },
+ "description": "Updates a configuration of a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigurationForUpdate"
+ },
+ "description": "The required parameters for updating a server configuration."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Configuration"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Configuration"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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"
+ }
+ },
+ "put": {
+ "tags": [
+ "Configurations"
+ ],
+ "operationId": "Configurations_Put",
+ "x-ms-examples": {
+ "Update a user configuration": {
+ "$ref": "./examples/ConfigurationUpdate.json"
+ }
+ },
+ "description": "Updates a configuration of a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Configuration"
+ },
+ "description": "The required parameters for updating a server configuration."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Configuration"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Configuration"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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": "location"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ConfigurationProperties": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Value of the configuration."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Description of the configuration."
+ },
+ "defaultValue": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Default value of the configuration."
+ },
+ "dataType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Data type of the configuration.",
+ "enum": [
+ "Boolean",
+ "Numeric",
+ "Integer",
+ "Enumeration"
+ ],
+ "x-ms-enum": {
+ "name": "ConfigurationDataType",
+ "modelAsString": true
+ }
+ },
+ "allowedValues": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Allowed values of the configuration."
+ },
+ "source": {
+ "type": "string",
+ "description": "Source of the configuration."
+ },
+ "isDynamicConfig": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Configuration dynamic or static."
+ },
+ "isReadOnly": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Configuration read-only or not."
+ },
+ "isConfigPendingRestart": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Configuration is pending restart or not."
+ },
+ "unit": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Configuration unit."
+ },
+ "documentationLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Configuration documentation link."
+ }
+ },
+ "description": "The properties of a configuration."
+ },
+ "Configuration": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConfigurationProperties",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a configuration."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Represents a Configuration."
+ },
+ "ConfigurationForUpdate": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConfigurationProperties",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a configuration."
+ }
+ },
+ "description": "Represents a Configuration."
+ },
+ "ConfigurationListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Configuration"
+ },
+ "description": "The list of server configurations."
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ }
+ },
+ "description": "A list of server configurations."
+ }
+ },
+ "parameters": {
+ "ConfigurationNameParameter": {
+ "name": "configurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the server configuration.",
+ "minLength": 1,
+ "pattern": "^[-\\w\\._]+$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Databases.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Databases.json
new file mode 100644
index 000000000000..3cefe75119c9
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Databases.json
@@ -0,0 +1,317 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PostgreSQLServerManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model.",
+ "version": "2023-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName}": {
+ "put": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_Create",
+ "x-ms-examples": {
+ "Create a database": {
+ "$ref": "./examples/DatabaseCreate.json"
+ }
+ },
+ "description": "Creates a new database or updates an existing database.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Database"
+ },
+ "description": "The required parameters for creating or updating a database."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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"
+ }
+ },
+ "delete": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_Delete",
+ "x-ms-examples": {
+ "Delete a database": {
+ "$ref": "./examples/DatabaseDelete.json"
+ }
+ },
+ "description": "Deletes a database.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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": "location"
+ }
+ },
+ "get": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_Get",
+ "x-ms-examples": {
+ "Get a database": {
+ "$ref": "./examples/DatabaseGet.json"
+ }
+ },
+ "description": "Gets information about a database.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases": {
+ "get": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_ListByServer",
+ "x-ms-examples": {
+ "List databases in a server": {
+ "$ref": "./examples/DatabasesListByServer.json"
+ }
+ },
+ "description": "List all the databases in a given server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DatabaseListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DatabaseProperties": {
+ "type": "object",
+ "properties": {
+ "charset": {
+ "type": "string",
+ "description": "The charset of the database.",
+ "pattern": "^[a-zA-Z]+\\w*$"
+ },
+ "collation": {
+ "type": "string",
+ "description": "The collation of the database.",
+ "pattern": "^[a-zA-Z\\-]+([. ]|\\w)*$"
+ }
+ },
+ "description": "The properties of a database."
+ },
+ "Database": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DatabaseProperties",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a database."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Represents a Database."
+ },
+ "DatabaseListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Database"
+ },
+ "description": "The list of databases housed in a server"
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of databases.",
+ "type": "string",
+ "format": "uri"
+ }
+ },
+ "description": "A List of databases."
+ }
+ },
+ "parameters": {
+ "DatabaseNameParameter": {
+ "name": "databaseName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the database.",
+ "minLength": 1,
+ "pattern": "^[-\\w\\._]+$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/FirewallRules.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/FirewallRules.json
new file mode 100644
index 000000000000..c07db38ca754
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/FirewallRules.json
@@ -0,0 +1,323 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PostgreSQLServerManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model.",
+ "version": "2023-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName}": {
+ "put": {
+ "tags": [
+ "FirewallRules"
+ ],
+ "operationId": "FirewallRules_CreateOrUpdate",
+ "x-ms-examples": {
+ "FirewallRuleCreate": {
+ "$ref": "./examples/FirewallRuleCreate.json"
+ }
+ },
+ "description": "Creates a new firewall rule or updates an existing firewall rule.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/FirewallRuleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FirewallRule"
+ },
+ "description": "The required parameters for creating or updating a firewall rule."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FirewallRule"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/FirewallRule"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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"
+ }
+ },
+ "delete": {
+ "tags": [
+ "FirewallRules"
+ ],
+ "operationId": "FirewallRules_Delete",
+ "x-ms-examples": {
+ "FirewallRuleDelete": {
+ "$ref": "./examples/FirewallRuleDelete.json"
+ }
+ },
+ "description": "Deletes a PostgreSQL server firewall rule.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/FirewallRuleNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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": "location"
+ }
+ },
+ "get": {
+ "tags": [
+ "FirewallRules"
+ ],
+ "operationId": "FirewallRules_Get",
+ "x-ms-examples": {
+ "FirewallRuleList": {
+ "$ref": "./examples/FirewallRuleGet.json"
+ }
+ },
+ "description": "List all the firewall rules in a given server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/FirewallRuleNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FirewallRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules": {
+ "get": {
+ "tags": [
+ "FirewallRules"
+ ],
+ "operationId": "FirewallRules_ListByServer",
+ "x-ms-examples": {
+ "FirewallRuleList": {
+ "$ref": "./examples/FirewallRuleListByServer.json"
+ }
+ },
+ "description": "List all the firewall rules in a given PostgreSQL server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FirewallRuleListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "FirewallRuleProperties": {
+ "type": "object",
+ "properties": {
+ "startIpAddress": {
+ "type": "string",
+ "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$",
+ "description": "The start IP address of the server firewall rule. Must be IPv4 format."
+ },
+ "endIpAddress": {
+ "type": "string",
+ "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$",
+ "description": "The end IP address of the server firewall rule. Must be IPv4 format."
+ }
+ },
+ "required": [
+ "startIpAddress",
+ "endIpAddress"
+ ],
+ "description": "The properties of a server firewall rule."
+ },
+ "FirewallRule": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FirewallRuleProperties",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a firewall rule."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "description": "Represents a server firewall rule."
+ },
+ "FirewallRuleListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FirewallRule"
+ },
+ "description": "The list of firewall rules in a server."
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ }
+ },
+ "description": "A list of firewall rules."
+ }
+ },
+ "parameters": {
+ "FirewallRuleNameParameter": {
+ "name": "firewallRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the server firewall rule.",
+ "minLength": 1,
+ "pattern": "^[-\\w\\._]+$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/FlexibleServers.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/FlexibleServers.json
new file mode 100644
index 000000000000..861183231c50
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/FlexibleServers.json
@@ -0,0 +1,1203 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PostgreSQLServerManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model.",
+ "version": "2023-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}": {
+ "put": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_Create",
+ "x-ms-examples": {
+ "Create a new server": {
+ "$ref": "./examples/ServerCreate.json"
+ },
+ "Create a new server with active directory authentication enabled": {
+ "$ref": "./examples/ServerCreateWithAadAuthEnabled.json"
+ },
+ "ServerCreateWithDataEncryptionEnabled": {
+ "$ref": "./examples/ServerCreateWithDataEncryptionEnabled.json"
+ },
+ "Create a database as a point in time restore": {
+ "$ref": "./examples/ServerCreatePointInTimeRestore.json"
+ },
+ "Create a database as a geo-restore in geo-paired location": {
+ "$ref": "./examples/ServerCreateGeoRestoreWithDataEncryptionEnabled.json"
+ },
+ "ServerCreateReplica": {
+ "$ref": "./examples/ServerCreateReplica.json"
+ },
+ "ServerCreateReviveDropped": {
+ "$ref": "./examples/ServerCreateReviveDropped.json"
+ }
+ },
+ "description": "Creates a new server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Server"
+ },
+ "description": "The required parameters for creating or updating a server."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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"
+ }
+ },
+ "patch": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_Update",
+ "x-ms-examples": {
+ "ServerUpdate": {
+ "$ref": "./examples/ServerUpdate.json"
+ },
+ "ServerUpdateWithAadAuthEnabled": {
+ "$ref": "./examples/ServerUpdateWithAadAuthEnabled.json"
+ },
+ "ServerUpdateWithDataEncryptionEnabled": {
+ "$ref": "./examples/ServerUpdateWithDataEncryptionEnabled.json"
+ },
+ "ServerUpdateWithCustomerMaintenanceWindow": {
+ "$ref": "./examples/ServerUpdateWithCustomerMaintenanceWindow.json"
+ },
+ "ServerUpdateWithMajorVersionUpgrade": {
+ "$ref": "./examples/ServerUpdateWithMajorVersionUpgrade.json"
+ },
+ "Promote a replica server as a Standalone server as planned, i.e. it will wait for replication to complete.": {
+ "$ref": "./examples/PromoteReplicaAsPlannedStandaloneServer.json"
+ },
+ "Promote a replica server as a Standalone server as forced, i.e. it will promote a replica server immediately without waiting for primary and replica to be in sync.": {
+ "$ref": "./examples/PromoteReplicaAsForcedStandaloneServer.json"
+ },
+ "SwitchOver a replica server as planned, i.e. it will wait for replication to complete before promoting replica as Primary and original primary as replica.": {
+ "$ref": "./examples/PromoteReplicaAsPlannedSwitchover.json"
+ },
+ "SwitchOver a replica server as forced, i.e. it will replica as Primary and original primary as replica immediately without waiting for primary and replica to be in sync.": {
+ "$ref": "./examples/PromoteReplicaAsForcedSwitchover.json"
+ }
+ },
+ "description": "Updates an existing server. The request body can contain one to many of the properties present in the normal server definition.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServerForUpdate"
+ },
+ "description": "The required parameters for updating a server."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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"
+ }
+ },
+ "delete": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_Delete",
+ "x-ms-examples": {
+ "ServerDelete": {
+ "$ref": "./examples/ServerDelete.json"
+ }
+ },
+ "description": "Deletes a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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": "location"
+ }
+ },
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_Get",
+ "x-ms-examples": {
+ "ServerGet": {
+ "$ref": "./examples/ServerGet.json"
+ },
+ "ServerGetWithVnet": {
+ "$ref": "./examples/ServerGetWithVnet.json"
+ },
+ "ServerGetWithPrivateEndpoints": {
+ "$ref": "./examples/ServerGetWithPrivateEndpoints.json"
+ }
+ },
+ "description": "Gets information about a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers": {
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_ListByResourceGroup",
+ "x-ms-examples": {
+ "ServerListByResourceGroup": {
+ "$ref": "./examples/ServerListByResourceGroup.json"
+ }
+ },
+ "description": "List all the servers in a given resource group.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/flexibleServers": {
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_List",
+ "x-ms-examples": {
+ "ServerList": {
+ "$ref": "./examples/ServerList.json"
+ }
+ },
+ "description": "List all the servers in a given subscription.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ServerVersion": {
+ "type": "string",
+ "description": "The version of a server.",
+ "enum": [
+ "16",
+ "15",
+ "14",
+ "13",
+ "12",
+ "11"
+ ],
+ "x-ms-enum": {
+ "name": "ServerVersion",
+ "modelAsString": true
+ }
+ },
+ "Replica": {
+ "type": "object",
+ "description": "Replica properties of a server",
+ "properties": {
+ "role": {
+ "$ref": "#/definitions/ReplicationRole",
+ "description": "Used to indicate role of the server in replication set."
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Replicas allowed for a server.",
+ "readOnly": true
+ },
+ "replicationState": {
+ "type": "string",
+ "enum": [
+ "Active",
+ "Catchup",
+ "Provisioning",
+ "Updating",
+ "Broken",
+ "Reconfiguring"
+ ],
+ "x-ms-enum": {
+ "name": "ReplicationState",
+ "modelAsString": true
+ },
+ "description": "Gets the replication state of a replica server. This property is returned only for replicas api call. Supported values are Active, Catchup, Provisioning, Updating, Broken, Reconfiguring",
+ "readOnly": true
+ },
+ "promoteMode": {
+ "type": "string",
+ "description": "Sets the promote mode for a replica server. This is a write only property.",
+ "enum": [
+ "standalone",
+ "switchover"
+ ],
+ "x-ms-enum": {
+ "name": "ReadReplicaPromoteMode",
+ "modelAsString": true
+ },
+ "x-ms-mutability": [
+ "update"
+ ]
+ },
+ "promoteOption": {
+ "type": "string",
+ "description": "Sets the promote options for a replica server. This is a write only property.",
+ "enum": [
+ "planned",
+ "forced"
+ ],
+ "x-ms-enum": {
+ "name": "ReplicationPromoteOption",
+ "modelAsString": true
+ },
+ "x-ms-mutability": [
+ "update"
+ ]
+ }
+ }
+ },
+ "ServerProperties": {
+ "type": "object",
+ "properties": {
+ "administratorLogin": {
+ "type": "string",
+ "description": "The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation).",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "administratorLoginPassword": {
+ "type": "string",
+ "description": "The administrator login password (required for server creation).",
+ "x-ms-secret": true,
+ "format": "password",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ]
+ },
+ "version": {
+ "$ref": "#/definitions/ServerVersion",
+ "description": "PostgreSQL Server version."
+ },
+ "minorVersion": {
+ "type": "string",
+ "description": "The minor version of the server.",
+ "readOnly": true
+ },
+ "state": {
+ "type": "string",
+ "description": "A state of a server that is visible to user.",
+ "readOnly": true,
+ "enum": [
+ "Ready",
+ "Dropping",
+ "Disabled",
+ "Starting",
+ "Stopping",
+ "Stopped",
+ "Updating"
+ ],
+ "x-ms-enum": {
+ "name": "ServerState",
+ "modelAsString": true
+ }
+ },
+ "fullyQualifiedDomainName": {
+ "type": "string",
+ "description": "The fully qualified domain name of a server.",
+ "readOnly": true
+ },
+ "storage": {
+ "$ref": "#/definitions/Storage",
+ "default": null,
+ "description": "Storage properties of a server."
+ },
+ "authConfig": {
+ "$ref": "#/definitions/AuthConfig",
+ "default": null,
+ "description": "AuthConfig properties of a server."
+ },
+ "dataEncryption": {
+ "$ref": "#/definitions/DataEncryption",
+ "default": null,
+ "description": "Data encryption properties of a server."
+ },
+ "backup": {
+ "$ref": "#/definitions/Backup",
+ "default": null,
+ "description": "Backup properties of a server."
+ },
+ "network": {
+ "$ref": "#/definitions/Network",
+ "default": null,
+ "description": "Network properties of a server. This Network property is required to be passed only in case you want the server to be Private access server."
+ },
+ "highAvailability": {
+ "$ref": "#/definitions/HighAvailability",
+ "default": null,
+ "description": "High availability properties of a server."
+ },
+ "maintenanceWindow": {
+ "$ref": "#/definitions/MaintenanceWindow",
+ "default": null,
+ "description": "Maintenance window properties of a server.",
+ "x-ms-mutability": [
+ "update",
+ "read"
+ ]
+ },
+ "sourceServerResourceId": {
+ "type": "string",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.DBforPostgreSQL/flexibleServers"
+ }
+ ]
+ },
+ "description": "The source server resource ID to restore from. It's required when 'createMode' is 'PointInTimeRestore' or 'GeoRestore' or 'Replica' or 'ReviveDropped'. This property is returned only for Replica server",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "pointInTimeUTC": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when 'createMode' is 'PointInTimeRestore' or 'GeoRestore' or 'ReviveDropped'.",
+ "x-ms-mutability": [
+ "create"
+ ]
+ },
+ "availabilityZone": {
+ "type": "string",
+ "default": "",
+ "description": "availability zone information of the server.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "replicationRole": {
+ "$ref": "#/definitions/ReplicationRole",
+ "description": "Replication role of the server"
+ },
+ "replicaCapacity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Replicas allowed for a server.",
+ "readOnly": true
+ },
+ "replica": {
+ "$ref": "#/definitions/Replica",
+ "description": "Replica properties of a server. These Replica properties are required to be passed only in case you want to Promote a server.",
+ "x-ms-mutability": [
+ "read",
+ "update"
+ ]
+ },
+ "createMode": {
+ "type": "string",
+ "description": "The mode to create a new PostgreSQL server.",
+ "enum": [
+ "Default",
+ "Create",
+ "Update",
+ "PointInTimeRestore",
+ "GeoRestore",
+ "Replica",
+ "ReviveDropped"
+ ],
+ "x-ms-enum": {
+ "name": "CreateMode",
+ "modelAsString": true
+ },
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ]
+ },
+ "privateEndpointConnections": {
+ "type": "array",
+ "items": {
+ "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection"
+ },
+ "description": "List of private endpoint connections associated with the specified resource.",
+ "readOnly": true
+ }
+ },
+ "description": "The properties of a server."
+ },
+ "Server": {
+ "type": "object",
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU (pricing tier) of the server."
+ },
+ "identity": {
+ "$ref": "#/definitions/UserAssignedIdentity",
+ "description": "Describes the identity of the application."
+ },
+ "properties": {
+ "$ref": "#/definitions/ServerProperties",
+ "x-ms-client-flatten": true,
+ "description": "Properties of the server."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Represents a server."
+ },
+ "ServerPropertiesForUpdate": {
+ "type": "object",
+ "properties": {
+ "administratorLoginPassword": {
+ "type": "string",
+ "x-ms-secret": true,
+ "format": "password",
+ "description": "The password of the administrator login.",
+ "x-ms-mutability": [
+ "update"
+ ]
+ },
+ "version": {
+ "$ref": "#/definitions/ServerVersion",
+ "description": "PostgreSQL Server version. Version 16 is currently not supported for MVU."
+ },
+ "storage": {
+ "$ref": "#/definitions/Storage",
+ "default": null,
+ "description": "Storage properties of a server."
+ },
+ "backup": {
+ "$ref": "#/definitions/Backup",
+ "default": null,
+ "description": "Backup properties of a server."
+ },
+ "highAvailability": {
+ "$ref": "#/definitions/HighAvailability",
+ "default": null,
+ "description": "High availability properties of a server."
+ },
+ "maintenanceWindow": {
+ "$ref": "#/definitions/MaintenanceWindow",
+ "default": null,
+ "description": "Maintenance window properties of a server.",
+ "x-ms-mutability": [
+ "update",
+ "read"
+ ]
+ },
+ "authConfig": {
+ "$ref": "#/definitions/AuthConfig",
+ "default": null,
+ "description": "AuthConfig properties of a server."
+ },
+ "dataEncryption": {
+ "$ref": "#/definitions/DataEncryption",
+ "default": null,
+ "description": "Data encryption properties of a server."
+ },
+ "createMode": {
+ "type": "string",
+ "description": "The mode to update a new PostgreSQL server.",
+ "enum": [
+ "Default",
+ "Update"
+ ],
+ "x-ms-enum": {
+ "name": "CreateModeForUpdate",
+ "modelAsString": true
+ },
+ "x-ms-mutability": [
+ "update"
+ ]
+ },
+ "replicationRole": {
+ "$ref": "#/definitions/ReplicationRole",
+ "description": "Replication role of the server"
+ },
+ "replica": {
+ "$ref": "#/definitions/Replica",
+ "description": "Replica properties of a server. These Replica properties are required to be passed only in case you want to Promote a server.",
+ "x-ms-mutability": [
+ "read",
+ "update"
+ ]
+ },
+ "network": {
+ "$ref": "#/definitions/Network",
+ "default": null,
+ "description": "Network properties of a server. These are required to be passed only in case if server is a private access server."
+ }
+ }
+ },
+ "ServerForUpdate": {
+ "type": "object",
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU (pricing tier) of the server."
+ },
+ "identity": {
+ "$ref": "#/definitions/UserAssignedIdentity",
+ "description": "Describes the identity of the application."
+ },
+ "properties": {
+ "$ref": "#/definitions/ServerPropertiesForUpdate",
+ "x-ms-client-flatten": true,
+ "description": "Properties of the server."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application-specific metadata in the form of key-value pairs."
+ }
+ },
+ "description": "Represents a server to be updated."
+ },
+ "ServerListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Server"
+ },
+ "description": "The list of flexible servers"
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ }
+ },
+ "description": "A list of servers."
+ },
+ "Sku": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3."
+ },
+ "tier": {
+ "type": "string",
+ "description": "The tier of the particular SKU, e.g. Burstable.",
+ "enum": [
+ "Burstable",
+ "GeneralPurpose",
+ "MemoryOptimized"
+ ],
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "name",
+ "tier"
+ ],
+ "description": "Sku information related properties of a server."
+ },
+ "Storage": {
+ "type": "object",
+ "properties": {
+ "storageSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Max storage allowed for a server."
+ },
+ "autoGrow": {
+ "type": "string",
+ "description": "Flag to enable / disable Storage Auto grow for flexible server.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "StorageAutoGrow",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "description": "Name of storage tier for IOPS.",
+ "enum": [
+ "P1",
+ "P2",
+ "P3",
+ "P4",
+ "P6",
+ "P10",
+ "P15",
+ "P20",
+ "P30",
+ "P40",
+ "P50",
+ "P60",
+ "P70",
+ "P80"
+ ],
+ "x-ms-enum": {
+ "name": "AzureManagedDiskPerformanceTiers",
+ "modelAsString": true
+ }
+ },
+ "iops": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Storage tier IOPS quantity. This property is required to be set for storage Type PremiumV2_LRS"
+ },
+ "throughput": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Storage throughput for the server. This is required to be set for storage Type PremiumV2_LRS"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Premium_LRS",
+ "PremiumV2_LRS"
+ ],
+ "x-ms-enum": {
+ "name": "StorageType",
+ "modelAsString": true
+ },
+ "description": "Storage type for the server. Allowed values are Premium_LRS and PremiumV2_LRS, and default is Premium_LRS if not specified"
+ }
+ },
+ "description": "Storage properties of a server"
+ },
+ "AuthConfig": {
+ "type": "object",
+ "properties": {
+ "activeDirectoryAuth": {
+ "type": "string",
+ "description": "If Enabled, Azure Active Directory authentication is enabled.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "activeDirectoryAuthEnum",
+ "modelAsString": true
+ }
+ },
+ "passwordAuth": {
+ "type": "string",
+ "default": "Enabled",
+ "description": "If Enabled, Password authentication is enabled.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "passwordAuthEnum",
+ "modelAsString": true
+ }
+ },
+ "tenantId": {
+ "type": "string",
+ "default": "",
+ "description": "Tenant id of the server."
+ }
+ },
+ "description": "Authentication configuration properties of a server"
+ },
+ "DataEncryption": {
+ "type": "object",
+ "properties": {
+ "primaryKeyURI": {
+ "type": "string",
+ "description": "URI for the key in keyvault for data encryption of the primary server."
+ },
+ "primaryUserAssignedIdentityId": {
+ "type": "string",
+ "description": "Resource Id for the User assigned identity to be used for data encryption of the primary server."
+ },
+ "geoBackupKeyURI": {
+ "type": "string",
+ "description": "URI for the key in keyvault for data encryption for geo-backup of server."
+ },
+ "geoBackupUserAssignedIdentityId": {
+ "type": "string",
+ "description": "Resource Id for the User assigned identity to be used for data encryption for geo-backup of server."
+ },
+ "type": {
+ "type": "string",
+ "description": "Data encryption type to depict if it is System Managed vs Azure Key vault.",
+ "enum": [
+ "SystemManaged",
+ "AzureKeyVault"
+ ],
+ "x-ms-enum": {
+ "name": "ArmServerKeyType",
+ "modelAsString": true
+ }
+ },
+ "primaryEncryptionKeyStatus": {
+ "type": "string",
+ "description": "Primary encryption key status for Data encryption enabled server.",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "enum": [
+ "Valid",
+ "Invalid"
+ ],
+ "x-ms-enum": {
+ "name": "keyStatusEnum",
+ "modelAsString": true
+ }
+ },
+ "geoBackupEncryptionKeyStatus": {
+ "type": "string",
+ "description": "Geo-backup encryption key status for Data encryption enabled server.",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "enum": [
+ "Valid",
+ "Invalid"
+ ],
+ "x-ms-enum": {
+ "name": "keyStatusEnum",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Data encryption properties of a server"
+ },
+ "UserIdentity": {
+ "description": "Describes a single user-assigned identity associated with the application.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "description": "the object identifier of the Service Principal which this identity represents."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "the client identifier of the Service Principal which this identity represents."
+ }
+ }
+ },
+ "UserAssignedIdentityMap": {
+ "type": "object",
+ "description": "Defines a map that contains user assigned identities.",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserIdentity"
+ }
+ },
+ "UserAssignedIdentity": {
+ "type": "object",
+ "properties": {
+ "userAssignedIdentities": {
+ "$ref": "#/definitions/UserAssignedIdentityMap",
+ "description": "represents user assigned identities map."
+ },
+ "type": {
+ "type": "string",
+ "description": "the types of identities associated with this resource; currently restricted to 'None and UserAssigned'",
+ "enum": [
+ "None",
+ "UserAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": true
+ }
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "Tenant id of the server.",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "description": "Information describing the identities associated with this application."
+ },
+ "ReplicationRole": {
+ "type": "string",
+ "description": "Used to indicate role of the server in replication set.",
+ "enum": [
+ "None",
+ "Primary",
+ "AsyncReplica",
+ "GeoAsyncReplica"
+ ],
+ "x-ms-enum": {
+ "name": "ReplicationRole",
+ "modelAsString": true
+ }
+ },
+ "Backup": {
+ "type": "object",
+ "properties": {
+ "backupRetentionDays": {
+ "type": "integer",
+ "format": "int32",
+ "default": 7,
+ "description": "Backup retention days for the server."
+ },
+ "geoRedundantBackup": {
+ "type": "string",
+ "default": "Disabled",
+ "description": "A value indicating whether Geo-Redundant backup is enabled on the server.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "GeoRedundantBackupEnum",
+ "modelAsString": true
+ },
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "earliestRestoreDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The earliest restore point time (ISO8601 format) for server.",
+ "readOnly": true
+ }
+ },
+ "description": "Backup properties of a server"
+ },
+ "Network": {
+ "type": "object",
+ "properties": {
+ "publicNetworkAccess": {
+ "type": "string",
+ "description": "public network access is enabled or not",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "ServerPublicNetworkAccessState",
+ "modelAsString": true
+ }
+ },
+ "delegatedSubnetResourceId": {
+ "type": "string",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ }
+ ]
+ },
+ "description": "Delegated subnet arm resource id. This is required to be passed during create, in case we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update the value for Private DNS zone."
+ },
+ "privateDnsZoneArmResourceId": {
+ "type": "string",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.Network/privateDnsZones"
+ }
+ ]
+ },
+ "description": "Private dns zone arm resource id. This is required to be passed during create, in case we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update the value for Private DNS zone."
+ }
+ },
+ "description": "Network properties of a server."
+ },
+ "HighAvailability": {
+ "type": "object",
+ "properties": {
+ "mode": {
+ "type": "string",
+ "default": "Disabled",
+ "description": "The HA mode for the server.",
+ "enum": [
+ "Disabled",
+ "ZoneRedundant",
+ "SameZone"
+ ],
+ "x-ms-enum": {
+ "name": "HighAvailabilityMode",
+ "modelAsString": true
+ }
+ },
+ "state": {
+ "type": "string",
+ "description": "A state of a HA server that is visible to user.",
+ "enum": [
+ "NotEnabled",
+ "CreatingStandby",
+ "ReplicatingData",
+ "FailingOver",
+ "Healthy",
+ "RemovingStandby"
+ ],
+ "x-ms-enum": {
+ "name": "ServerHAState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "standbyAvailabilityZone": {
+ "type": "string",
+ "default": "",
+ "description": "availability zone information of the standby."
+ }
+ },
+ "description": "High availability properties of a server"
+ },
+ "MaintenanceWindow": {
+ "type": "object",
+ "description": "Maintenance window properties of a server.",
+ "properties": {
+ "customWindow": {
+ "type": "string",
+ "default": "Disabled",
+ "description": "indicates whether custom window is enabled or disabled"
+ },
+ "startHour": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0,
+ "description": "start hour for maintenance window"
+ },
+ "startMinute": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0,
+ "description": "start minute for maintenance window"
+ },
+ "dayOfWeek": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0,
+ "description": "day of week for maintenance window"
+ }
+ }
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/LongTermRetentionOperation.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/LongTermRetentionOperation.json
new file mode 100644
index 000000000000..64b999175dc8
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/LongTermRetentionOperation.json
@@ -0,0 +1,524 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PostgreSQLServerManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model.",
+ "version": "2023-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/ltrPreBackup": {
+ "post": {
+ "description": "PreBackup operation performs all the checks that are needed for the subsequent long term retention backup operation to succeed.",
+ "tags": [
+ "LongTermRetentionBackup"
+ ],
+ "operationId": "FlexibleServer_TriggerLtrPreBackup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LtrPreBackupRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok. API finished synchronously with Success.",
+ "schema": {
+ "$ref": "#/definitions/LtrPreBackupResponse"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "description": "A unique ID for the current operation, service generated. All the resource providers must return this value in the response headers to facilitate debugging.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error Scenario 4xx/5xx",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "ErrorCode string in the event of a failure.",
+ "type": "string"
+ },
+ "x-ms-request-id": {
+ "description": "A unique ID for the current operation, service generated. All the resource providers must return this value in the response headers to facilitate debugging.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Sample_Prebackup": {
+ "$ref": "./examples/LongTermRetentionPreBackup.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/startLtrBackup": {
+ "post": {
+ "description": "Start the Long Term Retention Backup operation",
+ "tags": [
+ "LongTermRetentionBackup"
+ ],
+ "operationId": "FlexibleServer_StartLtrBackup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LtrBackupRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok. API finished synchronously with Success.",
+ "schema": {
+ "$ref": "#/definitions/LtrBackupResponse"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "description": "A unique ID for the current operation, service generated. All the resource providers must return this value in the response headers to facilitate debugging.",
+ "type": "string"
+ }
+ }
+ },
+ "202": {
+ "description": "Accepted.",
+ "headers": {
+ "Retry-After": {
+ "description": "The number of seconds to wait before checking the status of the asynchronous operation.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "x-ms-request-id": {
+ "description": "A unique ID for the current operation, service generated. All the resource providers must return this value in the response headers to facilitate debugging.",
+ "type": "string"
+ },
+ "Location": {
+ "description": "URL to retrieve the final result after operation completes.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "URL for checking the ongoing status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error Scenario 4xx/5xx",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "description": "ErrorCode string in the event of a failure.",
+ "type": "string"
+ },
+ "x-ms-request-id": {
+ "description": "A unique ID for the current operation, service generated. All the resource providers must return this value in the response headers to facilitate debugging.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Sample_ExecuteBackup": {
+ "$ref": "./examples/LongTermRetentionBackup.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/ltrBackupOperations/{backupName}": {
+ "get": {
+ "tags": [
+ "LongTermRetentionBackup"
+ ],
+ "operationId": "ltrBackupOperations_Get",
+ "x-ms-examples": {
+ "Sample": {
+ "$ref": "./examples/LongTermRetentionOperationGet.json"
+ }
+ },
+ "description": "Gets the result of the give long term retention backup operation for the flexible server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BackupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LtrServerBackupOperation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/ltrBackupOperations": {
+ "get": {
+ "tags": [
+ "LongTermRetentionBackup"
+ ],
+ "operationId": "ltrBackupOperations_ListByServer",
+ "x-ms-examples": {
+ "Sample List of Long Tern Retention Operations by Flexible Server": {
+ "$ref": "./examples/LongTermRetentionOperationListByServer.json"
+ }
+ },
+ "description": "Gets the result of the give long term retention backup operations for the flexible server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LtrServerBackupOperationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "BackupRequestBase": {
+ "description": "BackupRequestBase is the base for all backup request.",
+ "required": [
+ "backupSettings"
+ ],
+ "type": "object",
+ "properties": {
+ "backupSettings": {
+ "$ref": "#/definitions/BackupSettings",
+ "description": "Backup Settings"
+ }
+ }
+ },
+ "LtrBackupRequest": {
+ "description": "The request that is made for a long term retention backup.",
+ "type": "object",
+ "properties": {
+ "targetDetails": {
+ "$ref": "#/definitions/BackupStoreDetails",
+ "description": "Backup store detail for target server"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupRequestBase"
+ }
+ ],
+ "required": [
+ "targetDetails"
+ ]
+ },
+ "LtrPreBackupRequest": {
+ "description": "A request that is made for pre-backup.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupRequestBase"
+ }
+ ]
+ },
+ "BackupSettings": {
+ "description": "The settings for the long term backup.",
+ "type": "object",
+ "required": [
+ "backupName"
+ ],
+ "properties": {
+ "backupName": {
+ "type": "string",
+ "description": "Backup Name for the current backup"
+ }
+ }
+ },
+ "BackupStoreDetails": {
+ "description": "Details about the target where the backup content will be stored.",
+ "required": [
+ "sasUriList"
+ ],
+ "type": "object",
+ "properties": {
+ "sasUriList": {
+ "description": "List of SAS uri of storage containers where backup data is to be streamed/copied.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "SAS URI of Azure Storage Account Container.",
+ "x-ms-secret": true
+ }
+ }
+ }
+ },
+ "LtrPreBackupResponseProperties": {
+ "description": "Response for the pre-backup request.",
+ "type": "object",
+ "required": [
+ "numberOfContainers"
+ ],
+ "properties": {
+ "numberOfContainers": {
+ "format": "int32",
+ "description": "Number of storage containers the plugin will use during backup. More than one containers may be used for size limitations, parallelism, or redundancy etc.",
+ "type": "integer"
+ }
+ }
+ },
+ "LtrBackupOperationResponseProperties": {
+ "description": "Response for the backup request.",
+ "type": "object",
+ "required": [
+ "status",
+ "startTime"
+ ],
+ "properties": {
+ "datasourceSizeInBytes": {
+ "format": "int64",
+ "description": "Size of datasource in bytes",
+ "type": "integer"
+ },
+ "dataTransferredInBytes": {
+ "format": "int64",
+ "description": "Data transferred in bytes",
+ "type": "integer"
+ },
+ "backupName": {
+ "description": "Name of Backup operation",
+ "type": "string"
+ },
+ "backupMetadata": {
+ "description": "Metadata to be stored in RP. Store everything that will be required to perform a successful restore using this Recovery point. e.g. Versions, DataFormat etc",
+ "type": "string"
+ },
+ "status": {
+ "description": "Service-set extensible enum indicating the status of operation",
+ "enum": [
+ "Running",
+ "Cancelled",
+ "Failed",
+ "Succeeded"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ExecutionStatus",
+ "modelAsString": true
+ }
+ },
+ "startTime": {
+ "description": "Start time of the operation.",
+ "format": "date-time",
+ "type": "string"
+ },
+ "endTime": {
+ "description": "End time of the operation.",
+ "format": "date-time",
+ "type": "string"
+ },
+ "percentComplete": {
+ "description": "PercentageCompleted",
+ "format": "double",
+ "type": "number",
+ "minimum": 0,
+ "maximum": 100
+ },
+ "errorCode": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error code."
+ },
+ "errorMessage": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error message."
+ }
+ }
+ },
+ "LtrBackupResponse": {
+ "description": "Response for the LTR backup API call",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Long Term Retention Backup Operation Resource Properties",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/LtrBackupOperationResponseProperties"
+ }
+ }
+ },
+ "LtrServerBackupOperation": {
+ "description": "Response for the LTR backup Operation API call",
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "properties": {
+ "description": "Long Term Retention Backup Operation Resource Properties",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/LtrBackupOperationResponseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "LtrServerBackupOperationList": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LtrServerBackupOperation"
+ },
+ "description": "The list of long term retention server backup operations"
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ }
+ },
+ "description": "A list of long term retention backup operations for server."
+ },
+ "LtrPreBackupResponse": {
+ "description": "Response for the LTR pre-backup API call",
+ "type": "object",
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "description": "Additional Properties for the pre backup response",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/LtrPreBackupResponseProperties"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "BackupNameParameter": {
+ "name": "backupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the backup.",
+ "x-ms-parameter-location": "method",
+ "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*"
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Migrations.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Migrations.json
new file mode 100644
index 000000000000..0a1dabf6fc4c
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Migrations.json
@@ -0,0 +1,1254 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PostgreSQLServerManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model.",
+ "version": "2023-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "description": "Azure Active Directory OAuth2 Flow",
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{targetDbServerName}/migrations/{migrationName}": {
+ "put": {
+ "tags": [
+ "Migrations"
+ ],
+ "operationId": "Migrations_Create",
+ "x-ms-examples": {
+ "Migrations_Create": {
+ "$ref": "./examples/Migrations_Create.json"
+ },
+ "Migrations Create by passing user names": {
+ "$ref": "./examples/Migrations_Create_With_Other_Users.json"
+ },
+ "Create Migration with other source types for Validate and Migrate": {
+ "$ref": "./examples/Migrations_Create_Other_SourceTypes_Validate_Migrate.json"
+ },
+ "Create Pre-migration Validation": {
+ "$ref": "./examples/Migrations_Create_Validate_Only.json"
+ }
+ },
+ "description": "Creates a new migration.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TargetDbServerSubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TargetDbServerResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TargetDbServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MigrationNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MigrationResource"
+ },
+ "description": "The required parameters for creating a migration."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully set or update the Migration for a server",
+ "schema": {
+ "$ref": "#/definitions/MigrationResource"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/MigrationResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Migrations"
+ ],
+ "operationId": "Migrations_Get",
+ "x-ms-examples": {
+ "Migrations_Get": {
+ "$ref": "./examples/Migrations_Get.json"
+ },
+ "Migrations_GetMigrationWithValidationFailures": {
+ "$ref": "./examples/Migrations_GetMigrationWithValidationFailures.json"
+ },
+ "Migrations_GetMigrationWithSuccessfulValidationOnly": {
+ "$ref": "./examples/Migrations_GetMigrationWithSuccessfulValidationOnly.json"
+ },
+ "Migrations_GetMigrationWithSuccessfulValidationButMigrationFailure": {
+ "$ref": "./examples/Migrations_GetMigrationWithSuccessfulValidationButMigrationFailure.json"
+ },
+ "Migrations_GetMigrationWithSuccessfulValidationAndMigration": {
+ "$ref": "./examples/Migrations_GetMigrationWithSuccessfulValidationAndMigration.json"
+ }
+ },
+ "description": "Gets details of a migration.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TargetDbServerSubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TargetDbServerResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TargetDbServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MigrationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Migrations"
+ ],
+ "operationId": "Migrations_Update",
+ "x-ms-examples": {
+ "Migrations_Update": {
+ "$ref": "./examples/Migrations_Update.json"
+ },
+ "Cancel migration": {
+ "$ref": "./examples/Migrations_Cancel.json"
+ }
+ },
+ "description": "Updates an existing migration. The request body can contain one to many of the mutable properties present in the migration definition. Certain property updates initiate migration state transitions.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TargetDbServerSubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TargetDbServerResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TargetDbServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MigrationNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MigrationResourceForPatch"
+ },
+ "description": "The required parameters for updating a migration."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Migrations"
+ ],
+ "operationId": "Migrations_Delete",
+ "x-ms-examples": {
+ "Migrations_Delete": {
+ "$ref": "./examples/Migrations_Delete.json"
+ }
+ },
+ "description": "Deletes a migration.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TargetDbServerSubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TargetDbServerResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TargetDbServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MigrationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{targetDbServerName}/migrations": {
+ "get": {
+ "tags": [
+ "Migrations"
+ ],
+ "operationId": "Migrations_ListByTargetServer",
+ "x-ms-examples": {
+ "Migrations_ListByTargetServer": {
+ "$ref": "./examples/Migrations_ListByTargetServer.json"
+ }
+ },
+ "description": "List all the migrations on a given target server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TargetDbServerSubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TargetDbServerResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TargetDbServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MigrationListFilter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MigrationResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{targetDbServerName}/checkMigrationNameAvailability": {
+ "post": {
+ "summary": "Check migration name validity and availability",
+ "description": "This method checks whether a proposed migration name is valid and available.",
+ "tags": [
+ "Custom operation",
+ "POST"
+ ],
+ "operationId": "CheckMigrationNameAvailability",
+ "x-ms-examples": {
+ "CheckMigrationNameAvailability": {
+ "$ref": "./examples/CheckMigrationNameAvailability.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TargetDbServerSubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TargetDbServerResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TargetDbServerNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MigrationNameAvailabilityResource"
+ },
+ "description": "The required parameters for checking if a migration name is available."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationNameAvailabilityResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "MigrationResource": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MigrationResourceProperties",
+ "description": "Migration resource properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Represents a migration resource."
+ },
+ "MigrationResourceProperties": {
+ "type": "object",
+ "properties": {
+ "migrationId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "ID for migration, a GUID."
+ },
+ "currentStatus": {
+ "$ref": "#/definitions/MigrationStatus",
+ "readOnly": true,
+ "description": "Current status of migration"
+ },
+ "migrationMode": {
+ "$ref": "#/definitions/MigrationMode",
+ "description": "There are two types of migration modes Online and Offline"
+ },
+ "migrationOption": {
+ "$ref": "#/definitions/MigrationOption",
+ "description": "This indicates the supported Migration option for the migration"
+ },
+ "sourceType": {
+ "$ref": "#/definitions/SourceType",
+ "description": "migration source server type : OnPremises, AWS, GCP, AzureVM or PostgreSQLSingleServer"
+ },
+ "sslMode": {
+ "$ref": "#/definitions/SslMode",
+ "description": "SSL modes for migration. Default SSL mode for PostgreSQLSingleServer is VerifyFull and Prefer for other source types"
+ },
+ "sourceDbServerMetadata": {
+ "$ref": "#/definitions/DbServerMetadata",
+ "readOnly": true,
+ "description": "Metadata of the source database server"
+ },
+ "targetDbServerMetadata": {
+ "$ref": "#/definitions/DbServerMetadata",
+ "readOnly": true,
+ "description": "Metadata of the target database server"
+ },
+ "sourceDbServerResourceId": {
+ "type": "string",
+ "description": "ResourceId of the source database server in case the sourceType is PostgreSQLSingleServer. For other source types this should be ipaddress:port@username or hostname:port@username"
+ },
+ "sourceDbServerFullyQualifiedDomainName": {
+ "type": "string",
+ "description": "Source server fully qualified domain name or ip. It is a optional value, if customer provide it, dms will always use it for connection"
+ },
+ "targetDbServerResourceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "ResourceId of the source database server"
+ },
+ "targetDbServerFullyQualifiedDomainName": {
+ "type": "string",
+ "description": "Target server fully qualified domain name or ip. It is a optional value, if customer provide it, dms will always use it for connection"
+ },
+ "secretParameters": {
+ "$ref": "#/definitions/MigrationSecretParameters",
+ "description": "Migration secret parameters"
+ },
+ "dbsToMigrate": {
+ "maxItems": 50,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Number of databases to migrate",
+ "x-ms-identifiers": []
+ },
+ "setupLogicalReplicationOnSourceDbIfNeeded": {
+ "type": "string",
+ "enum": [
+ "True",
+ "False"
+ ],
+ "x-ms-enum": {
+ "name": "LogicalReplicationOnSourceDbEnum",
+ "modelAsString": true
+ },
+ "description": "Indicates whether to setup LogicalReplicationOnSourceDb, if needed"
+ },
+ "overwriteDbsInTarget": {
+ "type": "string",
+ "enum": [
+ "True",
+ "False"
+ ],
+ "x-ms-enum": {
+ "name": "OverwriteDbsInTargetEnum",
+ "modelAsString": true
+ },
+ "description": "Indicates whether the databases on the target server can be overwritten, if already present. If set to False, the migration workflow will wait for a confirmation, if it detects that the database already exists."
+ },
+ "migrationWindowStartTimeInUtc": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Start time in UTC for migration window"
+ },
+ "migrationWindowEndTimeInUtc": {
+ "format": "date-time",
+ "type": "string",
+ "description": "End time in UTC for migration window"
+ },
+ "startDataMigration": {
+ "type": "string",
+ "enum": [
+ "True",
+ "False"
+ ],
+ "x-ms-enum": {
+ "name": "StartDataMigrationEnum",
+ "modelAsString": true
+ },
+ "description": "Indicates whether the data migration should start right away"
+ },
+ "triggerCutover": {
+ "type": "string",
+ "enum": [
+ "True",
+ "False"
+ ],
+ "x-ms-enum": {
+ "name": "TriggerCutoverEnum",
+ "modelAsString": true
+ },
+ "description": "To trigger cutover for entire migration we need to send this flag as True"
+ },
+ "dbsToTriggerCutoverOn": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "When you want to trigger cutover for specific databases send triggerCutover flag as True and database names in this array",
+ "x-ms-identifiers": []
+ },
+ "cancel": {
+ "type": "string",
+ "enum": [
+ "True",
+ "False"
+ ],
+ "x-ms-enum": {
+ "name": "CancelEnum",
+ "modelAsString": true
+ },
+ "description": "To trigger cancel for entire migration we need to send this flag as True"
+ },
+ "dbsToCancelMigrationOn": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "When you want to trigger cancel for specific databases send cancel flag as True and database names in this array",
+ "x-ms-identifiers": []
+ }
+ },
+ "description": "Migration resource properties."
+ },
+ "MigrationResourceListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrationResource"
+ },
+ "readOnly": true,
+ "description": "A list of migration resources.",
+ "x-ms-identifiers": []
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of migrations.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "description": "A list of migration resources."
+ },
+ "MigrationResourceForPatch": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MigrationResourcePropertiesForPatch",
+ "description": "Migration resource properties.",
+ "x-ms-client-flatten": true
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application-specific metadata in the form of key-value pairs."
+ }
+ },
+ "description": "Represents a migration resource for patch."
+ },
+ "MigrationResourcePropertiesForPatch": {
+ "type": "object",
+ "properties": {
+ "sourceDbServerResourceId": {
+ "type": "string",
+ "description": "ResourceId of the source database server"
+ },
+ "sourceDbServerFullyQualifiedDomainName": {
+ "type": "string",
+ "description": "Source server fully qualified domain name or ip. It is a optional value, if customer provide it, dms will always use it for connection"
+ },
+ "targetDbServerFullyQualifiedDomainName": {
+ "type": "string",
+ "description": "Target server fully qualified domain name or ip. It is a optional value, if customer provide it, dms will always use it for connection"
+ },
+ "secretParameters": {
+ "$ref": "#/definitions/MigrationSecretParameters",
+ "description": "Migration secret parameters"
+ },
+ "dbsToMigrate": {
+ "maxItems": 50,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Number of databases to migrate",
+ "x-ms-identifiers": []
+ },
+ "setupLogicalReplicationOnSourceDbIfNeeded": {
+ "type": "string",
+ "enum": [
+ "True",
+ "False"
+ ],
+ "x-ms-enum": {
+ "name": "LogicalReplicationOnSourceDbEnum",
+ "modelAsString": true
+ },
+ "description": "Indicates whether to setup LogicalReplicationOnSourceDb, if needed"
+ },
+ "overwriteDbsInTarget": {
+ "type": "string",
+ "enum": [
+ "True",
+ "False"
+ ],
+ "x-ms-enum": {
+ "name": "OverwriteDbsInTargetEnum",
+ "modelAsString": true
+ },
+ "description": "Indicates whether the databases on the target server can be overwritten, if already present. If set to False, the migration workflow will wait for a confirmation, if it detects that the database already exists."
+ },
+ "migrationWindowStartTimeInUtc": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Start time in UTC for migration window"
+ },
+ "startDataMigration": {
+ "type": "string",
+ "enum": [
+ "True",
+ "False"
+ ],
+ "x-ms-enum": {
+ "name": "StartDataMigrationEnum",
+ "modelAsString": true
+ },
+ "description": "Indicates whether the data migration should start right away"
+ },
+ "triggerCutover": {
+ "type": "string",
+ "enum": [
+ "True",
+ "False"
+ ],
+ "x-ms-enum": {
+ "name": "TriggerCutoverEnum",
+ "modelAsString": true
+ },
+ "description": "To trigger cutover for entire migration we need to send this flag as True"
+ },
+ "dbsToTriggerCutoverOn": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "When you want to trigger cutover for specific databases send triggerCutover flag as True and database names in this array",
+ "x-ms-identifiers": []
+ },
+ "cancel": {
+ "type": "string",
+ "enum": [
+ "True",
+ "False"
+ ],
+ "x-ms-enum": {
+ "name": "CancelEnum",
+ "modelAsString": true
+ },
+ "description": "To trigger cancel for entire migration we need to send this flag as True"
+ },
+ "dbsToCancelMigrationOn": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "When you want to trigger cancel for specific databases send cancel flag as True and database names in this array",
+ "x-ms-identifiers": []
+ },
+ "migrationMode": {
+ "$ref": "#/definitions/MigrationMode",
+ "description": "There are two types of migration modes Online and Offline"
+ }
+ },
+ "description": "Migration resource properties for patch."
+ },
+ "MigrationSecretParameters": {
+ "required": [
+ "adminCredentials"
+ ],
+ "type": "object",
+ "properties": {
+ "adminCredentials": {
+ "x-ms-secret": true,
+ "x-ms-external": true,
+ "$ref": "#/definitions/AdminCredentials",
+ "description": "Admin credentials for source and target servers"
+ },
+ "sourceServerUsername": {
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "description": "Gets or sets the username for the source server. This user need not be an admin."
+ },
+ "targetServerUsername": {
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "description": "Gets or sets the username for the target server. This user need not be an admin."
+ }
+ },
+ "description": "Migration secret parameters."
+ },
+ "AdminCredentials": {
+ "type": "object",
+ "required": [
+ "sourceServerPassword",
+ "targetServerPassword"
+ ],
+ "properties": {
+ "sourceServerPassword": {
+ "type": "string",
+ "x-ms-secret": true,
+ "x-ms-external": true,
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "description": "Password for source server."
+ },
+ "targetServerPassword": {
+ "type": "string",
+ "x-ms-secret": true,
+ "x-ms-external": true,
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "description": "Password for target server."
+ }
+ },
+ "description": "Server admin credentials."
+ },
+ "DbServerMetadata": {
+ "type": "object",
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Location of database server",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "readOnly": true
+ },
+ "version": {
+ "type": "string",
+ "description": "Version for database engine"
+ },
+ "storageMb": {
+ "format": "int32",
+ "type": "integer",
+ "description": "Storage size in MB for database server"
+ },
+ "sku": {
+ "$ref": "#/definitions/ServerSku",
+ "description": "SKU for the database server. This object is empty for PG single server"
+ }
+ },
+ "description": "Database server metadata."
+ },
+ "MigrationDetailsLevel": {
+ "enum": [
+ "Default",
+ "Summary",
+ "Full"
+ ],
+ "type": "string",
+ "description": "Migration details level.",
+ "x-ms-enum": {
+ "name": "MigrationDetailsLevel",
+ "modelAsString": true
+ }
+ },
+ "MigrationMode": {
+ "enum": [
+ "Offline",
+ "Online"
+ ],
+ "type": "string",
+ "description": "There are two types of migration modes Online and Offline",
+ "x-ms-enum": {
+ "name": "MigrationMode",
+ "modelAsString": true
+ }
+ },
+ "MigrationOption": {
+ "enum": [
+ "Validate",
+ "Migrate",
+ "ValidateAndMigrate"
+ ],
+ "type": "string",
+ "description": "Supported types of migration request include Validate, Migrate and ValidateAndMigrate",
+ "x-ms-enum": {
+ "name": "MigrationOption",
+ "modelAsString": true
+ }
+ },
+ "MigrationState": {
+ "enum": [
+ "InProgress",
+ "WaitingForUserAction",
+ "Canceled",
+ "Failed",
+ "Succeeded",
+ "ValidationFailed",
+ "CleaningUp"
+ ],
+ "type": "string",
+ "description": "Migration state.",
+ "x-ms-enum": {
+ "name": "MigrationState",
+ "modelAsString": true
+ }
+ },
+ "MigrationStatus": {
+ "type": "object",
+ "properties": {
+ "state": {
+ "$ref": "#/definitions/MigrationState",
+ "readOnly": true,
+ "description": "State of migration"
+ },
+ "error": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Error message, if any, for the migration state"
+ },
+ "currentSubStateDetails": {
+ "$ref": "#/definitions/MigrationSubStateDetails",
+ "readOnly": true,
+ "description": "Current Migration sub state details."
+ }
+ },
+ "description": "Migration status."
+ },
+ "MigrationSubState": {
+ "enum": [
+ "PerformingPreRequisiteSteps",
+ "WaitingForLogicalReplicationSetupRequestOnSourceDB",
+ "WaitingForDBsToMigrateSpecification",
+ "WaitingForTargetDBOverwriteConfirmation",
+ "WaitingForDataMigrationScheduling",
+ "WaitingForDataMigrationWindow",
+ "MigratingData",
+ "WaitingForCutoverTrigger",
+ "CompletingMigration",
+ "Completed",
+ "CancelingRequestedDBMigrations",
+ "ValidationInProgress"
+ ],
+ "type": "string",
+ "description": "Migration sub state.",
+ "x-ms-enum": {
+ "name": "MigrationSubState",
+ "modelAsString": true
+ }
+ },
+ "MigrationSubStateDetails": {
+ "type": "object",
+ "properties": {
+ "currentSubState": {
+ "$ref": "#/definitions/MigrationSubState",
+ "readOnly": true
+ },
+ "dbDetails": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/DbMigrationStatus"
+ }
+ },
+ "validationDetails": {
+ "$ref": "#/definitions/ValidationDetails"
+ }
+ },
+ "description": "Migration sub state details."
+ },
+ "DbMigrationStatus": {
+ "type": "object",
+ "description": "Migration status of an individual database",
+ "properties": {
+ "databaseName": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "migrationState": {
+ "type": "string",
+ "description": "Migration db state of an individual database",
+ "enum": [
+ "InProgress",
+ "WaitingForCutoverTrigger",
+ "Failed",
+ "Canceled",
+ "Succeeded",
+ "Canceling"
+ ],
+ "x-ms-enum": {
+ "name": "MigrationDbState",
+ "modelAsString": true
+ }
+ },
+ "migrationOperation": {
+ "type": "string",
+ "description": "Migration operation of an individual database"
+ },
+ "startedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start date-time of a migration state"
+ },
+ "endedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "End date-time of a migration state"
+ },
+ "fullLoadQueuedTables": {
+ "format": "int32",
+ "type": "integer",
+ "description": "Number of tables queued for the migration of a DB"
+ },
+ "fullLoadErroredTables": {
+ "format": "int32",
+ "type": "integer",
+ "description": "Number of tables errored out during the migration of a DB"
+ },
+ "fullLoadLoadingTables": {
+ "format": "int32",
+ "type": "integer",
+ "description": "Number of tables loading during the migration of a DB"
+ },
+ "fullLoadCompletedTables": {
+ "format": "int32",
+ "type": "integer",
+ "description": "Number of tables loaded during the migration of a DB"
+ },
+ "cdcUpdateCounter": {
+ "format": "int32",
+ "type": "integer",
+ "description": "CDC update counter"
+ },
+ "cdcDeleteCounter": {
+ "format": "int32",
+ "type": "integer",
+ "description": "CDC delete counter"
+ },
+ "cdcInsertCounter": {
+ "format": "int32",
+ "type": "integer",
+ "description": "CDC insert counter"
+ },
+ "appliedChanges": {
+ "format": "int32",
+ "type": "integer",
+ "description": "CDC applied changes counter"
+ },
+ "incomingChanges": {
+ "format": "int32",
+ "type": "integer",
+ "description": "CDC incoming changes counter"
+ },
+ "latency": {
+ "format": "int32",
+ "type": "integer",
+ "description": "Lag in seconds between source and target during online phase"
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message, if any, for the migration state"
+ }
+ }
+ },
+ "ValidationDetails": {
+ "type": "object",
+ "description": "Details for the validation for migration",
+ "properties": {
+ "status": {
+ "$ref": "#/definitions/ValidationState"
+ },
+ "validationStartTimeInUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Validation Start date-time in UTC"
+ },
+ "validationEndTimeInUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Validation End date-time in UTC"
+ },
+ "serverLevelValidationDetails": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ValidationSummaryItem"
+ },
+ "description": "Details of server level validations",
+ "x-ms-identifiers": []
+ },
+ "dbLevelValidationDetails": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DbLevelValidationStatus"
+ },
+ "description": "Details of server level validations",
+ "x-ms-identifiers": [
+ "databaseName"
+ ]
+ }
+ }
+ },
+ "DbLevelValidationStatus": {
+ "type": "object",
+ "description": "Validation status summary for an individual database",
+ "properties": {
+ "databaseName": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "startedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start date-time of a database level validation"
+ },
+ "endedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "End date-time of a database level validation"
+ },
+ "summary": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ValidationSummaryItem"
+ },
+ "description": "Summary of database level validations",
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "ValidationSummaryItem": {
+ "type": "object",
+ "description": "Validation summary object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Validation type"
+ },
+ "state": {
+ "$ref": "#/definitions/ValidationState"
+ },
+ "messages": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ValidationMessage"
+ },
+ "description": "Validation messages",
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "ValidationMessage": {
+ "type": "object",
+ "description": "Validation message object",
+ "properties": {
+ "state": {
+ "$ref": "#/definitions/ValidationState",
+ "description": "Severity of validation message"
+ },
+ "message": {
+ "type": "string",
+ "description": "Validation message string"
+ }
+ }
+ },
+ "ValidationState": {
+ "type": "string",
+ "description": "Validation status for migration",
+ "enum": [
+ "Failed",
+ "Succeeded",
+ "Warning"
+ ],
+ "x-ms-enum": {
+ "name": "ValidationState",
+ "modelAsString": true
+ }
+ },
+ "SourceType": {
+ "enum": [
+ "OnPremises",
+ "AWS",
+ "GCP",
+ "AzureVM",
+ "PostgreSQLSingleServer"
+ ],
+ "type": "string",
+ "description": "Migration source server type : OnPremises, AWS, GCP, AzureVM or PostgreSQLSingleServer",
+ "x-ms-enum": {
+ "name": "SourceType",
+ "modelAsString": true
+ }
+ },
+ "SslMode": {
+ "enum": [
+ "Prefer",
+ "Require",
+ "VerifyCA",
+ "VerifyFull"
+ ],
+ "type": "string",
+ "description": "Supported SSL modes for migration. VerifyFull is the recommended SSL mode for Single server migration. Prefer, Require are recommended SSL modes for other source types",
+ "x-ms-enum": {
+ "name": "SslMode",
+ "modelAsString": true
+ }
+ },
+ "ServerSku": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3."
+ },
+ "tier": {
+ "type": "string",
+ "description": "The tier of the particular SKU, e.g. Burstable.",
+ "enum": [
+ "Burstable",
+ "GeneralPurpose",
+ "MemoryOptimized"
+ ],
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Sku information related properties of a server."
+ },
+ "MigrationNameAvailabilityReason": {
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "type": "string",
+ "description": "Migration name availability reason.",
+ "x-ms-enum": {
+ "name": "MigrationNameAvailabilityReason",
+ "modelAsString": true
+ }
+ },
+ "MigrationNameAvailabilityResource": {
+ "required": [
+ "name",
+ "type"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The resource name to verify."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the resource."
+ },
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "Indicates whether the resource name is available.",
+ "readOnly": true
+ },
+ "reason": {
+ "$ref": "#/definitions/MigrationNameAvailabilityReason",
+ "description": "Migration name availability reason",
+ "readOnly": true
+ },
+ "message": {
+ "type": "string",
+ "description": "Migration name availability message.",
+ "readOnly": true
+ }
+ },
+ "description": "Represents a migration name's availability."
+ }
+ },
+ "parameters": {
+ "TargetDbServerSubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The subscription ID of the target database server.",
+ "pattern": "([a-z0-9]){8,8}[-]([a-z0-9]){4,4}[-]([a-z0-9]){4,4}[-]([a-z0-9]){4,4}[-]([a-z0-9]){12,12}",
+ "x-ms-parameter-location": "method"
+ },
+ "TargetDbServerResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the target database server.",
+ "pattern": "^[-a-z0-9A-Z._()]+[^.]$",
+ "x-ms-parameter-location": "method"
+ },
+ "TargetDbServerNameParameter": {
+ "name": "targetDbServerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the target database server.",
+ "pattern": "([-a-z0-9]){3,63}",
+ "x-ms-parameter-location": "method"
+ },
+ "MigrationNameParameter": {
+ "name": "migrationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the migration.",
+ "pattern": "^[a-z][a-z0-9]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "MigrationListFilter": {
+ "name": "migrationListFilter",
+ "in": "query",
+ "required": false,
+ "enum": [
+ "Active",
+ "All"
+ ],
+ "type": "string",
+ "description": "Migration list filter. Retrieves either active migrations or all migrations.",
+ "x-ms-enum": {
+ "name": "MigrationListFilter",
+ "modelAsString": true
+ },
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Operations.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Operations.json
new file mode 100644
index 000000000000..414d581c499f
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Operations.json
@@ -0,0 +1,164 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PostgreSQLServerManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model.",
+ "version": "2023-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.DBforPostgreSQL/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "OperationList": {
+ "$ref": "./examples/OperationList.json"
+ }
+ },
+ "description": "Lists all of the available REST API operations.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationDisplay": {
+ "type": "object",
+ "properties": {
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Operation resource provider name."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource on which the operation is performed."
+ },
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Localized friendly name for the operation."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Operation description."
+ }
+ },
+ "description": "Display metadata associated with the operation."
+ },
+ "Operation": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the operation being performed on this particular object."
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "readOnly": true,
+ "description": "The localized display information for this particular operation or action."
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The intended executor of the operation.",
+ "enum": [
+ "NotSpecified",
+ "user",
+ "system"
+ ],
+ "x-ms-enum": {
+ "name": "OperationOrigin",
+ "modelAsString": true
+ }
+ },
+ "properties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "readOnly": true,
+ "x-ms-client-flatten": false,
+ "description": "Additional descriptions for the operation."
+ }
+ },
+ "description": "REST API operation definition."
+ },
+ "OperationListResult": {
+ "description": "A list of resource provider operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of available operation details",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "nextLink": {
+ "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/PrivateDnsZone.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/PrivateDnsZone.json
new file mode 100644
index 000000000000..8571eac3fac9
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/PrivateDnsZone.json
@@ -0,0 +1,77 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-06-01-preview",
+ "title": "PostgreSQLManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.DBforPostgreSQL/getPrivateDnsZoneSuffix": {
+ "post": {
+ "tags": [
+ "GetPrivateDnsZoneSuffix"
+ ],
+ "operationId": "GetPrivateDnsZoneSuffix_Execute",
+ "x-ms-examples": {
+ "GetPrivateDnsZoneSuffix": {
+ "$ref": "./examples/GetPrivateDnsZoneSuffix.json"
+ }
+ },
+ "description": "Get private DNS zone suffix in the cloud",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateDnsZoneSuffix"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PrivateDnsZoneSuffix": {
+ "type": "string",
+ "description": "Represents a resource name availability."
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/PrivateEndpointConnections.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/PrivateEndpointConnections.json
new file mode 100644
index 000000000000..880c6cf850b4
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/PrivateEndpointConnections.json
@@ -0,0 +1,270 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PostgreSQLServerManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model.",
+ "version": "2023-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Gets a private endpoint connection.",
+ "operationId": "PrivateEndpointConnections_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/PrivateEndpointConnectionNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved a specified private endpoint connection.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets private endpoint connection.": {
+ "$ref": "./examples/PrivateEndpointConnectionGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Approve or reject a private endpoint connection with a given name.",
+ "operationId": "PrivateEndpointConnection_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection"
+ },
+ "description": "The required parameters for updating private endpoint connection."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully approved or rejected private endpoint connection.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "201": {
+ "description": "Successfully approved or rejected private endpoint connection.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Approve or reject a private endpoint connection with a given name.": {
+ "$ref": "./examples/PrivateEndpointConnectionUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Deletes a private endpoint connection with a given name.",
+ "operationId": "PrivateEndpointConnection_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/PrivateEndpointConnectionNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Private endpoint connection does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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": {
+ "Deletes a private endpoint connection with a given name.": {
+ "$ref": "./examples/PrivateEndpointConnectionDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Gets all private endpoint connections on a server.",
+ "operationId": "PrivateEndpointConnections_ListByServer",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved private endpoint connections.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets list of private endpoint connections on a server.": {
+ "$ref": "./examples/PrivateEndpointConnectionList.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PrivateEndpointConnectionListResult": {
+ "description": "A list of private endpoint connections.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "The URL to get the next set of results.",
+ "type": "string",
+ "format": "uri",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/PrivateLinkResources.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/PrivateLinkResources.json
new file mode 100644
index 000000000000..d182220ea98b
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/PrivateLinkResources.json
@@ -0,0 +1,155 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PostgreSQLServerManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model.",
+ "version": "2023-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "description": "Gets the private link resources for PostgreSQL server.",
+ "operationId": "PrivateLinkResources_ListByServer",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved private link resources.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets private link resources for PostgreSQL.": {
+ "$ref": "./examples/PrivateLinkResourcesList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/privateLinkResources/{groupName}": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "description": "Gets a private link resource for PostgreSQL server.",
+ "operationId": "PrivateLinkResources_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "groupName",
+ "in": "path",
+ "description": "The name of the private link resource.",
+ "required": true,
+ "type": "string",
+ "pattern": "^.*$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved private link resources.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateLinkResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets a private link resource for PostgreSQL.": {
+ "$ref": "./examples/PrivateLinkResourcesGet.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PrivateLinkResourceListResult": {
+ "description": "A list of private link resources",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateLinkResource"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/QuotaUsages.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/QuotaUsages.json
new file mode 100644
index 000000000000..481bdd5e25c0
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/QuotaUsages.json
@@ -0,0 +1,148 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PostgreSQLServerManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model.",
+ "version": "2023-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/locations/{locationName}/resourceType/flexibleServers/usages": {
+ "get": {
+ "tags": [
+ "QuotaUsagesForFlexibleServers"
+ ],
+ "operationId": "QuotaUsages_List",
+ "x-ms-examples": {
+ "List of quota usages for flexible servers": {
+ "$ref": "./examples/QuotaUsagesForFlexibleServers.json"
+ }
+ },
+ "description": "Get quota usages at specified location in a given subscription.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/LocationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/QuotaUsagesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "QuotaUsage": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/NameProperty",
+ "description": "Name of quota usage for flexible servers"
+ },
+ "limit": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Quota limit"
+ },
+ "unit": {
+ "type": "string",
+ "description": "Quota unit",
+ "default": "Count"
+ },
+ "currentValue": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Current Quota usage value"
+ },
+ "id": {
+ "type": "string",
+ "description": "Fully qualified ARM resource Id"
+ }
+ },
+ "description": "Quota usage for flexible servers"
+ },
+ "NameProperty": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Name value"
+ },
+ "localizedValue": {
+ "type": "string",
+ "description": "Localized name"
+ }
+ },
+ "description": "Name property for quota usage"
+ },
+ "QuotaUsagesListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of quota usages.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QuotaUsage"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ],
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "description": "Capability for the PostgreSQL server"
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Replicas.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Replicas.json
new file mode 100644
index 000000000000..a6c22b182fe2
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Replicas.json
@@ -0,0 +1,83 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PostgreSQLServerManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model.",
+ "version": "2023-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/replicas": {
+ "get": {
+ "tags": [
+ "Replicas"
+ ],
+ "operationId": "Replicas_ListByServer",
+ "x-ms-examples": {
+ "ReplicasListByServer": {
+ "$ref": "./examples/ReplicasListByServer.json"
+ }
+ },
+ "description": "List all the replicas for a given server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./FlexibleServers.json#/definitions/ServerListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/ServerLogs.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/ServerLogs.json
new file mode 100644
index 000000000000..0832f5007d74
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/ServerLogs.json
@@ -0,0 +1,148 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PostgreSQLServerManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model.",
+ "version": "2023-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/logFiles": {
+ "get": {
+ "tags": [
+ "LogFiles"
+ ],
+ "operationId": "LogFiles_ListByServer",
+ "x-ms-examples": {
+ "List all server log files for a server": {
+ "$ref": "./examples/LogFilesListByServer.json"
+ }
+ },
+ "description": "List all the server log files in a given server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LogFileListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "LogFileProperties": {
+ "type": "object",
+ "properties": {
+ "createdTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Creation timestamp of the log file."
+ },
+ "lastModifiedTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last modified timestamp of the log file."
+ },
+ "sizeInKb": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The size in kb of the logFile."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the log file."
+ },
+ "url": {
+ "type": "string",
+ "description": "The url to download the log file from."
+ }
+ },
+ "description": "The properties of a logFile."
+ },
+ "LogFile": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/LogFileProperties",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a logFile."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Represents a logFile."
+ },
+ "LogFileListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LogFile"
+ },
+ "description": "The list of logFiles in a server"
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ }
+ },
+ "description": "A List of logFiles."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/ServerStartStopRestart.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/ServerStartStopRestart.json
new file mode 100644
index 000000000000..fd4d1293a102
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/ServerStartStopRestart.json
@@ -0,0 +1,229 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PostgreSQLServerManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model.",
+ "version": "2023-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/restart": {
+ "post": {
+ "tags": [
+ "ServerRestart"
+ ],
+ "operationId": "Servers_Restart",
+ "x-ms-examples": {
+ "ServerRestart": {
+ "$ref": "./examples/ServerRestart.json"
+ },
+ "ServerRestartWithFailover": {
+ "$ref": "./examples/ServerRestartWithFailover.json"
+ }
+ },
+ "description": "Restarts a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/RestartParameter"
+ },
+ "description": "The parameters for restarting a server."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/start": {
+ "post": {
+ "tags": [
+ "ServerStart"
+ ],
+ "operationId": "Servers_Start",
+ "x-ms-examples": {
+ "ServerStart": {
+ "$ref": "./examples/ServerStart.json"
+ }
+ },
+ "description": "Starts a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/stop": {
+ "post": {
+ "tags": [
+ "ServerStop"
+ ],
+ "operationId": "Servers_Stop",
+ "x-ms-examples": {
+ "ServerStop": {
+ "$ref": "./examples/ServerStop.json"
+ }
+ },
+ "description": "Stops a server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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": "location"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "RestartParameter": {
+ "type": "object",
+ "properties": {
+ "restartWithFailover": {
+ "type": "boolean",
+ "description": "Indicates whether to restart the server with failover."
+ },
+ "failoverMode": {
+ "type": "string",
+ "description": "Failover mode.",
+ "enum": [
+ "PlannedFailover",
+ "ForcedFailover",
+ "PlannedSwitchover",
+ "ForcedSwitchover"
+ ],
+ "x-ms-enum": {
+ "name": "FailoverMode",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Represents server restart parameters."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/ThreatProtection.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/ThreatProtection.json
new file mode 100644
index 000000000000..14d6408e7d39
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/ThreatProtection.json
@@ -0,0 +1,272 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PostgreSQLServerManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, administrators, log files, configurations, migrations, advanced threat protection settings with new business model.",
+ "version": "2023-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/advancedThreatProtectionSettings": {
+ "get": {
+ "tags": [
+ "AdvancedThreatProtectionSettings"
+ ],
+ "description": "Get a list of server's Threat Protection state.",
+ "operationId": "ServerThreatProtectionSettings_ListByServer",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the server threat detection policy.",
+ "schema": {
+ "$ref": "#/definitions/ServerThreatProtectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation of advanced threat protection on the flexible server failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a server's Advanced Threat Protection settings": {
+ "$ref": "./examples/ServerThreatProtectionSettingsListByServer.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/advancedThreatProtectionSettings/{threatProtectionName}": {
+ "get": {
+ "tags": [
+ "AdvancedThreatProtectionSettings"
+ ],
+ "description": "Get a server's Advanced Threat Protection settings.",
+ "operationId": "ServerThreatProtectionSettings_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ThreatProtectionNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the server advanced threat protection settings.",
+ "schema": {
+ "$ref": "#/definitions/ServerThreatProtectionSettingsModel"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation of threat protection on the flexible server failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a server's Threat Protection settings": {
+ "$ref": "./examples/ServerThreatProtectionSettingsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AdvancedThreatProtectionSettings"
+ ],
+ "description": "Creates or updates a server's Advanced Threat Protection settings.",
+ "operationId": "ServerThreatProtectionSettings_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ThreatProtectionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The Advanced Threat Protection state for the flexible server.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServerThreatProtectionSettingsModel"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully set or update the server Threat Protection settings.",
+ "schema": {
+ "$ref": "#/definitions/ServerThreatProtectionSettingsModel"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation of setting Threat Protection failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "201": {
+ "description": "Successfully created the server Threat Protection settings.",
+ "schema": {
+ "$ref": "#/definitions/ServerThreatProtectionSettingsModel"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Update a server's Threat Protection settings": {
+ "$ref": "./examples/ServerThreatProtectionSettingsCreate.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ServerThreatProtectionProperties": {
+ "description": "Properties of server Threat Protection state.",
+ "required": [
+ "state"
+ ],
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "Specifies the state of the Threat Protection, whether it is enabled or disabled or a state has not been applied yet on the specific server.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ThreatProtectionState",
+ "modelAsString": false
+ }
+ },
+ "creationTime": {
+ "format": "date-time",
+ "description": "Specifies the UTC creation time of the policy.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ServerThreatProtectionSettingsModel": {
+ "description": "Server's Advanced Threat Protection settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ServerThreatProtectionProperties",
+ "description": "Advanced Threat Protection properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ServerThreatProtectionListResult": {
+ "description": "A list of the server's Advanced Threat Protection settings.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServerThreatProtectionSettingsModel"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ThreatProtectionNameParameter": {
+ "name": "threatProtectionName",
+ "in": "path",
+ "description": "The name of the Threat Protection state.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "Default"
+ ],
+ "x-ms-enum": {
+ "name": "ThreatProtectionName",
+ "modelAsString": true
+ },
+ "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/VirtualEndpoints.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/VirtualEndpoints.json
new file mode 100644
index 000000000000..b3c2c9f95389
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/VirtualEndpoints.json
@@ -0,0 +1,403 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PostgreSQLServerManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model.",
+ "version": "2023-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/virtualendpoints/{virtualEndpointName}": {
+ "put": {
+ "tags": [
+ "VirtualEndpoints"
+ ],
+ "operationId": "VirtualEndpoints_Create",
+ "x-ms-examples": {
+ "Create a new virtual endpoint for a flexible server": {
+ "$ref": "./examples/VirtualEndpointCreate.json"
+ }
+ },
+ "description": "Creates a new virtual endpoint for PostgreSQL flexible server.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VirtualEndpointNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualEndpointResource"
+ },
+ "description": "The required parameters for creating or updating virtual endpoints."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualEndpointResource"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualEndpointResource"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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"
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualEndpoints"
+ ],
+ "operationId": "VirtualEndpoints_Update",
+ "x-ms-examples": {
+ "Update a virtual endpoint for a server to update the ": {
+ "$ref": "./examples/VirtualEndpointUpdate.json"
+ }
+ },
+ "description": "Updates an existing virtual endpoint. The request body can contain one to many of the properties present in the normal virtual endpoint definition.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VirtualEndpointNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualEndpointResourceForPatch"
+ },
+ "description": "The required parameters for updating a server."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualEndpointResource"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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"
+ }
+ },
+ "delete": {
+ "tags": [
+ "VirtualEndpoints"
+ ],
+ "operationId": "VirtualEndpoints_Delete",
+ "x-ms-examples": {
+ "Delete a virtual endpoint": {
+ "$ref": "./examples/VirtualEndpointDelete.json"
+ }
+ },
+ "description": "Deletes a virtual endpoint.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VirtualEndpointNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "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": "location"
+ }
+ },
+ "get": {
+ "tags": [
+ "VirtualEndpoints"
+ ],
+ "operationId": "VirtualEndpoints_Get",
+ "x-ms-examples": {
+ "Get a virtual endpoint": {
+ "$ref": "./examples/VirtualEndpointsGet.json"
+ }
+ },
+ "description": "Gets information about a virtual endpoint.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VirtualEndpointNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualEndpointResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/virtualendpoints": {
+ "get": {
+ "tags": [
+ "VirtualEndpoints"
+ ],
+ "operationId": "VirtualEndpoints_ListByServer",
+ "x-ms-examples": {
+ "VirtualEndpointListByServer": {
+ "$ref": "./examples/VirtualEndpointsListByServer.json"
+ }
+ },
+ "description": "List all the servers in a given resource group.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualEndpointsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "VirtualEndpointResourceProperties": {
+ "type": "object",
+ "properties": {
+ "endpointType": {
+ "type": "string",
+ "description": "The endpoint type for the virtual endpoint.",
+ "enum": [
+ "ReadWrite"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualEndpointType",
+ "modelAsString": true
+ }
+ },
+ "members": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "Member for the virtual endpoint."
+ },
+ "description": "List of members for a virtual endpoint"
+ },
+ "virtualEndpoints": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "Virtual endpoint for a server."
+ },
+ "description": "List of virtual endpoints for a server",
+ "readOnly": true
+ }
+ },
+ "description": "The properties of a virtual endpoint."
+ },
+ "VirtualEndpointResource": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/VirtualEndpointResourceForPatch"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Represents a virtual endpoint for a server."
+ },
+ "VirtualEndpointResourceForPatch": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/VirtualEndpointResourceProperties",
+ "x-ms-client-flatten": true,
+ "description": "Properties of the virtual endpoint resource."
+ }
+ },
+ "description": "Represents a virtual endpoint for a server."
+ },
+ "VirtualEndpointsListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualEndpointResource"
+ },
+ "description": "The list of virtual endpoints"
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ }
+ },
+ "description": "A list of virtual endpoints."
+ }
+ },
+ "parameters": {
+ "VirtualEndpointNameParameter": {
+ "name": "virtualEndpointName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual endpoint.",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]{0,62}(?`.
-``` yaml $(tag) == 'package-flexibleserver-2023-03-01-preview' && $(python)
+``` yaml $(tag) == 'package-flexibleserver-2023-06-01-preview' && $(python)
namespace: azure.mgmt.rdbms.postgresql_flexibleservers
output-folder: $(python-sdks-folder)/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/postgresql_flexibleservers
```
@@ -58,4 +58,4 @@ directive:
where: $.definitions.Network.properties.privateDnsZoneArmResourceId
transform: >
$['format'] = 'string';
-```
\ No newline at end of file
+```
diff --git a/specification/postgresql/resource-manager/types/common-types.json b/specification/postgresql/resource-manager/types/common-types.json
index 31cd6c772844..e20bbd9b2b44 100644
--- a/specification/postgresql/resource-manager/types/common-types.json
+++ b/specification/postgresql/resource-manager/types/common-types.json
@@ -37,6 +37,125 @@
]
}
}
+ },
+ "PrivateEndpointConnectionProperties": {
+ "description": "Properties of a private endpoint connection.",
+ "type": "object",
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpointProperty",
+ "description": "Private endpoint which the connection belongs to."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty",
+ "description": "Connection state of the private endpoint connection."
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the private endpoint connection. Can be Succeeded, Updating, Deleting, Deleted or Failed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "groupIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to."
+ }
+ }
+ },
+ "PrivateEndpointProperty": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Resource id of the private endpoint.",
+ "type": "string",
+ "format": "arm-id"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PrivateLinkServiceConnectionStateProperty": {
+ "required": [
+ "status",
+ "description"
+ ],
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The private link service connection status. Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The private link service connection description. The reason for approval/rejection of the connection.",
+ "type": "string"
+ },
+ "actionsRequired": {
+ "description": "The actions required for private link service connection. A message indicating if changes on the service provider require any updates on the consumer.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "description": "A collection of information about the state of the private endpoint connection."
+ },
+ "PrivateEndpointConnection": {
+ "description": "A private endpoint connection",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PrivateLinkResourceProperties": {
+ "description": "Properties of a private link resource.",
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "description": "The private link resource group id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredMembers": {
+ "description": "The private link resource required member names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "requiredZoneNames": {
+ "description": "The private link resource required zone names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "description": "A private link resource",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "The private link resource group id.",
+ "readOnly": true
+ }
+ }
}
},
"parameters": {
@@ -60,6 +179,15 @@
"minLength": 1,
"pattern": "^[-\\w\\._]+$",
"x-ms-parameter-location": "method"
+ },
+ "PrivateEndpointConnectionNameParameter": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z][a-zA-Z0-9-]*\\.[a-fA-F0-9\\-]+$",
+ "x-ms-parameter-location": "method"
}
}
}
diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/jobDelete.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/jobDelete.json
index 2eab9c6f5f68..a24fd230dbd3 100644
--- a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/jobDelete.json
+++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/jobDelete.json
@@ -1,5 +1,6 @@
{
"parameters": {
+ "azureRegion": "eastus",
"api-version": "2022-09-12-preview",
"jobId": "a0f7adb6-0378-11eb-9463-2816a847b9a3",
"resourceGroupName": "quantumResourcegroup",
diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/jobGet.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/jobGet.json
index 778a48cd2a03..c957593becfa 100644
--- a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/jobGet.json
+++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/jobGet.json
@@ -1,5 +1,6 @@
{
"parameters": {
+ "azureRegion": "eastus",
"api-version": "2022-09-12-preview",
"jobId": "a0f7adb6-0378-11eb-9463-2816a847b9a3",
"resourceGroupName": "quantumResourcegroup",
diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/jobList.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/jobList.json
index 702413562a33..5223190728d4 100644
--- a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/jobList.json
+++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/jobList.json
@@ -1,5 +1,6 @@
{
"parameters": {
+ "azureRegion": "eastus",
"api-version": "2022-09-12-preview",
"resourceGroupName": "quantumResourcegroup",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/jobPatch.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/jobPatch.json
index 3da732e5de1a..6ff4349599b7 100644
--- a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/jobPatch.json
+++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/jobPatch.json
@@ -1,5 +1,6 @@
{
"parameters": {
+ "azureRegion": "eastus",
"api-version": "2022-09-12-preview",
"jobId": "a0f7adb6-0378-11eb-9463-2816a847b9a3",
"resourceGroupName": "quantumResourcegroup",
diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/jobPut.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/jobPut.json
index f42b90cf524b..5635bc99a840 100644
--- a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/jobPut.json
+++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/jobPut.json
@@ -1,5 +1,6 @@
{
"parameters": {
+ "azureRegion": "eastus",
"api-version": "2022-09-12-preview",
"jobId": "a0f7adb6-0378-11eb-9463-2816a847b9a3",
"resourceGroupName": "quantumResourcegroup",
diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/providerStatus.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/providerStatus.json
index e511ae82909f..d856303f5729 100644
--- a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/providerStatus.json
+++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/providerStatus.json
@@ -1,5 +1,6 @@
{
"parameters": {
+ "azureRegion": "eastus",
"api-version": "2022-09-12-preview",
"resourceGroupName": "quantumResourcegroup",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/quotaList.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/quotaList.json
index a71abeec8b82..030342112a26 100644
--- a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/quotaList.json
+++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/quotaList.json
@@ -1,5 +1,6 @@
{
"parameters": {
+ "azureRegion": "eastus",
"api-version": "2022-09-12-preview",
"resourceGroupName": "quantumResourcegroup",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/sessionClose.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/sessionClose.json
index 39f98c48cf53..11b878b15116 100644
--- a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/sessionClose.json
+++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/sessionClose.json
@@ -1,5 +1,6 @@
{
"parameters": {
+ "azureRegion": "eastus",
"api-version": "2022-09-12-preview",
"sessionId": "a54a5d47-1591-4334-9c7b-7b692d5db26c",
"resourceGroupName": "quantumResourcegroup",
diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/sessionGet.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/sessionGet.json
index 2a1de4d6c873..d007175cf9c7 100644
--- a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/sessionGet.json
+++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/sessionGet.json
@@ -1,5 +1,6 @@
{
"parameters": {
+ "azureRegion": "eastus",
"api-version": "2022-09-12-preview",
"sessionId": "60ba7795-6a13-4630-aec0-260b3904378c",
"resourceGroupName": "quantumResourcegroup",
diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/sessionJobsList.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/sessionJobsList.json
index 282c2c9d5fb1..76af2d644aad 100644
--- a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/sessionJobsList.json
+++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/sessionJobsList.json
@@ -1,5 +1,6 @@
{
"parameters": {
+ "azureRegion": "eastus",
"api-version": "2022-09-12-preview",
"sessionId": "60ba7795-6a13-4630-aec0-260b3904378c",
"resourceGroupName": "quantumResourcegroup",
diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/sessionList.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/sessionList.json
index fa619224f5f4..256e1cf22675 100644
--- a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/sessionList.json
+++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/sessionList.json
@@ -1,5 +1,6 @@
{
"parameters": {
+ "azureRegion": "eastus",
"api-version": "2022-09-12-preview",
"resourceGroupName": "quantumResourcegroup",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/sessionPut.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/sessionPut.json
index ca59ef6bd702..f8266055c577 100644
--- a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/sessionPut.json
+++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/sessionPut.json
@@ -1,5 +1,6 @@
{
"parameters": {
+ "azureRegion": "eastus",
"api-version": "2022-09-12-preview",
"sessionId": "60ba7795-6a13-4630-aec0-260b3904378c",
"resourceGroupName": "quantumResourcegroup",
diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/storageGet.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/storageGet.json
index 39ba4f1b3b23..b1bb6500ae27 100644
--- a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/storageGet.json
+++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/storageGet.json
@@ -1,5 +1,6 @@
{
"parameters": {
+ "azureRegion": "eastus",
"api-version": "2022-09-12-preview",
"resourceGroupName": "quantumResourcegroup",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/topLevelItemsList.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/topLevelItemsList.json
index 6cdb9dbd6eba..6a1c3a536162 100644
--- a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/topLevelItemsList.json
+++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/examples/topLevelItemsList.json
@@ -1,5 +1,6 @@
{
"parameters": {
+ "azureRegion": "eastus",
"api-version": "2022-09-12-preview",
"resourceGroupName": "quantumResourcegroup",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
diff --git a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/quantum.json b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/quantum.json
index 6a6404e53450..55917b1559d9 100644
--- a/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/quantum.json
+++ b/specification/quantum/data-plane/Microsoft.Quantum/preview/2022-09-12-preview/quantum.json
@@ -8,7 +8,14 @@
"email": "azqengg@microsoft.com"
}
},
- "host": "quantum.azure.com",
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{azureRegion}.quantum.azure.com",
+ "parameters": [
+ {
+ "$ref": "#/parameters/azureRegionParameter"
+ }
+ ]
+ },
"schemes": [
"https"
],
@@ -1252,6 +1259,15 @@
}
},
"parameters": {
+ "azureRegionParameter": {
+ "name": "azureRegion",
+ "description": "Supported Azure regions for Azure Quantum Services. For example, \"eastus\"",
+ "required": true,
+ "x-ms-parameter-location": "client",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "in": "path"
+ },
"apiVersionParameter": {
"name": "api-version",
"in": "query",
diff --git a/specification/quota/resource-manager/readme.md b/specification/quota/resource-manager/readme.md
index 33619a074472..63a7b407b7c5 100644
--- a/specification/quota/resource-manager/readme.md
+++ b/specification/quota/resource-manager/readme.md
@@ -26,7 +26,7 @@ These are the global settings for the Quota API.
``` yaml
openapi-type: arm
-tag: package-2023-06-01-preview
+tag: package-2023-02-01
```
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-04-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-04-01/bms.json
index 2af05319e003..08cbcb9673b9 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-04-01/bms.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-04-01/bms.json
@@ -8609,6 +8609,11 @@
"format": "int32",
"description": "Soft delete retention period in days",
"type": "integer"
+ },
+ "vaultId": {
+ "description": "ID of the vault which protects this item",
+ "type": "string",
+ "readOnly": true
}
},
"discriminator": "protectedItemType"
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/bms.json
new file mode 100644
index 000000000000..76a55d9ad50e
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/bms.json
@@ -0,0 +1,13503 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-06-01",
+ "title": "RecoveryServicesBackupClient",
+ "x-ms-code-generation-settings": {
+ "internalConstructors": false
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig": {
+ "get": {
+ "tags": [
+ "BackupResourceStorageConfigsNonCRR"
+ ],
+ "description": "Fetches resource storage config.",
+ "operationId": "BackupResourceStorageConfigsNonCRR_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupResourceConfigResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Vault Storage Configuration": {
+ "$ref": "./examples/Common/BackupStorageConfig_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BackupResourceStorageConfigsNonCRR"
+ ],
+ "description": "Updates vault storage model type.",
+ "operationId": "BackupResourceStorageConfigsNonCRR_Update",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Vault storage config request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupResourceConfigResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupResourceConfigResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Vault Storage Configuration": {
+ "$ref": "./examples/Common/BackupStorageConfig_Put.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "BackupResourceStorageConfigsNonCRR"
+ ],
+ "description": "Updates vault storage model type.",
+ "operationId": "BackupResourceStorageConfigsNonCRR_patch",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Vault storage config request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupResourceConfigResource"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Vault Storage Configuration": {
+ "$ref": "./examples/Common/BackupStorageConfig_Patch.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection": {
+ "post": {
+ "tags": [
+ "ProtectionIntent"
+ ],
+ "summary": "It will validate followings\r\n1. Vault capacity\r\n2. VM is already protected\r\n3. Any VM related configuration passed in properties.",
+ "operationId": "ProtectionIntent_Validate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/AzureRegion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Enable backup validation request on Virtual Machine",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PreValidateEnableBackupRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PreValidateEnableBackupResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Validate Enable Protection on Azure Vm": {
+ "$ref": "./examples/AzureIaasVm/ProtectionIntent_Validate.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupStatus": {
+ "post": {
+ "tags": [
+ "BackupStatus"
+ ],
+ "summary": "Get the container backup status",
+ "operationId": "BackupStatus_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/AzureRegion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Container Backup Status Request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupStatusRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupStatusResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Azure Virtual Machine Backup Status": {
+ "$ref": "./examples/AzureIaasVm/GetBackupStatus.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupValidateFeatures": {
+ "post": {
+ "tags": [
+ "FeatureSupport"
+ ],
+ "summary": "It will validate if given feature with resource properties is supported in service",
+ "operationId": "FeatureSupport_Validate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/AzureRegion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Feature support request object",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FeatureSupportRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureVMResourceFeatureSupportResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Check Azure Vm Backup Feature Support": {
+ "$ref": "./examples/AzureIaasVm/BackupFeature_Validate.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/backupProtectionIntent/{intentObjectName}": {
+ "get": {
+ "tags": [
+ "ProtectionIntent"
+ ],
+ "description": "Provides the details of the protection intent up item. This is an asynchronous operation. To know the status of the operation,\r\ncall the GetItemOperationResult API.",
+ "operationId": "ProtectionIntent_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "intentObjectName",
+ "in": "path",
+ "description": "Backed up item name whose details are to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionIntentResource"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get ProtectionIntent for an item": {
+ "$ref": "./examples/AzureWorkload/BackupProtectionIntent_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProtectionIntent"
+ ],
+ "description": "Create Intent for Enabling backup of an item. This is a synchronous operation.",
+ "operationId": "ProtectionIntent_CreateOrUpdate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "intentObjectName",
+ "in": "path",
+ "description": "Intent object name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource backed up item",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProtectionIntentResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionIntentResource"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update Azure Vm Protection Intent": {
+ "$ref": "./examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProtectionIntent"
+ ],
+ "description": "Used to remove intent from an item",
+ "operationId": "ProtectionIntent_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the intent.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "intentObjectName",
+ "in": "path",
+ "description": "Intent to be deleted.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-examples": {
+ "Delete Protection intent from item": {
+ "$ref": "./examples/AzureWorkload/BackupProtectionIntent_Delete.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionIntents": {
+ "get": {
+ "tags": [
+ "BackupProtectionIntent"
+ ],
+ "description": "Provides a pageable list of all intents that are present within a vault.",
+ "operationId": "BackupProtectionIntent_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionIntentResourceList"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/ProtectionIntentQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List protection intent with backupManagementType filter": {
+ "$ref": "./examples/AzureWorkload/BackupProtectionIntent_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries": {
+ "get": {
+ "tags": [
+ "BackupUsageSummaries"
+ ],
+ "description": "Fetches the backup management usage summaries of the vault.",
+ "operationId": "BackupUsageSummaries_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupManagementUsageList"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/BMSBackupSummariesQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Get Protected Items Usages Summary": {
+ "$ref": "./examples/Common/BackupProtectedItem_UsageSummary_Get.json"
+ },
+ "Get Protected Containers Usages Summary": {
+ "$ref": "./examples/Common/BackupProtectionContainers_UsageSummary_Get.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.RecoveryServices/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Returns the list of available operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ClientDiscoveryResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ },
+ "x-ms-examples": {
+ "ListOperations": {
+ "$ref": "./examples/ListOperations.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig": {
+ "get": {
+ "tags": [
+ "BackupResourceVaultConfigs"
+ ],
+ "description": "Fetches resource vault config.",
+ "operationId": "BackupResourceVaultConfigs_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupResourceVaultConfigResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Vault Security Config": {
+ "$ref": "./examples/Common/BackupResourceVaultConfigs_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "BackupResourceVaultConfigs"
+ ],
+ "description": "Updates vault security config.",
+ "operationId": "BackupResourceVaultConfigs_Update",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource config request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupResourceVaultConfigResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupResourceVaultConfigResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Vault Security Config": {
+ "$ref": "./examples/Common/BackupResourceVaultConfigs_Patch.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BackupResourceVaultConfigs"
+ ],
+ "description": "Updates vault security config. ",
+ "operationId": "BackupResourceVaultConfigs_Put",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource config request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupResourceVaultConfigResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupResourceVaultConfigResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Vault Security Config": {
+ "$ref": "./examples/Common/BackupResourceVaultConfigs_Put.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEncryptionConfigs/backupResourceEncryptionConfig": {
+ "get": {
+ "tags": [
+ "BackupResourceEncryptionConfigs"
+ ],
+ "description": "Fetches Vault Encryption config.",
+ "operationId": "BackupResourceEncryptionConfigs_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupResourceEncryptionConfigExtendedResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Vault Encryption Configuration": {
+ "$ref": "./examples/BackupResourceEncryptionConfig_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BackupResourceEncryptionConfigs"
+ ],
+ "description": "Updates Vault encryption config.",
+ "operationId": "BackupResourceEncryptionConfigs_Update",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Vault encryption input config request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupResourceEncryptionConfigResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Vault Encryption Configuration": {
+ "$ref": "./examples/BackupResourceEncryptionConfig_Put.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnection"
+ ],
+ "description": "Get Private Endpoint Connection. This call is made by Backup Admin.",
+ "operationId": "PrivateEndpointConnection_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get PrivateEndpointConnection": {
+ "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnection"
+ ],
+ "description": "Approve or Reject Private Endpoint requests. This call is made by Backup Admin.",
+ "operationId": "PrivateEndpointConnection_Put",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionResource"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update PrivateEndpointConnection": {
+ "$ref": "./examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnection"
+ ],
+ "description": "Delete Private Endpoint requests. This call is made by Backup Admin.",
+ "operationId": "PrivateEndpointConnection_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete PrivateEndpointConnection": {
+ "$ref": "./examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}/operationsStatus/{operationId}": {
+ "get": {
+ "tags": [
+ "PrivateEndpoint"
+ ],
+ "summary": "Gets the operation status for a private endpoint connection.",
+ "operationId": "PrivateEndpoint_GetOperationStatus",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "Operation id",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get OperationStatus": {
+ "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationStatus/{operationId}": {
+ "get": {
+ "tags": [
+ "DataMove"
+ ],
+ "description": "Fetches operation status for data move operation on vault",
+ "operationId": "GetOperationStatus",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get OperationStatus": {
+ "$ref": "./examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/prepareDataMove": {
+ "post": {
+ "tags": [
+ "DataMove"
+ ],
+ "description": "Prepares source vault for Data Move operation",
+ "operationId": "BMSPrepareDataMove",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Prepare data move request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrepareDataMoveRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Prepare Data Move": {
+ "$ref": "./examples/BackupDataMove/PrepareDataMove_Post.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "BMSPrepareDataMoveOperationResult"
+ ],
+ "description": "Fetches Operation Result for Prepare Data Move",
+ "operationId": "BMSPrepareDataMoveOperationResult_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VaultStorageConfigOperationResultResponse"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. ",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get operation result for PrepareDataMove": {
+ "$ref": "./examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/triggerDataMove": {
+ "post": {
+ "tags": [
+ "DataMove"
+ ],
+ "description": "Triggers Data Move Operation on target vault",
+ "operationId": "BMSTriggerDataMove",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Trigger data move request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TriggerDataMoveRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/NewErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Trigger Data Move": {
+ "$ref": "./examples/BackupDataMove/TriggerDataMove_Post.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}": {
+ "get": {
+ "tags": [
+ "ProtectedItems"
+ ],
+ "description": "Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation,\r\ncall the GetItemOperationResult API.",
+ "operationId": "ProtectedItems_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item name whose details are to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectedItemResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/GetProtectedItemQueryObject",
+ "x-ms-examples": {
+ "Get Protected Classic Virtual Machine Details": {
+ "$ref": "./examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json"
+ },
+ "Get Protected Virtual Machine Details": {
+ "$ref": "./examples/AzureIaasVm/Compute_ProtectedItem_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProtectedItems"
+ ],
+ "description": "Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an\r\nasynchronous operation. To know the status of the operation, call the GetItemOperationResult API.",
+ "operationId": "ProtectedItems_CreateOrUpdate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Item name to be backed up.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource backed up item",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProtectedItemResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectedItemResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Enable Protection on Azure IaasVm": {
+ "$ref": "./examples/AzureIaasVm/ConfigureProtection.json"
+ },
+ "Stop Protection with retain data on Azure IaasVm": {
+ "$ref": "./examples/AzureIaasVm/StopProtection.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProtectedItems"
+ ],
+ "description": "Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the\r\nrequest, call the GetItemOperationResult API.",
+ "operationId": "ProtectedItems_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item to be deleted.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Protection from Azure Virtual Machine": {
+ "$ref": "./examples/Common/ProtectedItem_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "ProtectedItemOperationResults"
+ ],
+ "description": "Fetches the result of any operation on the backup item.",
+ "operationId": "ProtectedItemOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backup item name whose details are to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID which represents the operation whose result needs to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectedItemResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Operation Results of Protected Vm": {
+ "$ref": "./examples/AzureIaasVm/ProtectedItemOperationResults.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints": {
+ "get": {
+ "tags": [
+ "RecoveryPoints"
+ ],
+ "description": "Lists the backup copies for the backed up item.",
+ "operationId": "RecoveryPoints_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item whose backup copies are to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPointResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/BMSRPQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Protected Azure Vm Recovery Points": {
+ "$ref": "./examples/AzureIaasVm/RecoveryPoints_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}": {
+ "get": {
+ "tags": [
+ "RecoveryPoints"
+ ],
+ "description": "Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation.\r\nTo know the status of the operation, call the GetProtectedItemOperationResult API.",
+ "operationId": "RecoveryPoints_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item name whose backup data needs to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recoveryPointId",
+ "in": "path",
+ "description": "RecoveryPointID represents the backed up data to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPointResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Azure Vm Recovery Point Details": {
+ "$ref": "./examples/AzureIaasVm/RecoveryPoints_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore": {
+ "post": {
+ "tags": [
+ "Restores"
+ ],
+ "description": "Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use\r\nGetProtectedItemOperationResult API.",
+ "operationId": "Restores_Trigger",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up items.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backed up items.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item to be restored.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recoveryPointId",
+ "in": "path",
+ "description": "Recovery point ID which represents the backed up data to be restored.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource restore request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RestoreRequestResource"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Restore to New Azure IaasVm with IaasVMRestoreRequest": {
+ "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json"
+ },
+ "Restore to New Azure IaasVm with IaasVMRestoreRequest with identityBasedRestoreDetails": {
+ "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json"
+ },
+ "Restore to New Azure IaasVm with IaasVMRestoreWithRehydrationRequest": {
+ "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json"
+ },
+ "Restore Disks with IaasVMRestoreRequest": {
+ "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json"
+ },
+ "Restore Disks with IaasVMRestoreRequest with IdentityBasedRestoreDetails": {
+ "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json"
+ },
+ "Restore Disks with IaasVMRestoreWithRehydrationRequest": {
+ "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": {
+ "get": {
+ "tags": [
+ "BackupPolicies"
+ ],
+ "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch\r\nscoped results.",
+ "operationId": "BackupPolicies_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionPolicyResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/ProtectionPolicyQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List protection policies with backupManagementType filter as AzureIaasVm": {
+ "$ref": "./examples/AzureIaasVm/BackupPolicies_List.json"
+ },
+ "List protection policies with backupManagementType filter as AzureIaasVm with both V1 and V2 policies": {
+ "$ref": "./examples/AzureIaasVm/V2Policy/v2-List-Policies.json"
+ },
+ "List protection policies with backupManagementType filter as AzureWorkload": {
+ "$ref": "./examples/AzureWorkload/BackupPolicies_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": {
+ "get": {
+ "tags": [
+ "ProtectionPolicies"
+ ],
+ "description": "Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous\r\noperation. Status of the operation can be fetched using GetPolicyOperationResult API.",
+ "operationId": "ProtectionPolicies_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Backup policy information to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionPolicyResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Azure IaasVm Protection Policy Details": {
+ "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.json"
+ },
+ "Get Azure IaasVm Enhanced Protection Policy Details": {
+ "$ref": "./examples/AzureIaasVm/V2Policy/v2-Get-Policy.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProtectionPolicies"
+ ],
+ "description": "Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched\r\nusing GetPolicyOperationResult API.",
+ "operationId": "ProtectionPolicies_CreateOrUpdate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Backup policy to be created.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource backup policy",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProtectionPolicyResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionPolicyResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update Simple Azure Vm Protection Policy": {
+ "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json"
+ },
+ "Create or Update Full Azure Vm Protection Policy": {
+ "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json"
+ },
+ "Create or Update Enhanced Azure Vm Protection Policy with Hourly backup": {
+ "$ref": "./examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json"
+ },
+ "Create or Update Enhanced Azure Vm Protection Policy with daily backup": {
+ "$ref": "./examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json"
+ },
+ "Create or Update Full Azure Workload Protection Policy": {
+ "$ref": "./examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json"
+ },
+ "Create or Update Daily Azure Storage Protection Policy": {
+ "$ref": "./examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json"
+ },
+ "Create or Update Hourly Azure Storage Protection Policy": {
+ "$ref": "./examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json"
+ },
+ "Create or Update Azure Storage Vault Standard Protection Policy": {
+ "$ref": "./examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProtectionPolicies"
+ ],
+ "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the\r\noperation can be fetched using GetProtectionPolicyOperationResult API.",
+ "operationId": "ProtectionPolicies_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Backup policy to be deleted.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Azure Vm Protection Policy": {
+ "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "ProtectionPolicyOperationResults"
+ ],
+ "description": "Provides the result of an operation.",
+ "operationId": "ProtectionPolicyOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Backup policy name whose operation's result needs to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "Operation ID which represents the operation whose result needs to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionPolicyResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Protection Policy Operation Results": {
+ "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs": {
+ "get": {
+ "tags": [
+ "BackupJobs"
+ ],
+ "description": "Provides a pageable list of jobs.",
+ "operationId": "BackupJobs_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/JobQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List All Jobs": {
+ "$ref": "./examples/Common/ListJobs.json"
+ },
+ "List Jobs With Filters": {
+ "$ref": "./examples/Common/ListJobsWithAllSupportedFilters.json"
+ },
+ "List Jobs With Time Filter": {
+ "$ref": "./examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}": {
+ "get": {
+ "tags": [
+ "JobDetails"
+ ],
+ "description": "Gets extended information associated with the job.",
+ "operationId": "JobDetails_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Name of the job whose details are to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Job Details": {
+ "$ref": "./examples/Common/GetJobDetails.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel": {
+ "post": {
+ "tags": [
+ "JobCancellations"
+ ],
+ "description": "Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call\r\nGetCancelOperationResult API.",
+ "operationId": "JobCancellations_Trigger",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Name of the job to cancel.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Cancel Job": {
+ "$ref": "./examples/Common/TriggerCancelJob.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "JobOperationResults"
+ ],
+ "description": "Fetches the result of any operation.",
+ "operationId": "JobOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Job name whose operation result has to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID which represents the operation whose result has to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Cancel Job Operation Result": {
+ "$ref": "./examples/Common/CancelJobOperationResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "ExportJobsOperationResults"
+ ],
+ "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also\r\ncontains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format.",
+ "operationId": "ExportJobsOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID which represents the export job.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationResultInfoBaseResource"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/OperationResultInfoBaseResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Export Jobs Operation Results": {
+ "$ref": "./examples/Common/ExportJobsOperationResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Triggers export of jobs specified by filters and returns an OperationID to track.",
+ "operationId": "Jobs_Export",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/JobQueryObject",
+ "x-ms-examples": {
+ "Export Jobs": {
+ "$ref": "./examples/Common/TriggerExportJobs.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems": {
+ "get": {
+ "tags": [
+ "BackupProtectedItems"
+ ],
+ "description": "Provides a pageable list of all items that are backed up within a vault.",
+ "operationId": "BackupProtectedItems_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectedItemResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/ProtectedItemQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List protected items with backupManagementType filter as AzureIaasVm": {
+ "$ref": "./examples/AzureIaasVm/BackupProtectedItems_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperation": {
+ "post": {
+ "tags": [
+ "Operation"
+ ],
+ "description": "Validate operation for specified backed up item. This is a synchronous operation.",
+ "operationId": "Operation_Validate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource validate operation request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidateOperationRequestResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ValidateOperationsResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Validate Operation": {
+ "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk.json"
+ },
+ "Validate Operation with identityBasedRestoreDetails": {
+ "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTriggerValidateOperation": {
+ "post": {
+ "tags": [
+ "ValidateOperation"
+ ],
+ "description": "Validate operation for specified backed up item in the form of an asynchronous operation. Returns tracking headers which can be tracked using GetValidateOperationResult API.",
+ "operationId": "ValidateOperation_Trigger",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource validate operation request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidateOperationRequestResource"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Trigger Validate Operation": {
+ "$ref": "./examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "ValidateOperationResults"
+ ],
+ "description": "Fetches the result of a triggered validate operation.",
+ "operationId": "ValidateOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID which represents the operation whose result needs to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ValidateOperationsResponse"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Operation Results of Validate Operation": {
+ "$ref": "./examples/AzureIaasVm/ValidateOperationResults.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperationsStatuses/{operationId}": {
+ "get": {
+ "tags": [
+ "ValidateOperationStatuses"
+ ],
+ "description": "Fetches the status of a triggered validate operation. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of the operation.\r\nIf operation has completed, this method returns the list of errors obtained while validating the operation.",
+ "operationId": "ValidateOperationStatuses_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID represents the operation whose status needs to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Operation Status of Validate Operation": {
+ "$ref": "./examples/AzureIaasVm/ValidateOperationStatus.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines": {
+ "get": {
+ "tags": [
+ "BackupEngines"
+ ],
+ "description": "Backup management servers registered to Recovery Services Vault. Returns a pageable list of servers.",
+ "operationId": "BackupEngines_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupEngineBaseResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/BMSBackupEnginesQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Dpm/AzureBackupServer/Lajolla Backup Engines": {
+ "$ref": "./examples/Dpm/BackupEngines_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines/{backupEngineName}": {
+ "get": {
+ "tags": [
+ "BackupEngines"
+ ],
+ "description": "Returns backup management server registered to Recovery Services Vault.",
+ "operationId": "BackupEngines_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupEngineName",
+ "in": "path",
+ "description": "Name of the backup management server.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupEngineBaseResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/BMSBackupEngineQueryObject",
+ "x-ms-examples": {
+ "Get Dpm/AzureBackupServer/Lajolla Backup Engine Details": {
+ "$ref": "./examples/Dpm/BackupEngines_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "ProtectionContainerRefreshOperationResults"
+ ],
+ "description": "Provides the result of the refresh operation triggered by the BeginRefresh operation.",
+ "operationId": "ProtectionContainerRefreshOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "Operation ID associated with the operation whose result needs to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Azure Vm Discovery Operation Result": {
+ "$ref": "./examples/Common/RefreshContainers_OperationResults.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers": {
+ "get": {
+ "tags": [
+ "ProtectableContainers"
+ ],
+ "description": "Lists the containers that can be registered to Recovery Services Vault.",
+ "operationId": "ProtectableContainers_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectableContainerResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/BMSContainerQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List protectable items with backupManagementType filter as AzureStorage": {
+ "$ref": "./examples/AzureStorage/ProtectableContainers_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}": {
+ "get": {
+ "tags": [
+ "ProtectionContainers"
+ ],
+ "description": "Gets details of the specific container registered to your Recovery Services Vault.",
+ "operationId": "ProtectionContainers_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Name of the fabric where the container belongs.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Name of the container whose details need to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Protection Container Details": {
+ "$ref": "./examples/AzureWorkload/ProtectionContainers_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProtectionContainers"
+ ],
+ "description": "Registers the container with Recovery Services vault.\r\nThis is an asynchronous operation. To track the operation status, use location header to call get latest status of\r\nthe operation.",
+ "operationId": "ProtectionContainers_Register",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Name of the container to be registered.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "RegisterAzure Storage ProtectionContainers": {
+ "$ref": "./examples/AzureStorage/ProtectionContainers_Register.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProtectionContainers"
+ ],
+ "description": "Unregisters the given container from your Recovery Services Vault. This is an asynchronous operation. To determine\r\nwhether the backend service has finished processing the request, call Get Container Operation Result API.",
+ "operationId": "ProtectionContainers_Unregister",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Name of the fabric where the container belongs.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Name of the container which needs to be unregistered from the Recovery Services Vault.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Unregister Protection Container": {
+ "$ref": "./examples/AzureWorkload/ProtectionContainers_Unregister.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire": {
+ "post": {
+ "tags": [
+ "ProtectionContainers"
+ ],
+ "summary": "Inquires all the protectable items under the given container.",
+ "description": "This is an async operation and the results should be tracked using location header or Azure-async-url.",
+ "operationId": "ProtectionContainers_Inquire",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric Name associated with the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Name of the container in which inquiry needs to be triggered.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/BMSContainersInquiryQueryObject",
+ "x-ms-examples": {
+ "Inquire Azure Storage Protection Containers": {
+ "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/items": {
+ "get": {
+ "tags": [
+ "BackupWorkloadItems"
+ ],
+ "description": "Provides a pageable list of workload item of a specific container according to the query filter and the pagination\r\nparameters.",
+ "operationId": "BackupWorkloadItems_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Name of the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkloadItemResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/BMSWorkloadItemQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Workload Items in Container": {
+ "$ref": "./examples/AzureWorkload/BackupWorkloadItems_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "ProtectionContainerOperationResults"
+ ],
+ "description": "Fetches the result of any operation on the container.",
+ "operationId": "ProtectionContainerOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name whose information should be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "Operation ID which represents the operation whose result needs to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Azure Storage Protection Container Operation Result": {
+ "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire_Result.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": {
+ "post": {
+ "tags": [
+ "Backups"
+ ],
+ "description": "Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the\r\noperation, call GetProtectedItemOperationResult API.",
+ "operationId": "Backups_Trigger",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backup item for which backup needs to be triggered.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource backup request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupRequestResource"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Trigger Backup": {
+ "$ref": "./examples/Common/TriggerBackup_Post.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": {
+ "get": {
+ "tags": [
+ "ProtectedItemOperationStatuses"
+ ],
+ "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of the operation. Some operations\r\ncreate jobs. This method returns the list of jobs associated with the operation.",
+ "operationId": "ProtectedItemOperationStatuses_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backup item name whose details are to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID represents the operation whose status needs to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Operation Status of Protected Vm": {
+ "$ref": "./examples/AzureIaasVm/ProtectedItemOperationStatus.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery": {
+ "post": {
+ "tags": [
+ "ItemLevelRecoveryConnections"
+ ],
+ "description": "Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a file\r\nexplorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of\r\nprovisioning, call GetProtectedItemOperationResult API.",
+ "operationId": "ItemLevelRecoveryConnections_Provision",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up items.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backed up items.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item name whose files/folders are to be restored.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recoveryPointId",
+ "in": "path",
+ "description": "Recovery point ID which represents backed up data. iSCSI connection will be provisioned\r\nfor this backed up data.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource ILR request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ILRRequestResource"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Provision Instant Item Level Recovery for Azure Vm": {
+ "$ref": "./examples/AzureIaasVm/Provision_Ilr.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery": {
+ "post": {
+ "tags": [
+ "ItemLevelRecoveryConnections"
+ ],
+ "description": "Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer\r\ndisplaying all recoverable files and folders. This is an asynchronous operation.",
+ "operationId": "ItemLevelRecoveryConnections_Revoke",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up items.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backed up items.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item name whose files/folders are to be restored.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recoveryPointId",
+ "in": "path",
+ "description": "Recovery point ID which represents backed up data. iSCSI connection will be revoked for\r\nthis backed up data.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Revoke Instant Item Level Recovery for Azure Vm": {
+ "$ref": "./examples/AzureIaasVm/Revoke_Ilr.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers": {
+ "post": {
+ "tags": [
+ "ProtectionContainers"
+ ],
+ "description": "Discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is an\r\nasynchronous operation. To know the status of the operation, call GetRefreshOperationResult API.",
+ "operationId": "ProtectionContainers_Refresh",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/BMSRefreshContainersQueryObject",
+ "x-ms-examples": {
+ "Trigger Azure Vm Discovery": {
+ "$ref": "./examples/Common/RefreshContainers.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "BackupOperationResults"
+ ],
+ "description": "Provides the status of the delete operations such as deleting backed up item. Once the operation has started, the\r\nstatus code in the response would be Accepted. It will continue to be in this state till it reaches completion. On\r\nsuccessful completion, the status code will be OK. This method expects OperationID as an argument. OperationID is\r\npart of the Location header of the operation response.",
+ "operationId": "BackupOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID which represents the operation.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Result for Protected Item Delete Operation": {
+ "$ref": "./examples/Common/ProtectedItem_Delete_OperationResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}": {
+ "get": {
+ "tags": [
+ "BackupOperationStatuses"
+ ],
+ "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of an operation. Some operations\r\ncreate jobs. This method returns the list of jobs when the operation is complete.",
+ "operationId": "BackupOperationStatuses_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID which represents the operation.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Protected Item Delete Operation Status": {
+ "$ref": "./examples/Common/ProtectedItem_Delete_OperationStatus.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "ProtectionPolicyOperationStatuses"
+ ],
+ "description": "Provides the status of the asynchronous operations like backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the Operation Status enum for all the possible states of an operation. Some operations\r\ncreate jobs. This method returns the list of jobs associated with operation.",
+ "operationId": "ProtectionPolicyOperationStatuses_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Backup policy name whose operation's status needs to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "Operation ID which represents an operation whose status needs to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Protection Policy Operation Status": {
+ "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems": {
+ "get": {
+ "tags": [
+ "BackupProtectableItems"
+ ],
+ "description": "Provides a pageable list of protectable objects within your subscription according to the query filter and the\r\npagination parameters.",
+ "operationId": "BackupProtectableItems_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkloadProtectableItemResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/BMSPOQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List protectable items with backupManagementType filter as AzureIaasVm": {
+ "$ref": "./examples/AzureIaasVm/BackupProtectableItems_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers": {
+ "get": {
+ "tags": [
+ "BackupProtectionContainers"
+ ],
+ "description": "Lists the containers registered to Recovery Services Vault.",
+ "operationId": "BackupProtectionContainers_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/BMSContainerQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Backup Protection Containers": {
+ "$ref": "./examples/AzureStorage/ProtectionContainers_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupDeletedProtectionContainers": {
+ "get": {
+ "tags": [
+ "SoftDeletedContainers"
+ ],
+ "description": "Lists the soft deleted containers registered to Recovery Services Vault.",
+ "operationId": "DeletedProtectionContainers_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/BMSContainerQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Backup Protection Containers": {
+ "$ref": "./examples/AzureStorage/SoftDeletedContainers_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN": {
+ "post": {
+ "tags": [
+ "SecurityPINs"
+ ],
+ "description": "Get the security PIN.",
+ "operationId": "SecurityPINs_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "security pin request",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/SecurityPinBase"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TokenInformation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Vault Security Pin": {
+ "$ref": "./examples/Common/BackupSecurityPin_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/move": {
+ "post": {
+ "tags": [
+ "RecoveryPoint"
+ ],
+ "summary": "Move recovery point from one datastore to another store.",
+ "operationId": "MoveRecoveryPoint",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recoveryPointId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Move Resource Across Tiers Request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MoveRPAcrossTiersRequest"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Trigger RP Move Operation": {
+ "$ref": "./examples/TriggerRecoveryPointMove_Post.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPointsRecommendedForMove": {
+ "post": {
+ "tags": [
+ "RecoveryPointsRecommendedForMove"
+ ],
+ "description": "Lists the recovery points recommended for move to another tier",
+ "operationId": "RecoveryPointsRecommendedForMove_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "List Recovery points Recommended for Move Request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ListRecoveryPointsRecommendedForMoveRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPointResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Protected Azure Vm Recovery Points Recommended for Move": {
+ "$ref": "./examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies": {
+ "get": {
+ "tags": [
+ "ResourceGuardProxies"
+ ],
+ "description": "List the ResourceGuardProxies under vault",
+ "operationId": "ResourceGuardProxies_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ResourceGuardProxyBaseResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get VaultGuardProxies": {
+ "$ref": "./examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies/{resourceGuardProxyName}": {
+ "get": {
+ "tags": [
+ "ResourceGuardProxy"
+ ],
+ "description": "Returns ResourceGuardProxy under vault and with the name referenced in request",
+ "operationId": "ResourceGuardProxy_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "resourceGuardProxyName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ResourceGuardProxyBaseResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get ResourceGuardProxy": {
+ "$ref": "./examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ResourceGuardProxy"
+ ],
+ "description": "Add or Update ResourceGuardProxy under vault\r\nSecures vault critical operations",
+ "operationId": "ResourceGuardProxy_Put",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "resourceGuardProxyName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResourceGuardProxyBaseResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ResourceGuardProxyBaseResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create ResourceGuardProxy": {
+ "$ref": "./examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ResourceGuardProxy"
+ ],
+ "description": "Delete ResourceGuardProxy under vault",
+ "operationId": "ResourceGuardProxy_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "resourceGuardProxyName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete ResourceGuardProxy": {
+ "$ref": "./examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies/{resourceGuardProxyName}/unlockDelete": {
+ "post": {
+ "tags": [
+ "ResourceGuardProxy"
+ ],
+ "description": "Secures delete ResourceGuardProxy operations.",
+ "operationId": "ResourceGuardProxy_UnlockDelete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "resourceGuardProxyName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UnlockDeleteRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UnlockDeleteResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UnlockDelete ResourceGuardProxy": {
+ "$ref": "./examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/fetchTieringCost": {
+ "post": {
+ "tags": [
+ "FetchTieringCost"
+ ],
+ "operationId": "FetchTieringCost_Post",
+ "description": "Provides the details of the tiering related sizes and cost.\r\nStatus of the operation can be fetched using GetTieringCostOperationStatus API and result using GetTieringCostOperationResult API.",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/RestrictedVaultName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Fetch Tiering Cost Request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FetchTieringCostInfoRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TieringCostInfo"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Get the tiering savings cost info for policy": {
+ "$ref": "./examples/TieringCost/FetchTieringCostForPolicy.json"
+ },
+ "Get the tiering savings cost info for protected item": {
+ "$ref": "./examples/TieringCost/FetchTieringCostForProtectedItem.json"
+ },
+ "Get the tiering savings cost info for vault": {
+ "$ref": "./examples/TieringCost/FetchTieringCostForVault.json"
+ },
+ "Get the rehydration cost for recovery point": {
+ "$ref": "./examples/TieringCost/FetchTieringCostForRehydrate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "GetTieringCostOperationResult"
+ ],
+ "description": "Gets the result of async operation for tiering cost",
+ "operationId": "GetTieringCostOperationResult_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/RestrictedVaultName"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TieringCostInfo"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Fetch Tiering Cost Operation Result": {
+ "$ref": "./examples/TieringCost/GetTieringCostOperationResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/operationsStatus/{operationId}": {
+ "get": {
+ "tags": [
+ "TieringCostOperationStatus"
+ ],
+ "operationId": "TieringCostOperationStatus_Get",
+ "description": "Gets the status of async operations of tiering cost",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/RestrictedVaultName"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Fetch Tiering Cost Operation Status": {
+ "$ref": "./examples/TieringCost/GetTieringCostOperationStatus.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "BackupResourceEncryptionConfig": {
+ "type": "object",
+ "properties": {
+ "encryptionAtRestType": {
+ "description": "Encryption At Rest Type",
+ "enum": [
+ "Invalid",
+ "MicrosoftManaged",
+ "CustomerManaged"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EncryptionAtRestType",
+ "modelAsString": true
+ }
+ },
+ "keyUri": {
+ "description": "Key Vault Key URI",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Key Vault Subscription Id",
+ "type": "string"
+ },
+ "lastUpdateStatus": {
+ "enum": [
+ "Invalid",
+ "NotEnabled",
+ "PartiallySucceeded",
+ "PartiallyFailed",
+ "Failed",
+ "Succeeded",
+ "Initialized",
+ "FirstInitialization"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LastUpdateStatus",
+ "modelAsString": true
+ }
+ },
+ "infrastructureEncryptionState": {
+ "enum": [
+ "Invalid",
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InfrastructureEncryptionState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "BackupResourceEncryptionConfigExtended": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupResourceEncryptionConfig"
+ }
+ ],
+ "properties": {
+ "userAssignedIdentity": {
+ "description": "User Assigned Identity Id",
+ "type": "string"
+ },
+ "useSystemAssignedIdentity": {
+ "description": "bool to indicate whether to use system Assigned Identity or not",
+ "type": "boolean"
+ }
+ }
+ },
+ "BackupResourceEncryptionConfigExtendedResource": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupResourceEncryptionConfigExtended",
+ "description": "BackupResourceEncryptionConfigExtendedResource properties"
+ }
+ }
+ },
+ "BackupResourceEncryptionConfigResource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupResourceEncryptionConfig",
+ "description": "BackupResourceEncryptionConfigResource properties"
+ }
+ }
+ },
+ "PrivateEndpoint": {
+ "description": "The Private Endpoint network resource that is linked to the Private Endpoint connection",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Gets or sets id",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "Private Endpoint Connection Response Properties",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Gets or sets provisioning state of the private endpoint connection",
+ "enum": [
+ "Succeeded",
+ "Deleting",
+ "Failed",
+ "Pending"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "Gets or sets private endpoint associated with the private endpoint connection"
+ },
+ "groupIds": {
+ "description": "Group Ids for the Private Endpoint",
+ "type": "array",
+ "items": {
+ "description": "GroupId for the PrivateEndpointConnection - AzureBackup, AzureBackup_secondary or AzureSiteRecovery",
+ "enum": [
+ "AzureBackup",
+ "AzureBackup_secondary",
+ "AzureSiteRecovery"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "VaultSubResourceType",
+ "modelAsString": true
+ }
+ }
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "Gets or sets private link service connection state"
+ }
+ }
+ },
+ "PrivateEndpointConnectionResource": {
+ "description": "Private Endpoint Connection Response Properties",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnection",
+ "description": "PrivateEndpointConnectionResource properties"
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "Private Link Service Connection State",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Gets or sets the status",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PrivateEndpointConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "description": "Gets or sets description",
+ "type": "string"
+ },
+ "actionsRequired": {
+ "description": "Gets or sets actions required",
+ "type": "string"
+ }
+ }
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "type": "object",
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "The error object."
+ }
+ },
+ "description": "An error response from the Container Instance service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "readOnly": true,
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "x-ms-identifiers": [
+ "code"
+ ],
+ "description": "A list of additional details about the error."
+ },
+ "additionalInfo": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo"
+ },
+ "x-ms-identifiers": [],
+ "description": "The error additional info."
+ }
+ },
+ "description": "An error response from the Container Instance service."
+ },
+ "NewErrorResponse": {
+ "properties": {
+ "error": {
+ "type": "object",
+ "description": "The error object.",
+ "properties": {
+ "code": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error code."
+ },
+ "message": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error message."
+ },
+ "target": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error target."
+ },
+ "details": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NewErrorResponse"
+ },
+ "x-ms-identifiers": [
+ "/error/code"
+ ],
+ "description": "The error details."
+ },
+ "additionalInfo": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo"
+ },
+ "x-ms-identifiers": [],
+ "description": "The error additional info."
+ }
+ }
+ }
+ },
+ "description": "The resource management error response."
+ },
+ "AzureFileshareProtectedItem": {
+ "description": "Azure File Share workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the fileshare represented by this backup item.",
+ "type": "string"
+ },
+ "protectionStatus": {
+ "description": "Backup status of this backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused",
+ "BackupsSuspended"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionState",
+ "modelAsString": true
+ }
+ },
+ "lastBackupStatus": {
+ "description": "Last backup operation status. Possible values: Healthy, Unhealthy.",
+ "type": "string"
+ },
+ "lastBackupTime": {
+ "format": "date-time",
+ "description": "Timestamp of the last backup operation on this backup item.",
+ "type": "string"
+ },
+ "kpisHealths": {
+ "description": "Health details of different KPIs",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/KPIResourceHealthDetails"
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo",
+ "description": "Additional information with this backup item."
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileShareProtectedItem"
+ },
+ "AzureFileshareProtectedItemExtendedInfo": {
+ "description": "Additional information about Azure File Share backup item.",
+ "type": "object",
+ "properties": {
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this item in the service.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of available backup copies associated with this backup item.",
+ "type": "integer"
+ },
+ "policyState": {
+ "description": "Indicates consistency of policy object and policy applied to this backup item.",
+ "type": "string"
+ },
+ "resourceState": {
+ "description": "Indicates the state of this resource. Possible values are from enum ResourceState {Invalid, Active, SoftDeleted, Deleted}",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceStateSyncTime": {
+ "format": "date-time",
+ "description": "The resource state sync time for this backup item.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AzureFileShareRecoveryPoint": {
+ "description": "Azure File Share workload specific backup copy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent.",
+ "type": "string"
+ },
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "Time at which this backup copy was created.",
+ "type": "string"
+ },
+ "fileShareSnapshotUri": {
+ "description": "Contains Url to the snapshot of fileshare, if applicable",
+ "type": "string"
+ },
+ "recoveryPointSizeInGB": {
+ "format": "int32",
+ "description": "Contains recovery point size",
+ "type": "integer"
+ },
+ "recoveryPointProperties": {
+ "description": "Properties of Recovery Point",
+ "$ref": "#/definitions/RecoveryPointProperties"
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileShareRecoveryPoint"
+ },
+ "AzureFileShareRestoreRequest": {
+ "description": "AzureFileShare Restore Request",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestoreRequest"
+ }
+ ],
+ "properties": {
+ "recoveryType": {
+ "description": "Type of this recovery.",
+ "enum": [
+ "Invalid",
+ "OriginalLocation",
+ "AlternateLocation",
+ "RestoreDisks",
+ "Offline"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryType",
+ "modelAsString": true
+ }
+ },
+ "sourceResourceId": {
+ "description": "Source storage account ARM Id",
+ "type": "string"
+ },
+ "copyOptions": {
+ "description": "Options to resolve copy conflicts.",
+ "enum": [
+ "Invalid",
+ "CreateCopy",
+ "Skip",
+ "Overwrite",
+ "FailOnConflict"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CopyOptions",
+ "modelAsString": true
+ }
+ },
+ "restoreRequestType": {
+ "description": "Restore Type (FullShareRestore or ItemLevelRestore)",
+ "enum": [
+ "Invalid",
+ "FullShareRestore",
+ "ItemLevelRestore"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RestoreRequestType",
+ "modelAsString": true
+ }
+ },
+ "restoreFileSpecs": {
+ "description": "List of Source Files/Folders(which need to recover) and TargetFolderPath details",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RestoreFileSpecs"
+ },
+ "x-ms-identifiers": []
+ },
+ "targetDetails": {
+ "$ref": "#/definitions/TargetAFSRestoreInfo",
+ "description": "Target File Share Details"
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileShareRestoreRequest"
+ },
+ "AzureVmWorkloadProtectionPolicy": {
+ "description": "Azure VM (Mercury) workload-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "workLoadType": {
+ "description": "Type of workload for the backup management",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase",
+ "SAPHanaDBInstance"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadType",
+ "modelAsString": true
+ }
+ },
+ "settings": {
+ "$ref": "#/definitions/Settings",
+ "description": "Common settings for the backup management"
+ },
+ "subProtectionPolicy": {
+ "description": "List of sub-protection policies which includes schedule and retention",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubProtectionPolicy"
+ },
+ "x-ms-identifiers": []
+ },
+ "makePolicyConsistent": {
+ "description": "Fix the policy inconsistency",
+ "type": "boolean"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkload"
+ },
+ "AzureFileShareProtectionPolicy": {
+ "description": "AzureStorage backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "workLoadType": {
+ "description": "Type of workload for the backup management",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase",
+ "SAPHanaDBInstance"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadType",
+ "modelAsString": true
+ }
+ },
+ "schedulePolicy": {
+ "$ref": "#/definitions/SchedulePolicy",
+ "description": "Backup schedule specified as part of backup policy."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy with the details on backup copy retention ranges."
+ },
+ "vaultRetentionPolicy": {
+ "$ref": "#/definitions/VaultRetentionPolicy",
+ "description": "Retention policy with the details on hardened backup copy retention ranges."
+ },
+ "timeZone": {
+ "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureStorage"
+ },
+ "AzureIaaSClassicComputeVMProtectedItem": {
+ "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureIaaSVMProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines"
+ },
+ "AzureIaaSComputeVMProtectedItem": {
+ "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureIaaSVMProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
+ },
+ "AzureIaaSVMErrorInfo": {
+ "description": "Azure IaaS VM workload-specific error information.",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "format": "int32",
+ "description": "Error code.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "errorTitle": {
+ "description": "Title: Typically, the entity that the error pertains to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendations": {
+ "description": "List of localized recommendations for above error code.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ResourceHealthDetails": {
+ "description": "Health Details for backup items.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "format": "int32",
+ "description": "Health Code",
+ "type": "integer",
+ "readOnly": true
+ },
+ "title": {
+ "description": "Health Title",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Health Message",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendations": {
+ "description": "Health Recommended Actions",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "AzureIaaSVMHealthDetails": {
+ "description": "Azure IaaS VM workload-specific Health Details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceHealthDetails"
+ }
+ ]
+ },
+ "AzureIaaSVMJob": {
+ "description": "Azure IaaS VM workload-specific job object.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed during the execution of this job.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "Gets or sets the state/actions applicable on this job like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "errorDetails": {
+ "description": "Error details on execution of this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureIaaSVMErrorInfo"
+ },
+ "x-ms-identifiers": [
+ "errorCode"
+ ]
+ },
+ "virtualMachineVersion": {
+ "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureIaaSVMJobExtendedInfo",
+ "description": "Additional information for this job."
+ },
+ "containerName": {
+ "description": "Container name of the entity on which the current job is executing.",
+ "type": "string"
+ },
+ "isUserTriggered": {
+ "description": "Indicated that whether the job is adhoc(true) or scheduled(false)",
+ "type": "boolean"
+ }
+ },
+ "x-ms-discriminator-value": "AzureIaaSVMJob"
+ },
+ "AzureIaaSVMJobV2": {
+ "description": "Azure IaaS VM workload-specific job object.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "actionsInfo": {
+ "description": "Gets or sets the state/actions applicable on this job like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "containerName": {
+ "description": "Container name of the entity on which the current job is executing.",
+ "type": "string"
+ },
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed during the execution of this job.",
+ "type": "string"
+ },
+ "errorDetails": {
+ "description": "Error details on execution of this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureIaaSVMErrorInfo"
+ },
+ "x-ms-identifiers": [
+ "errorCode"
+ ]
+ },
+ "virtualMachineVersion": {
+ "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureIaaSVMJobExtendedInfo",
+ "description": "Additional information for this job."
+ }
+ },
+ "x-ms-discriminator-value": "AzureIaaSVMJobV2"
+ },
+ "AzureIaaSVMJobExtendedInfo": {
+ "description": "Azure IaaS VM workload-specific additional information for job.",
+ "type": "object",
+ "properties": {
+ "tasksList": {
+ "description": "List of tasks associated with this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureIaaSVMJobTaskDetails"
+ },
+ "x-ms-identifiers": [
+ "taskId"
+ ]
+ },
+ "propertyBag": {
+ "description": "Job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "internalPropertyBag": {
+ "description": "Job internal properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "progressPercentage": {
+ "format": "double",
+ "description": "Indicates progress of the job. Null if it has not started or completed.",
+ "type": "number"
+ },
+ "estimatedRemainingDuration": {
+ "description": "Time remaining for execution of this job.",
+ "type": "string"
+ },
+ "dynamicErrorMessage": {
+ "description": "Non localized error message on job execution.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureIaaSVMJobTaskDetails": {
+ "description": "Azure IaaS VM workload-specific job task details.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The task display name.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time.",
+ "type": "string"
+ },
+ "instanceId": {
+ "description": "The instanceId.",
+ "type": "string"
+ },
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed for task.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status.",
+ "type": "string"
+ },
+ "progressPercentage": {
+ "format": "double",
+ "description": "Progress of the task.",
+ "type": "number"
+ },
+ "taskExecutionDetails": {
+ "description": "Details about execution of the task.\r\neg: number of bytes transferred etc",
+ "type": "string"
+ }
+ }
+ },
+ "AzureIaaSVMProtectedItem": {
+ "description": "IaaS VM workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the VM represented by this backup item.",
+ "type": "string",
+ "readOnly": true
+ },
+ "virtualMachineId": {
+ "description": "Fully qualified ARM ID of the virtual machine represented by this item.",
+ "type": "string",
+ "readOnly": true
+ },
+ "protectionStatus": {
+ "description": "Backup status of this backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused",
+ "BackupsSuspended"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionState",
+ "modelAsString": true
+ }
+ },
+ "healthStatus": {
+ "description": "Health status of protected item.",
+ "enum": [
+ "Passed",
+ "ActionRequired",
+ "ActionSuggested",
+ "Invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthStatus",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "healthDetails": {
+ "description": "Health details on this backup item.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureIaaSVMHealthDetails"
+ },
+ "x-ms-identifiers": [
+ "code"
+ ]
+ },
+ "kpisHealths": {
+ "description": "Health details of different KPIs",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/KPIResourceHealthDetails"
+ }
+ },
+ "lastBackupStatus": {
+ "description": "Last backup operation status.",
+ "type": "string"
+ },
+ "lastBackupTime": {
+ "format": "date-time",
+ "description": "Timestamp of the last backup operation on this backup item.",
+ "type": "string",
+ "readOnly": true
+ },
+ "protectedItemDataId": {
+ "description": "Data ID of the protected item.",
+ "type": "string",
+ "readOnly": true
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo",
+ "description": "Additional information for this backup item."
+ },
+ "extendedProperties": {
+ "$ref": "#/definitions/ExtendedProperties"
+ }
+ },
+ "x-ms-discriminator-value": "AzureIaaSVMProtectedItem"
+ },
+ "AzureIaaSVMProtectedItemExtendedInfo": {
+ "description": "Additional information on Azure IaaS VM specific backup item.",
+ "type": "object",
+ "properties": {
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this backup item across all tiers.",
+ "type": "string"
+ },
+ "oldestRecoveryPointInVault": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this backup item in vault tier",
+ "type": "string"
+ },
+ "oldestRecoveryPointInArchive": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this backup item in archive tier",
+ "type": "string"
+ },
+ "newestRecoveryPointInArchive": {
+ "format": "date-time",
+ "description": "The latest backup copy available for this backup item in archive tier",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of backup copies available for this backup item.",
+ "type": "integer"
+ },
+ "policyInconsistent": {
+ "description": "Specifies if backup policy associated with the backup item is inconsistent.",
+ "type": "boolean"
+ }
+ }
+ },
+ "AzureIaaSVMProtectionPolicy": {
+ "description": "IaaS VM workload-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "instantRPDetails": {
+ "$ref": "#/definitions/InstantRPAdditionalDetails"
+ },
+ "schedulePolicy": {
+ "$ref": "#/definitions/SchedulePolicy",
+ "description": "Backup schedule specified as part of backup policy."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy with the details on backup copy retention ranges."
+ },
+ "tieringPolicy": {
+ "description": "Tiering policy to automatically move RPs to another tier\r\nKey is Target Tier, defined in RecoveryPointTierType enum.\r\nTiering policy specifies the criteria to move RP to the target tier.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/TieringPolicy"
+ }
+ },
+ "instantRpRetentionRangeInDays": {
+ "format": "int32",
+ "description": "Instant RP retention policy range in days",
+ "type": "integer"
+ },
+ "timeZone": {
+ "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
+ "type": "string"
+ },
+ "policyType": {
+ "enum": [
+ "Invalid",
+ "V1",
+ "V2"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IAASVMPolicyType",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureIaasVM"
+ },
+ "AzureSqlProtectedItem": {
+ "description": "Azure SQL workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "protectedItemDataId": {
+ "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of the backed up item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused",
+ "BackupsSuspended"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectedItemState",
+ "modelAsString": true
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo",
+ "description": "Additional information for this backup item."
+ }
+ },
+ "x-ms-discriminator-value": "Microsoft.Sql/servers/databases"
+ },
+ "AzureSqlProtectedItemExtendedInfo": {
+ "description": "Additional information on Azure Sql specific protected item.",
+ "type": "object",
+ "properties": {
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this item in the service.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of available backup copies associated with this backup item.",
+ "type": "integer"
+ },
+ "policyState": {
+ "description": "State of the backup policy associated with this backup item.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureStorageErrorInfo": {
+ "description": "Azure storage specific error information",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "format": "int32",
+ "description": "Error code.",
+ "type": "integer"
+ },
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "List of localized recommendations for above error code.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "AzureSqlProtectionPolicy": {
+ "description": "Azure SQL workload-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy details."
+ }
+ },
+ "x-ms-discriminator-value": "AzureSql"
+ },
+ "AzureStorageJob": {
+ "description": "Azure storage specific job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed during the execution of this job.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "Gets or sets the state/actions applicable on this job like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "errorDetails": {
+ "description": "Error details on execution of this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureStorageErrorInfo"
+ },
+ "x-ms-identifiers": [
+ "errorCode"
+ ]
+ },
+ "storageAccountName": {
+ "description": "Specifies friendly name of the storage account.",
+ "type": "string"
+ },
+ "storageAccountVersion": {
+ "description": "Specifies whether the Storage account is a Classic or an Azure Resource Manager Storage account.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureStorageJobExtendedInfo",
+ "description": "Additional information about the job."
+ },
+ "isUserTriggered": {
+ "description": "Indicated that whether the job is adhoc(true) or scheduled(false)",
+ "type": "boolean"
+ }
+ },
+ "x-ms-discriminator-value": "AzureStorageJob"
+ },
+ "AzureStorageJobExtendedInfo": {
+ "description": "Azure Storage workload-specific additional information for job.",
+ "type": "object",
+ "properties": {
+ "tasksList": {
+ "description": "List of tasks for this job",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureStorageJobTaskDetails"
+ },
+ "x-ms-identifiers": [
+ "taskId"
+ ]
+ },
+ "propertyBag": {
+ "description": "Job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "dynamicErrorMessage": {
+ "description": "Non localized error message on job execution.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureStorageJobTaskDetails": {
+ "description": "Azure storage workload specific job task details.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The task display name.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureVmWorkloadProtectedItem": {
+ "description": "Azure VM workload-specific protected item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the DB represented by this backup item.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serverName": {
+ "description": "Host/Cluster Name for instance or AG",
+ "type": "string"
+ },
+ "parentName": {
+ "description": "Parent name of the DB such as Instance or Availability Group.",
+ "type": "string"
+ },
+ "parentType": {
+ "description": "Parent type of protected item, example: for a DB, standalone server or distributed",
+ "type": "string"
+ },
+ "protectionStatus": {
+ "description": "Backup status of this backup item.",
+ "type": "string",
+ "readOnly": true
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused",
+ "BackupsSuspended"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionState",
+ "modelAsString": true
+ }
+ },
+ "lastBackupStatus": {
+ "description": "Last backup operation status. Possible values: Healthy, Unhealthy.",
+ "enum": [
+ "Invalid",
+ "Healthy",
+ "Unhealthy",
+ "IRPending"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LastBackupStatus",
+ "modelAsString": true
+ }
+ },
+ "lastBackupTime": {
+ "format": "date-time",
+ "description": "Timestamp of the last backup operation on this backup item.",
+ "type": "string"
+ },
+ "lastBackupErrorDetail": {
+ "$ref": "#/definitions/ErrorDetail",
+ "description": "Error details in last backup"
+ },
+ "protectedItemDataSourceId": {
+ "description": "Data ID of the protected item.",
+ "type": "string"
+ },
+ "protectedItemHealthStatus": {
+ "description": "Health status of the backup item, evaluated based on last heartbeat received",
+ "enum": [
+ "Invalid",
+ "Healthy",
+ "Unhealthy",
+ "NotReachable",
+ "IRPending"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectedItemHealthStatus",
+ "modelAsString": true
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo",
+ "description": "Additional information for this backup item."
+ },
+ "kpisHealths": {
+ "description": "Health details of different KPIs",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/KPIResourceHealthDetails"
+ }
+ },
+ "nodesList": {
+ "description": "List of the nodes in case of distributed container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DistributedNodesInfo"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "x-ms-discriminator-value": "AzureVmWorkloadProtectedItem"
+ },
+ "AzureVmWorkloadProtectedItemExtendedInfo": {
+ "description": "Additional information on Azure Workload for SQL specific backup item.",
+ "type": "object",
+ "properties": {
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this backup item across all tiers.",
+ "type": "string"
+ },
+ "oldestRecoveryPointInVault": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this backup item in vault tier",
+ "type": "string"
+ },
+ "oldestRecoveryPointInArchive": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this backup item in archive tier",
+ "type": "string"
+ },
+ "newestRecoveryPointInArchive": {
+ "format": "date-time",
+ "description": "The latest backup copy available for this backup item in archive tier",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of backup copies available for this backup item.",
+ "type": "integer"
+ },
+ "policyState": {
+ "description": "Indicates consistency of policy object and policy applied to this backup item.",
+ "type": "string"
+ },
+ "recoveryModel": {
+ "description": "Indicates consistency of policy object and policy applied to this backup item.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureVmWorkloadSAPAseDatabaseProtectedItem": {
+ "description": "Azure VM workload-specific protected item representing SAP ASE Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureVmWorkloadSAPAseDatabase"
+ },
+ "AzureVmWorkloadSAPHanaDatabaseProtectedItem": {
+ "description": "Azure VM workload-specific protected item representing SAP HANA Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDatabase"
+ },
+ "AzureVmWorkloadSAPHanaDBInstanceProtectedItem": {
+ "description": "Azure VM workload-specific protected item representing SAP HANA DBInstance.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDBInstance"
+ },
+ "AzureVmWorkloadSQLDatabaseProtectedItem": {
+ "description": "Azure VM workload-specific protected item representing SQL Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase"
+ },
+ "AzureWorkloadErrorInfo": {
+ "description": "Azure storage specific error information",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "format": "int32",
+ "description": "Error code.",
+ "type": "integer"
+ },
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string"
+ },
+ "errorTitle": {
+ "description": "Title: Typically, the entity that the error pertains to.",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "List of localized recommendations for above error code.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "additionalDetails": {
+ "description": "Additional details for above error code.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureWorkloadJob": {
+ "description": "Azure storage specific job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "workloadType": {
+ "description": "Workload type of the job",
+ "type": "string"
+ },
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed during the execution of this job.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "Gets or sets the state/actions applicable on this job like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "errorDetails": {
+ "description": "Error details on execution of this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureWorkloadErrorInfo"
+ },
+ "x-ms-identifiers": [
+ "errorCode"
+ ]
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureWorkloadJobExtendedInfo",
+ "description": "Additional information about the job."
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadJob"
+ },
+ "AzureWorkloadJobExtendedInfo": {
+ "description": "Azure VM workload-specific additional information for job.",
+ "type": "object",
+ "properties": {
+ "tasksList": {
+ "description": "List of tasks for this job",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureWorkloadJobTaskDetails"
+ },
+ "x-ms-identifiers": [
+ "taskId"
+ ]
+ },
+ "propertyBag": {
+ "description": "Job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "dynamicErrorMessage": {
+ "description": "Non localized error message on job execution.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureWorkloadJobTaskDetails": {
+ "description": "Azure VM workload specific job task details.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The task display name.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureWorkloadPointInTimeRecoveryPoint": {
+ "description": "Recovery point specific to PointInTime",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRecoveryPoint"
+ }
+ ],
+ "properties": {
+ "timeRanges": {
+ "description": "List of log ranges",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PointInTimeRange"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadPointInTimeRecoveryPoint"
+ },
+ "AzureWorkloadPointInTimeRestoreRequest": {
+ "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRestoreRequest"
+ }
+ ],
+ "properties": {
+ "pointInTime": {
+ "format": "date-time",
+ "description": "PointInTime value",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadPointInTimeRestoreRequest"
+ },
+ "AzureWorkloadRecoveryPoint": {
+ "description": "Workload specific recovery point, specifically encapsulates full/diff recovery point",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ ],
+ "properties": {
+ "recoveryPointTimeInUTC": {
+ "format": "date-time",
+ "description": "UTC time at which recovery point was created",
+ "type": "string"
+ },
+ "type": {
+ "description": "Type of restore point",
+ "enum": [
+ "Invalid",
+ "Full",
+ "Log",
+ "Differential",
+ "Incremental",
+ "SnapshotFull",
+ "SnapshotCopyOnlyFull"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RestorePointType",
+ "modelAsString": true
+ }
+ },
+ "recoveryPointTierDetails": {
+ "description": "Recovery point tier information.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPointTierInformationV2"
+ },
+ "x-ms-identifiers": []
+ },
+ "recoveryPointMoveReadinessInfo": {
+ "description": "Eligibility of RP to be moved to another tier",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/RecoveryPointMoveReadinessInfo"
+ }
+ },
+ "recoveryPointProperties": {
+ "description": "Properties of Recovery Point",
+ "$ref": "#/definitions/RecoveryPointProperties"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint"
+ },
+ "AzureWorkloadRestoreRequest": {
+ "description": "AzureWorkload-specific restore.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestoreRequest"
+ }
+ ],
+ "properties": {
+ "recoveryType": {
+ "description": "Type of this recovery.",
+ "enum": [
+ "Invalid",
+ "OriginalLocation",
+ "AlternateLocation",
+ "RestoreDisks",
+ "Offline"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryType",
+ "modelAsString": true
+ }
+ },
+ "sourceResourceId": {
+ "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered.",
+ "type": "string"
+ },
+ "propertyBag": {
+ "description": "Workload specific property bag.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetInfo": {
+ "$ref": "#/definitions/TargetRestoreInfo",
+ "description": "Details of target database"
+ },
+ "recoveryMode": {
+ "description": "Defines whether the current recovery mode is file restore or database restore",
+ "enum": [
+ "Invalid",
+ "FileRecovery",
+ "WorkloadRecovery",
+ "SnapshotAttach",
+ "RecoveryUsingSnapshot",
+ "SnapshotAttachAndRecover"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryMode",
+ "modelAsString": true
+ }
+ },
+ "targetResourceGroupName": {
+ "description": "Defines the Resource group of the Target VM",
+ "type": "string"
+ },
+ "userAssignedManagedIdentityDetails": {
+ "$ref": "#/definitions/UserAssignedManagedIdentityDetails",
+ "description": "User Assigned managed identity details\r\nCurrently used for snapshot."
+ },
+ "snapshotRestoreParameters": {
+ "$ref": "#/definitions/SnapshotRestoreParameters",
+ "description": "Additional details for snapshot recovery\r\nCurrently used for snapshot for SAP Hana."
+ },
+ "targetVirtualMachineId": {
+ "description": "This is the complete ARM Id of the target VM\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadRestoreRequest"
+ },
+ "AzureWorkloadSAPHanaPointInTimeRecoveryPoint": {
+ "description": "Recovery point specific to PointInTime in SAPHana",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadPointInTimeRecoveryPoint"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint"
+ },
+ "AzureWorkloadSAPHanaPointInTimeRestoreRequest": {
+ "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest"
+ }
+ ],
+ "properties": {
+ "pointInTime": {
+ "format": "date-time",
+ "description": "PointInTime value",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest"
+ },
+ "AzureWorkloadSAPHanaRecoveryPoint": {
+ "description": "SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRecoveryPoint"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint"
+ },
+ "AzureWorkloadSAPHanaRestoreRequest": {
+ "description": "AzureWorkload SAP Hana-specific restore.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRestoreRequest"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest"
+ },
+ "AzureWorkloadSQLPointInTimeRecoveryPoint": {
+ "description": "Recovery point specific to PointInTime",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadSQLRecoveryPoint"
+ }
+ ],
+ "properties": {
+ "timeRanges": {
+ "description": "List of log ranges",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PointInTimeRange"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint"
+ },
+ "AzureWorkloadSQLPointInTimeRestoreRequest": {
+ "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest"
+ }
+ ],
+ "properties": {
+ "pointInTime": {
+ "format": "date-time",
+ "description": "PointInTime value",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest"
+ },
+ "AzureWorkloadSQLRecoveryPoint": {
+ "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRecoveryPoint"
+ }
+ ],
+ "properties": {
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo",
+ "description": "Extended Info that provides data directory details. Will be populated in two cases:\r\nWhen a specific recovery point is accessed using GetRecoveryPoint\r\nOr when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLRecoveryPoint"
+ },
+ "AzureWorkloadSQLRecoveryPointExtendedInfo": {
+ "description": "Extended info class details",
+ "type": "object",
+ "properties": {
+ "dataDirectoryTimeInUTC": {
+ "format": "date-time",
+ "description": "UTC time at which data directory info was captured",
+ "type": "string"
+ },
+ "dataDirectoryPaths": {
+ "description": "List of data directory paths during restore operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SQLDataDirectory"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "AzureWorkloadSQLRestoreRequest": {
+ "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRestoreRequest"
+ }
+ ],
+ "properties": {
+ "shouldUseAlternateTargetLocation": {
+ "description": "Default option set to true. If this is set to false, alternate data directory must be provided",
+ "type": "boolean"
+ },
+ "isNonRecoverable": {
+ "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried",
+ "type": "boolean"
+ },
+ "alternateDirectoryPaths": {
+ "description": "Data directory details",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SQLDataDirectoryMapping"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest"
+ },
+ "BEKDetails": {
+ "description": "BEK is bitlocker encryption key.",
+ "type": "object",
+ "properties": {
+ "secretUrl": {
+ "description": "Secret is BEK.",
+ "type": "string"
+ },
+ "secretVaultId": {
+ "description": "ID of the Key Vault where this Secret is stored.",
+ "type": "string"
+ },
+ "secretData": {
+ "description": "BEK data.",
+ "type": "string"
+ }
+ }
+ },
+ "BMSRPQueryObject": {
+ "description": "Filters to list backup copies.",
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "format": "date-time",
+ "description": "Backup copies created after this time.",
+ "type": "string"
+ },
+ "endDate": {
+ "format": "date-time",
+ "description": "Backup copies created before this time.",
+ "type": "string"
+ },
+ "restorePointQueryType": {
+ "description": "RestorePoint type",
+ "enum": [
+ "Invalid",
+ "Full",
+ "Log",
+ "Differential",
+ "FullAndDifferential",
+ "All",
+ "Incremental",
+ "SnapshotFull",
+ "SnapshotCopyOnlyFull"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RestorePointQueryType",
+ "modelAsString": true
+ }
+ },
+ "extendedInfo": {
+ "description": "In Get Recovery Point, it tells whether extended information about recovery point is asked.",
+ "type": "boolean"
+ },
+ "moveReadyRPOnly": {
+ "description": "Whether the RP can be moved to another tier",
+ "type": "boolean"
+ },
+ "includeSoftDeletedRP": {
+ "description": "Flag to indicate whether Soft Deleted RPs should be included/excluded from result.",
+ "type": "boolean"
+ }
+ }
+ },
+ "DiskExclusionProperties": {
+ "type": "object",
+ "properties": {
+ "diskLunList": {
+ "description": "List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection.",
+ "type": "array",
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "isInclusionList": {
+ "description": "Flag to indicate whether DiskLunList is to be included/ excluded from backup.",
+ "type": "boolean"
+ }
+ }
+ },
+ "ClientDiscoveryDisplay": {
+ "description": "Localized display information of an operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Name of the provider for display purposes",
+ "type": "string"
+ },
+ "resource": {
+ "description": "ResourceType for which this Operation can be performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operations Name itself.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the operation having details of what operation is about.",
+ "type": "string"
+ }
+ }
+ },
+ "ClientDiscoveryForLogSpecification": {
+ "description": "Class to represent shoebox log specification in json client discovery.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name for shoebox log specification.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Localized display name",
+ "type": "string"
+ },
+ "blobDuration": {
+ "description": "blob duration of shoebox log specification",
+ "type": "string"
+ }
+ }
+ },
+ "ClientDiscoveryForProperties": {
+ "description": "Class to represent shoebox properties in json client discovery.",
+ "type": "object",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ClientDiscoveryForServiceSpecification",
+ "description": "Operation properties."
+ }
+ }
+ },
+ "ClientDiscoveryForServiceSpecification": {
+ "description": "Class to represent shoebox service specification in json client discovery.",
+ "type": "object",
+ "properties": {
+ "logSpecifications": {
+ "description": "List of log specifications of this operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClientDiscoveryForLogSpecification"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "ClientDiscoveryResponse": {
+ "description": "Operations List response which contains list of available APIs.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of available operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClientDiscoveryValueForSingleApi"
+ },
+ "x-ms-identifiers": []
+ },
+ "nextLink": {
+ "description": "Link to the next chunk of Response.",
+ "type": "string"
+ }
+ }
+ },
+ "ClientDiscoveryValueForSingleApi": {
+ "description": "Available operation details.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the Operation.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/ClientDiscoveryDisplay",
+ "description": "Contains the localized display information for this particular operation"
+ },
+ "origin": {
+ "description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/ClientDiscoveryForProperties",
+ "description": "ShoeBox properties for the given operation."
+ }
+ }
+ },
+ "DiskInformation": {
+ "description": "Disk information",
+ "type": "object",
+ "properties": {
+ "lun": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ }
+ },
+ "DailyRetentionFormat": {
+ "description": "Daily retention format.",
+ "type": "object",
+ "properties": {
+ "daysOfTheMonth": {
+ "description": "List of days of the month.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Day"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "DailyRetentionSchedule": {
+ "description": "Daily retention schedule.",
+ "type": "object",
+ "properties": {
+ "retentionTimes": {
+ "description": "Retention times of retention policy.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of retention Policy."
+ }
+ }
+ },
+ "Day": {
+ "description": "Day of the week.",
+ "type": "object",
+ "properties": {
+ "date": {
+ "format": "int32",
+ "description": "Date of the month",
+ "type": "integer"
+ },
+ "isLast": {
+ "description": "Whether Date is last date of month",
+ "type": "boolean"
+ }
+ }
+ },
+ "DpmErrorInfo": {
+ "description": "DPM workload-specific error information.",
+ "type": "object",
+ "properties": {
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "List of localized recommendations for above error code.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DpmJob": {
+ "description": "DPM workload-specific job object.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed for job.",
+ "type": "string"
+ },
+ "dpmServerName": {
+ "description": "DPM server name managing the backup item or backup job.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "Name of cluster/server protecting current backup item, if any.",
+ "type": "string"
+ },
+ "containerType": {
+ "description": "Type of container.",
+ "type": "string"
+ },
+ "workloadType": {
+ "description": "Type of backup item.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "The state/actions applicable on this job like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "errorDetails": {
+ "description": "The errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DpmErrorInfo"
+ },
+ "x-ms-identifiers": []
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/DpmJobExtendedInfo",
+ "description": "Additional information for this job."
+ }
+ },
+ "x-ms-discriminator-value": "DpmJob"
+ },
+ "BackupResourceConfigResource": {
+ "description": "The resource storage details.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupResourceConfig",
+ "description": "BackupResourceConfigResource properties"
+ }
+ }
+ },
+ "BackupResourceConfig": {
+ "description": "The resource storage details.",
+ "type": "object",
+ "properties": {
+ "storageModelType": {
+ "description": "Storage type",
+ "enum": [
+ "Invalid",
+ "GeoRedundant",
+ "LocallyRedundant",
+ "ZoneRedundant",
+ "ReadAccessGeoZoneRedundant"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageType",
+ "modelAsString": true
+ }
+ },
+ "storageType": {
+ "description": "Storage type.",
+ "enum": [
+ "Invalid",
+ "GeoRedundant",
+ "LocallyRedundant",
+ "ZoneRedundant",
+ "ReadAccessGeoZoneRedundant"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageType",
+ "modelAsString": true
+ }
+ },
+ "storageTypeState": {
+ "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.",
+ "enum": [
+ "Invalid",
+ "Locked",
+ "Unlocked"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageTypeState",
+ "modelAsString": true
+ }
+ },
+ "crossRegionRestoreFlag": {
+ "description": "Opt in details of Cross Region Restore feature.",
+ "type": "boolean"
+ },
+ "dedupState": {
+ "description": "Vault Dedup state",
+ "enum": [
+ "Invalid",
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "dedupState",
+ "modelAsString": true
+ }
+ },
+ "xcoolState": {
+ "description": "Vault x-cool state",
+ "enum": [
+ "Invalid",
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "xcoolState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "DpmJobExtendedInfo": {
+ "description": "Additional information on the DPM workload-specific job.",
+ "type": "object",
+ "properties": {
+ "tasksList": {
+ "description": "List of tasks associated with this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DpmJobTaskDetails"
+ },
+ "x-ms-identifiers": [
+ "taskId"
+ ]
+ },
+ "propertyBag": {
+ "description": "The job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "dynamicErrorMessage": {
+ "description": "Non localized error message on job execution.",
+ "type": "string"
+ }
+ }
+ },
+ "DpmJobTaskDetails": {
+ "description": "DPM workload-specific job task details.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The task display name.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time.",
+ "type": "string"
+ },
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed for task.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status.",
+ "type": "string"
+ }
+ }
+ },
+ "DPMProtectedItem": {
+ "description": "Additional information on Backup engine specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the managed item",
+ "type": "string"
+ },
+ "backupEngineName": {
+ "description": "Backup Management server protecting this backup item",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Protection state of the backup engine",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused",
+ "BackupsSuspended"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectedItemState",
+ "modelAsString": true
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/DPMProtectedItemExtendedInfo",
+ "description": "Extended info of the backup item."
+ }
+ },
+ "x-ms-discriminator-value": "DPMProtectedItem"
+ },
+ "DPMProtectedItemExtendedInfo": {
+ "description": "Additional information of DPM Protected item.",
+ "type": "object",
+ "properties": {
+ "protectableObjectLoadPath": {
+ "description": "Attribute to provide information on various DBs.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "protected": {
+ "description": "To check if backup item is disk protected.",
+ "type": "boolean"
+ },
+ "isPresentOnCloud": {
+ "description": "To check if backup item is cloud protected.",
+ "type": "boolean"
+ },
+ "lastBackupStatus": {
+ "description": "Last backup status information on backup item.",
+ "type": "string"
+ },
+ "lastRefreshedAt": {
+ "format": "date-time",
+ "description": "Last refresh time on backup item.",
+ "type": "string"
+ },
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "Oldest cloud recovery point time.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "cloud recovery point count.",
+ "type": "integer"
+ },
+ "onPremiseOldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "Oldest disk recovery point time.",
+ "type": "string"
+ },
+ "onPremiseLatestRecoveryPoint": {
+ "format": "date-time",
+ "description": "latest disk recovery point time.",
+ "type": "string"
+ },
+ "onPremiseRecoveryPointCount": {
+ "format": "int32",
+ "description": "disk recovery point count.",
+ "type": "integer"
+ },
+ "isCollocated": {
+ "description": "To check if backup item is collocated.",
+ "type": "boolean"
+ },
+ "protectionGroupName": {
+ "description": "Protection group name of the backup item.",
+ "type": "string"
+ },
+ "diskStorageUsedInBytes": {
+ "description": "Used Disk storage in bytes.",
+ "type": "string"
+ },
+ "totalDiskStorageSizeInBytes": {
+ "description": "total Disk storage in bytes.",
+ "type": "string"
+ }
+ }
+ },
+ "EncryptionDetails": {
+ "description": "Details needed if the VM was encrypted at the time of backup.",
+ "type": "object",
+ "properties": {
+ "encryptionEnabled": {
+ "description": "Identifies whether this backup copy represents an encrypted VM at the time of backup.",
+ "type": "boolean"
+ },
+ "kekUrl": {
+ "description": "Key Url.",
+ "type": "string"
+ },
+ "secretKeyUrl": {
+ "description": "Secret Url.",
+ "type": "string"
+ },
+ "kekVaultId": {
+ "description": "ID of Key Vault where KEK is stored.",
+ "type": "string"
+ },
+ "secretKeyVaultId": {
+ "description": "ID of Key Vault where Secret is stored.",
+ "type": "string"
+ }
+ }
+ },
+ "ErrorDetail": {
+ "description": "Error Detail class which encapsulates Code, Message and Recommendations.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Error Message related to the Code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendations": {
+ "description": "List of recommendation strings.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ExportJobsOperationResultInfo": {
+ "description": "This class is used to send blob details after exporting jobs.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationResultInfoBase"
+ }
+ ],
+ "properties": {
+ "blobUrl": {
+ "description": "URL of the blob into which the serialized string of list of jobs is exported.",
+ "type": "string"
+ },
+ "blobSasKey": {
+ "description": "SAS key to access the blob. It expires in 15 mins.",
+ "type": "string"
+ },
+ "excelFileBlobUrl": {
+ "description": "URL of the blob into which the ExcelFile is uploaded.",
+ "type": "string"
+ },
+ "excelFileBlobSasKey": {
+ "description": "SAS key to access the blob. It expires in 15 mins.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ExportJobsOperationResultInfo"
+ },
+ "ExtendedProperties": {
+ "description": "Extended Properties for Azure IaasVM Backup.",
+ "type": "object",
+ "properties": {
+ "diskExclusionProperties": {
+ "$ref": "#/definitions/DiskExclusionProperties",
+ "description": "Extended Properties for Disk Exclusion."
+ },
+ "linuxVmApplicationName": {
+ "description": "Linux VM name",
+ "type": "string"
+ }
+ }
+ },
+ "GenericProtectionPolicy": {
+ "description": "Azure VM (Mercury) workload-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "subProtectionPolicy": {
+ "description": "List of sub-protection policies which includes schedule and retention",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubProtectionPolicy"
+ },
+ "x-ms-identifiers": []
+ },
+ "timeZone": {
+ "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "Name of this policy's fabric.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "GenericProtectionPolicy"
+ },
+ "HourlySchedule": {
+ "type": "object",
+ "properties": {
+ "interval": {
+ "format": "int32",
+ "description": "Interval at which backup needs to be triggered. For hourly the value\r\n can be 4/6/8/12",
+ "type": "integer"
+ },
+ "scheduleWindowStartTime": {
+ "format": "date-time",
+ "description": "To specify start time of the backup window",
+ "type": "string"
+ },
+ "scheduleWindowDuration": {
+ "format": "int32",
+ "description": "To specify duration of the backup window",
+ "type": "integer"
+ }
+ }
+ },
+ "DailySchedule": {
+ "type": "object",
+ "properties": {
+ "scheduleRunTimes": {
+ "description": "List of times of day this schedule has to be run.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "WeeklySchedule": {
+ "type": "object",
+ "properties": {
+ "scheduleRunDays": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": false
+ }
+ }
+ },
+ "scheduleRunTimes": {
+ "description": "List of times of day this schedule has to be run.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "IdentityBasedRestoreDetails": {
+ "description": "IaaS VM workload specific restore details for restores using managed identity",
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Gets the class type.",
+ "type": "string"
+ },
+ "targetStorageAccountId": {
+ "description": "Fully qualified ARM ID of the target storage account.",
+ "type": "string"
+ }
+ }
+ },
+ "IdentityInfo": {
+ "description": "Encapsulates Managed Identity related information",
+ "type": "object",
+ "properties": {
+ "isSystemAssignedIdentity": {
+ "description": "To differentiate if the managed identity is system assigned or user assigned",
+ "type": "boolean"
+ },
+ "managedIdentityResourceId": {
+ "description": "Managed Identity Resource Id\r\nOptional: Might not be required in the case of system assigned managed identity",
+ "type": "string"
+ }
+ }
+ },
+ "InstantRPAdditionalDetails": {
+ "type": "object",
+ "properties": {
+ "azureBackupRGNamePrefix": {
+ "type": "string"
+ },
+ "azureBackupRGNameSuffix": {
+ "type": "string"
+ }
+ }
+ },
+ "GenericProtectedItem": {
+ "description": "Base class for backup items.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the container.",
+ "type": "string"
+ },
+ "policyState": {
+ "description": "Indicates consistency of policy object and policy applied to this backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused",
+ "BackupsSuspended"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionState",
+ "modelAsString": true
+ }
+ },
+ "protectedItemId": {
+ "format": "int64",
+ "description": "Data Plane Service ID of the protected item.",
+ "type": "integer"
+ },
+ "sourceAssociations": {
+ "description": "Loosely coupled (type, value) associations (example - parent of a protected item)",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "fabricName": {
+ "description": "Name of this backup item's fabric.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "GenericProtectedItem"
+ },
+ "GenericRecoveryPoint": {
+ "description": "Generic backup copy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the backup copy.",
+ "type": "string"
+ },
+ "recoveryPointType": {
+ "description": "Type of the backup copy.",
+ "type": "string"
+ },
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "Time at which this backup copy was created.",
+ "type": "string"
+ },
+ "recoveryPointAdditionalInfo": {
+ "description": "Additional information associated with this backup copy.",
+ "type": "string"
+ },
+ "recoveryPointProperties": {
+ "description": "Properties of Recovery Point",
+ "$ref": "#/definitions/RecoveryPointProperties"
+ }
+ },
+ "x-ms-discriminator-value": "GenericRecoveryPoint"
+ },
+ "GetProtectedItemQueryObject": {
+ "description": "Filters to list backup items.",
+ "type": "object",
+ "properties": {
+ "expand": {
+ "description": "Specifies if the additional information should be provided for this item.",
+ "type": "string"
+ }
+ }
+ },
+ "IaasVMRecoveryPoint": {
+ "description": "IaaS VM workload specific backup copy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "Type of the backup copy.",
+ "type": "string"
+ },
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "Time at which this backup copy was created.",
+ "type": "string"
+ },
+ "recoveryPointAdditionalInfo": {
+ "description": "Additional information associated with this backup copy.",
+ "type": "string"
+ },
+ "sourceVMStorageType": {
+ "description": "Storage type of the VM whose backup copy is created.",
+ "type": "string"
+ },
+ "isSourceVMEncrypted": {
+ "description": "Identifies whether the VM was encrypted when the backup copy is created.",
+ "type": "boolean"
+ },
+ "keyAndSecret": {
+ "$ref": "#/definitions/KeyAndSecretDetails",
+ "description": "Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true."
+ },
+ "isInstantIlrSessionActive": {
+ "description": "Is the session to recover items from this backup copy still active.",
+ "type": "boolean"
+ },
+ "recoveryPointTierDetails": {
+ "description": "Recovery point tier information.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPointTierInformationV2"
+ },
+ "x-ms-identifiers": []
+ },
+ "isManagedVirtualMachine": {
+ "description": "Whether VM is with Managed Disks",
+ "type": "boolean"
+ },
+ "virtualMachineSize": {
+ "description": "Virtual Machine Size",
+ "type": "string"
+ },
+ "originalStorageAccountOption": {
+ "description": "Original Storage Account Option",
+ "type": "boolean"
+ },
+ "osType": {
+ "description": "OS type",
+ "type": "string"
+ },
+ "recoveryPointDiskConfiguration": {
+ "$ref": "#/definitions/RecoveryPointDiskConfiguration",
+ "description": "Disk configuration"
+ },
+ "zones": {
+ "description": "Identifies the zone of the VM at the time of backup. Applicable only for zone-pinned Vms",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "recoveryPointMoveReadinessInfo": {
+ "description": "Eligibility of RP to be moved to another tier",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/RecoveryPointMoveReadinessInfo"
+ }
+ },
+ "securityType": {
+ "description": "Security Type of the Disk",
+ "type": "string"
+ },
+ "recoveryPointProperties": {
+ "description": "Properties of Recovery Point",
+ "$ref": "#/definitions/RecoveryPointProperties"
+ },
+ "isPrivateAccessEnabledOnAnyDisk": {
+ "description": "This flag denotes if any of the disks in the VM are using Private access network setting",
+ "type": "boolean"
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "Extended location of the VM recovery point,\r\nshould be null if VM is in public cloud"
+ }
+ },
+ "x-ms-discriminator-value": "IaasVMRecoveryPoint"
+ },
+ "ExtendedLocation": {
+ "description": "The extended location of Recovery point where VM was present.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the extended location.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Type of the extended location. Possible values include: 'EdgeZone'",
+ "type": "string"
+ }
+ }
+ },
+ "SecuredVMDetails": {
+ "description": "Restore request parameters for Secured VMs",
+ "type": "object",
+ "properties": {
+ "securedVMOsDiskEncryptionSetId": {
+ "description": "Gets or Sets Disk Encryption Set Id for Secured VM OS Disk",
+ "type": "string"
+ }
+ }
+ },
+ "TargetDiskNetworkAccessSettings": {
+ "description": "Specifies target network access settings for disks of VM to be restored.",
+ "type": "object",
+ "properties": {
+ "targetDiskNetworkAccessOption": {
+ "description": "Network access settings to be used for restored disks",
+ "enum": [
+ "SameAsOnSourceDisks",
+ "EnablePrivateAccessForAllDisks",
+ "EnablePublicAccessForAllDisks"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TargetDiskNetworkAccessOption"
+ }
+ },
+ "targetDiskAccessId": {
+ "description": "Gets or sets the ARM resource ID of the target disk access to be used when TargetDiskNetworkAccessOption is set to TargetDiskNetworkAccessOption.UseNew",
+ "type": "string"
+ }
+ }
+ },
+ "IaasVMRestoreRequest": {
+ "description": "IaaS VM workload-specific restore.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestoreRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointId": {
+ "description": "ID of the backup copy to be recovered.",
+ "type": "string"
+ },
+ "recoveryType": {
+ "description": "Type of this recovery.",
+ "enum": [
+ "Invalid",
+ "OriginalLocation",
+ "AlternateLocation",
+ "RestoreDisks",
+ "Offline"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryType",
+ "modelAsString": true
+ }
+ },
+ "sourceResourceId": {
+ "description": "Fully qualified ARM ID of the VM which is being recovered.",
+ "type": "string"
+ },
+ "targetVirtualMachineId": {
+ "description": "This is the complete ARM Id of the VM that will be created.\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}",
+ "type": "string"
+ },
+ "targetResourceGroupId": {
+ "description": "This is the ARM Id of the resource group that you want to create for this Virtual machine and other artifacts.\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}",
+ "type": "string"
+ },
+ "storageAccountId": {
+ "description": "Fully qualified ARM ID of the storage account to which the VM has to be restored.",
+ "type": "string"
+ },
+ "virtualNetworkId": {
+ "description": "This is the virtual network Id of the vnet that will be attached to the virtual machine.\r\nUser will be validated for join action permissions in the linked access.",
+ "type": "string"
+ },
+ "subnetId": {
+ "description": "Subnet ID, is the subnet ID associated with the to be restored VM. For Classic VMs it would be\r\n{VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent\r\nthe subnet.",
+ "type": "string"
+ },
+ "targetDomainNameId": {
+ "description": "Fully qualified ARM ID of the domain name to be associated to the VM being restored. This applies only to Classic\r\nVirtual Machines.",
+ "type": "string"
+ },
+ "region": {
+ "description": "Region in which the virtual machine is restored.",
+ "type": "string"
+ },
+ "affinityGroup": {
+ "description": "Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines.",
+ "type": "string"
+ },
+ "createNewCloudService": {
+ "description": "Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same\r\ncloud service as it was at the time of backup.",
+ "type": "boolean"
+ },
+ "originalStorageAccountOption": {
+ "description": "Original Storage Account Option",
+ "type": "boolean"
+ },
+ "encryptionDetails": {
+ "$ref": "#/definitions/EncryptionDetails",
+ "description": "Details needed if the VM was encrypted at the time of backup."
+ },
+ "restoreDiskLunList": {
+ "description": "List of Disk LUNs for partial restore",
+ "type": "array",
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "restoreWithManagedDisks": {
+ "description": "Flag to denote of an Unmanaged disk VM should be restored with Managed disks.",
+ "type": "boolean"
+ },
+ "diskEncryptionSetId": {
+ "description": "DiskEncryptionSet's ID - needed if the VM needs to be encrypted at rest during restore with customer managed key.",
+ "type": "string"
+ },
+ "zones": {
+ "description": "Target zone where the VM and its disks should be restored.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "identityInfo": {
+ "$ref": "#/definitions/IdentityInfo",
+ "description": "Managed Identity information required to access customer storage account."
+ },
+ "identityBasedRestoreDetails": {
+ "$ref": "#/definitions/IdentityBasedRestoreDetails",
+ "description": "IaaS VM workload specific restore details for restores using managed identity."
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "Target extended location where the VM should be restored,\r\nshould be null if restore is to be done in public cloud"
+ },
+ "securedVMDetails": {
+ "$ref": "#/definitions/SecuredVMDetails",
+ "description": "Stores Secured VM Details"
+ },
+ "targetDiskNetworkAccessSettings": {
+ "$ref": "#/definitions/TargetDiskNetworkAccessSettings",
+ "description": "Specifies target network access settings for disks of VM to be restored,"
+ }
+ },
+ "x-ms-discriminator-value": "IaasVMRestoreRequest"
+ },
+ "Job": {
+ "description": "Defines workload agnostic properties for a job.",
+ "required": [
+ "jobType"
+ ],
+ "type": "object",
+ "properties": {
+ "entityFriendlyName": {
+ "description": "Friendly name of the entity on which the current job is executing.",
+ "type": "string"
+ },
+ "backupManagementType": {
+ "description": "Backup management type to execute the current job.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "operation": {
+ "description": "The operation name.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Job status.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time.",
+ "type": "string"
+ },
+ "activityId": {
+ "description": "ActivityId of job.",
+ "type": "string"
+ },
+ "jobType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "jobType"
+ },
+ "JobQueryObject": {
+ "description": "Filters to list the jobs.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Status of the job.",
+ "enum": [
+ "Invalid",
+ "InProgress",
+ "Completed",
+ "Failed",
+ "CompletedWithWarnings",
+ "Cancelled",
+ "Cancelling"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": true
+ }
+ },
+ "backupManagementType": {
+ "description": "Type of backup management for the job.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "operation": {
+ "description": "Type of operation.",
+ "enum": [
+ "Invalid",
+ "Register",
+ "UnRegister",
+ "ConfigureBackup",
+ "Backup",
+ "Restore",
+ "DisableBackup",
+ "DeleteBackupData",
+ "CrossRegionRestore",
+ "Undelete",
+ "UpdateCustomerManagedKey"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobOperationType",
+ "modelAsString": true
+ }
+ },
+ "jobId": {
+ "description": "JobID represents the job uniquely.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Job has started at this time. Value is in UTC.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "Job has ended at this time. Value is in UTC.",
+ "type": "string"
+ }
+ }
+ },
+ "JobResource": {
+ "description": "Defines workload agnostic properties for a job.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/Job",
+ "description": "JobResource properties"
+ }
+ }
+ },
+ "JobResourceList": {
+ "description": "List of Job resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobResource"
+ }
+ }
+ }
+ },
+ "KEKDetails": {
+ "description": "KEK is encryption key for BEK.",
+ "type": "object",
+ "properties": {
+ "keyUrl": {
+ "description": "Key is KEK.",
+ "type": "string"
+ },
+ "keyVaultId": {
+ "description": "Key Vault ID where this Key is stored.",
+ "type": "string"
+ },
+ "keyBackupData": {
+ "description": "KEK data.",
+ "type": "string"
+ }
+ }
+ },
+ "KeyAndSecretDetails": {
+ "description": "BEK is bitlocker key.\r\nKEK is encryption key for BEK\r\nIf the VM was encrypted then we will store following details :\r\n1. Secret(BEK) - Url + Backup Data + vaultId.\r\n2. Key(KEK) - Url + Backup Data + vaultId.\r\n3. EncryptionMechanism\r\nBEK and KEK can potentially have different vault ids.",
+ "type": "object",
+ "properties": {
+ "kekDetails": {
+ "$ref": "#/definitions/KEKDetails",
+ "description": "KEK is encryption key for BEK."
+ },
+ "bekDetails": {
+ "$ref": "#/definitions/BEKDetails",
+ "description": "BEK is bitlocker encryption key."
+ },
+ "encryptionMechanism": {
+ "description": "Encryption mechanism: None/ SinglePass/ DoublePass",
+ "type": "string"
+ }
+ }
+ },
+ "LogSchedulePolicy": {
+ "description": "Log policy schedule.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SchedulePolicy"
+ }
+ ],
+ "properties": {
+ "scheduleFrequencyInMins": {
+ "format": "int32",
+ "description": "Frequency of the log schedule operation of this policy in minutes.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "LogSchedulePolicy"
+ },
+ "LongTermRetentionPolicy": {
+ "description": "Long term retention policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RetentionPolicy"
+ }
+ ],
+ "properties": {
+ "dailySchedule": {
+ "$ref": "#/definitions/DailyRetentionSchedule",
+ "description": "Daily retention schedule of the protection policy."
+ },
+ "weeklySchedule": {
+ "$ref": "#/definitions/WeeklyRetentionSchedule",
+ "description": "Weekly retention schedule of the protection policy."
+ },
+ "monthlySchedule": {
+ "$ref": "#/definitions/MonthlyRetentionSchedule",
+ "description": "Monthly retention schedule of the protection policy."
+ },
+ "yearlySchedule": {
+ "$ref": "#/definitions/YearlyRetentionSchedule",
+ "description": "Yearly retention schedule of the protection policy."
+ }
+ },
+ "x-ms-discriminator-value": "LongTermRetentionPolicy"
+ },
+ "LongTermSchedulePolicy": {
+ "description": "Long term policy schedule.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SchedulePolicy"
+ }
+ ],
+ "x-ms-discriminator-value": "LongTermSchedulePolicy"
+ },
+ "MabErrorInfo": {
+ "description": "MAB workload-specific error information.",
+ "type": "object",
+ "properties": {
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendations": {
+ "description": "List of localized recommendations.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "MabFileFolderProtectedItem": {
+ "description": "MAB workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of this backup item.",
+ "type": "string"
+ },
+ "computerName": {
+ "description": "Name of the computer associated with this backup item.",
+ "type": "string"
+ },
+ "lastBackupStatus": {
+ "description": "Status of last backup operation.",
+ "type": "string"
+ },
+ "lastBackupTime": {
+ "format": "date-time",
+ "description": "Timestamp of the last backup operation on this backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Protected, ProtectionStopped, IRPending or ProtectionError",
+ "type": "string"
+ },
+ "deferredDeleteSyncTimeInUTC": {
+ "format": "int64",
+ "description": "Sync time for deferred deletion in UTC",
+ "type": "integer"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo",
+ "description": "Additional information with this backup item."
+ }
+ },
+ "x-ms-discriminator-value": "MabFileFolderProtectedItem"
+ },
+ "MabFileFolderProtectedItemExtendedInfo": {
+ "description": "Additional information on the backed up item.",
+ "type": "object",
+ "properties": {
+ "lastRefreshedAt": {
+ "format": "date-time",
+ "description": "Last time when the agent data synced to service.",
+ "type": "string"
+ },
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of backup copies associated with the backup item.",
+ "type": "integer"
+ }
+ }
+ },
+ "MabJob": {
+ "description": "MAB workload-specific job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "duration": {
+ "format": "duration",
+ "description": "Time taken by job to run.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "The state/actions applicable on jobs like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "mabServerName": {
+ "description": "Name of server protecting the DS.",
+ "type": "string"
+ },
+ "mabServerType": {
+ "description": "Server type of MAB container.",
+ "enum": [
+ "Invalid",
+ "Unknown",
+ "IaasVMContainer",
+ "IaasVMServiceContainer",
+ "DPMContainer",
+ "AzureBackupServerContainer",
+ "MABContainer",
+ "Cluster",
+ "AzureSqlContainer",
+ "Windows",
+ "VCenter",
+ "VMAppContainer",
+ "SQLAGWorkLoadContainer",
+ "StorageContainer",
+ "GenericContainer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MabServerType",
+ "modelAsString": true
+ }
+ },
+ "workloadType": {
+ "description": "Workload type of backup item.",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase",
+ "SAPHanaDBInstance"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadType",
+ "modelAsString": true
+ }
+ },
+ "errorDetails": {
+ "description": "The errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MabErrorInfo"
+ },
+ "x-ms-identifiers": []
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/MabJobExtendedInfo",
+ "description": "Additional information on the job."
+ }
+ },
+ "x-ms-discriminator-value": "MabJob"
+ },
+ "MabJobExtendedInfo": {
+ "description": "Additional information for the MAB workload-specific job.",
+ "type": "object",
+ "properties": {
+ "tasksList": {
+ "description": "List of tasks for this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MabJobTaskDetails"
+ },
+ "x-ms-identifiers": [
+ "taskId"
+ ]
+ },
+ "propertyBag": {
+ "description": "The job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "dynamicErrorMessage": {
+ "description": "Non localized error message specific to this job.",
+ "type": "string"
+ }
+ }
+ },
+ "MabJobTaskDetails": {
+ "description": "MAB workload-specific job task details.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The task display name.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time.",
+ "type": "string"
+ },
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed for task.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status.",
+ "type": "string"
+ }
+ }
+ },
+ "MabProtectionPolicy": {
+ "description": "Mab container-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "schedulePolicy": {
+ "$ref": "#/definitions/SchedulePolicy",
+ "description": "Backup schedule of backup policy."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy details."
+ }
+ },
+ "x-ms-discriminator-value": "MAB"
+ },
+ "MonthlyRetentionSchedule": {
+ "description": "Monthly retention schedule.",
+ "type": "object",
+ "properties": {
+ "retentionScheduleFormatType": {
+ "description": "Retention schedule format type for monthly retention policy.",
+ "enum": [
+ "Invalid",
+ "Daily",
+ "Weekly"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RetentionScheduleFormat",
+ "modelAsString": true
+ }
+ },
+ "retentionScheduleDaily": {
+ "$ref": "#/definitions/DailyRetentionFormat",
+ "description": "Daily retention format for monthly retention policy."
+ },
+ "retentionScheduleWeekly": {
+ "$ref": "#/definitions/WeeklyRetentionFormat",
+ "description": "Weekly retention format for monthly retention policy."
+ },
+ "retentionTimes": {
+ "description": "Retention times of retention policy.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of retention Policy."
+ }
+ }
+ },
+ "OperationResultInfo": {
+ "description": "Operation result info.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationResultInfoBase"
+ }
+ ],
+ "properties": {
+ "jobList": {
+ "description": "List of jobs created by this operation.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "OperationResultInfo"
+ },
+ "OperationResultInfoBase": {
+ "description": "Base class for operation result info.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "KPIResourceHealthDetails": {
+ "description": "KPI Resource Health Details",
+ "type": "object",
+ "properties": {
+ "resourceHealthStatus": {
+ "description": "Resource Health Status",
+ "enum": [
+ "Healthy",
+ "TransientDegraded",
+ "PersistentDegraded",
+ "TransientUnhealthy",
+ "PersistentUnhealthy",
+ "Invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResourceHealthStatus",
+ "modelAsString": true
+ }
+ },
+ "resourceHealthDetails": {
+ "description": "Resource Health Status",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceHealthDetails"
+ },
+ "x-ms-identifiers": [
+ "code"
+ ]
+ }
+ }
+ },
+ "PrepareDataMoveRequest": {
+ "description": "Prepare DataMove Request",
+ "required": [
+ "targetResourceId",
+ "targetRegion",
+ "dataMoveLevel"
+ ],
+ "type": "object",
+ "properties": {
+ "targetResourceId": {
+ "description": "ARM Id of target vault",
+ "type": "string"
+ },
+ "targetRegion": {
+ "description": "Target Region",
+ "type": "string"
+ },
+ "dataMoveLevel": {
+ "description": "DataMove Level",
+ "enum": [
+ "Invalid",
+ "Vault",
+ "Container"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataMoveLevel",
+ "modelAsString": true
+ }
+ },
+ "sourceContainerArmIds": {
+ "description": "Source Container ArmIds\r\nThis needs to be populated only if DataMoveLevel is set to container",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ignoreMoved": {
+ "description": "Ignore the artifacts which are already moved.",
+ "type": "boolean"
+ }
+ }
+ },
+ "PrepareDataMoveResponse": {
+ "description": "Prepare DataMove Response",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/VaultStorageConfigOperationResultResponse"
+ }
+ ],
+ "properties": {
+ "correlationId": {
+ "description": "Co-relationId for move operation",
+ "type": "string"
+ },
+ "sourceVaultProperties": {
+ "description": "Source Vault Properties",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "PrepareDataMoveResponse"
+ },
+ "VaultStorageConfigOperationResultResponse": {
+ "description": "Operation result response for Vault Storage Config",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "TriggerDataMoveRequest": {
+ "description": "Trigger DataMove Request",
+ "required": [
+ "sourceResourceId",
+ "sourceRegion",
+ "dataMoveLevel",
+ "correlationId"
+ ],
+ "type": "object",
+ "properties": {
+ "sourceResourceId": {
+ "description": "ARM Id of source vault",
+ "type": "string"
+ },
+ "sourceRegion": {
+ "description": "Source Region",
+ "type": "string"
+ },
+ "dataMoveLevel": {
+ "description": "DataMove Level",
+ "enum": [
+ "Invalid",
+ "Vault",
+ "Container"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataMoveLevel",
+ "modelAsString": true
+ }
+ },
+ "correlationId": {
+ "description": "Correlation Id",
+ "type": "string"
+ },
+ "sourceContainerArmIds": {
+ "description": "Source Container ArmIds",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "pauseGC": {
+ "description": "Pause GC",
+ "type": "boolean"
+ }
+ }
+ },
+ "OperationResultInfoBaseResource": {
+ "description": "Base class for operation result info.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationWorkerResponse"
+ }
+ ],
+ "properties": {
+ "operation": {
+ "$ref": "#/definitions/OperationResultInfoBase",
+ "description": "OperationResultInfoBaseResource operation"
+ }
+ }
+ },
+ "OperationWorkerResponse": {
+ "description": "This is the base class for operation result responses.",
+ "type": "object",
+ "properties": {
+ "statusCode": {
+ "description": "HTTP Status Code of the operation.",
+ "enum": [
+ "Continue",
+ "SwitchingProtocols",
+ "OK",
+ "Created",
+ "Accepted",
+ "NonAuthoritativeInformation",
+ "NoContent",
+ "ResetContent",
+ "PartialContent",
+ "MultipleChoices",
+ "Ambiguous",
+ "MovedPermanently",
+ "Moved",
+ "Found",
+ "Redirect",
+ "SeeOther",
+ "RedirectMethod",
+ "NotModified",
+ "UseProxy",
+ "Unused",
+ "TemporaryRedirect",
+ "RedirectKeepVerb",
+ "BadRequest",
+ "Unauthorized",
+ "PaymentRequired",
+ "Forbidden",
+ "NotFound",
+ "MethodNotAllowed",
+ "NotAcceptable",
+ "ProxyAuthenticationRequired",
+ "RequestTimeout",
+ "Conflict",
+ "Gone",
+ "LengthRequired",
+ "PreconditionFailed",
+ "RequestEntityTooLarge",
+ "RequestUriTooLong",
+ "UnsupportedMediaType",
+ "RequestedRangeNotSatisfiable",
+ "ExpectationFailed",
+ "UpgradeRequired",
+ "InternalServerError",
+ "NotImplemented",
+ "BadGateway",
+ "ServiceUnavailable",
+ "GatewayTimeout",
+ "HttpVersionNotSupported"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HttpStatusCode",
+ "modelAsString": false
+ }
+ },
+ "headers": {
+ "description": "HTTP headers associated with this operation.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "PointInTimeRange": {
+ "description": "Provides details for log ranges",
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "format": "date-time",
+ "description": "Start time of the time range for log recovery.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "End time of the time range for log recovery.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectedItem": {
+ "description": "Base class for backup items.",
+ "required": [
+ "protectedItemType"
+ ],
+ "type": "object",
+ "properties": {
+ "protectedItemType": {
+ "description": "backup item type.",
+ "type": "string"
+ },
+ "backupManagementType": {
+ "description": "Type of backup management for the backed up item.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "workloadType": {
+ "description": "Type of workload this item represents.",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase",
+ "SAPHanaDBInstance"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataSourceType",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "containerName": {
+ "description": "Unique name of container",
+ "type": "string"
+ },
+ "sourceResourceId": {
+ "description": "ARM ID of the resource to be backed up.",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "ID of the backup policy with which this item is backed up.",
+ "type": "string"
+ },
+ "lastRecoveryPoint": {
+ "format": "date-time",
+ "description": "Timestamp when the last (latest) backup copy was created for this backup item.",
+ "type": "string"
+ },
+ "backupSetName": {
+ "description": "Name of the backup set the backup item belongs to",
+ "type": "string"
+ },
+ "createMode": {
+ "description": "Create mode to indicate recovery of existing soft deleted data source or creation of new data source.",
+ "enum": [
+ "Invalid",
+ "Default",
+ "Recover"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CreateMode",
+ "modelAsString": true
+ }
+ },
+ "deferredDeleteTimeInUTC": {
+ "format": "date-time",
+ "description": "Time for deferred deletion in UTC",
+ "type": "string"
+ },
+ "isScheduledForDeferredDelete": {
+ "description": "Flag to identify whether the DS is scheduled for deferred delete",
+ "type": "boolean"
+ },
+ "deferredDeleteTimeRemaining": {
+ "description": "Time remaining before the DS marked for deferred delete is permanently deleted",
+ "type": "string"
+ },
+ "isDeferredDeleteScheduleUpcoming": {
+ "description": "Flag to identify whether the deferred deleted DS is to be purged soon",
+ "type": "boolean"
+ },
+ "isRehydrate": {
+ "description": "Flag to identify that deferred deleted DS is to be moved into Pause state",
+ "type": "boolean"
+ },
+ "resourceGuardOperationRequests": {
+ "description": "ResourceGuardOperationRequests on which LAC check will be performed",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isArchiveEnabled": {
+ "description": "Flag to identify whether datasource is protected in archive",
+ "type": "boolean"
+ },
+ "policyName": {
+ "description": "Name of the policy used for protection",
+ "type": "string"
+ },
+ "softDeleteRetentionPeriodInDays": {
+ "format": "int32",
+ "description": "Soft delete retention period in days",
+ "type": "integer"
+ },
+ "vaultId": {
+ "description": "ID of the vault which protects this item",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "protectedItemType"
+ },
+ "ProtectedItemQueryObject": {
+ "description": "Filters to list backup items.",
+ "type": "object",
+ "properties": {
+ "healthState": {
+ "description": "Health State for the backed up item.",
+ "enum": [
+ "Passed",
+ "ActionRequired",
+ "ActionSuggested",
+ "Invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthState",
+ "modelAsString": true
+ }
+ },
+ "backupManagementType": {
+ "description": "Backup management type for the backed up item.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "itemType": {
+ "description": "Type of workload this item represents.",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase",
+ "SAPHanaDBInstance"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataSourceType",
+ "modelAsString": true
+ }
+ },
+ "policyName": {
+ "description": "Backup policy name associated with the backup item.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "Name of the container.",
+ "type": "string"
+ },
+ "backupEngineName": {
+ "description": "Backup Engine name",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "Friendly name of protected item",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "Name of the fabric.",
+ "type": "string"
+ },
+ "backupSetName": {
+ "description": "Name of the backup set.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectedItemResource": {
+ "description": "Base class for backup items.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectedItem",
+ "description": "ProtectedItemResource properties"
+ }
+ }
+ },
+ "ProtectedItemResourceList": {
+ "description": "List of ProtectedItem resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectedItemResource"
+ }
+ }
+ }
+ },
+ "ProtectionPolicy": {
+ "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.",
+ "required": [
+ "backupManagementType"
+ ],
+ "type": "object",
+ "properties": {
+ "protectedItemsCount": {
+ "format": "int32",
+ "description": "Number of items associated with this policy.",
+ "type": "integer"
+ },
+ "backupManagementType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ },
+ "resourceGuardOperationRequests": {
+ "description": "ResourceGuard Operation Requests",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "discriminator": "backupManagementType"
+ },
+ "ProtectionPolicyQueryObject": {
+ "description": "Filters the list backup policies API.",
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Backup management type for the backup policy.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "fabricName": {
+ "description": "Fabric name for filter",
+ "type": "string"
+ },
+ "workloadType": {
+ "description": "Workload type for the backup policy.",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase",
+ "SAPHanaDBInstance"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ProtectionPolicyResource": {
+ "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectionPolicy",
+ "description": "ProtectionPolicyResource properties"
+ }
+ }
+ },
+ "ProtectionPolicyResourceList": {
+ "description": "List of ProtectionPolicy resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectionPolicyResource"
+ }
+ }
+ }
+ },
+ "RecoveryPoint": {
+ "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "RecoveryPointDiskConfiguration": {
+ "description": "Disk configuration",
+ "type": "object",
+ "properties": {
+ "numberOfDisksIncludedInBackup": {
+ "format": "int32",
+ "description": "Number of disks included in backup",
+ "type": "integer"
+ },
+ "numberOfDisksAttachedToVm": {
+ "format": "int32",
+ "description": "Number of disks attached to the VM",
+ "type": "integer"
+ },
+ "includedDiskList": {
+ "description": "Information of disks included in backup",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskInformation"
+ },
+ "x-ms-identifiers": []
+ },
+ "excludedDiskList": {
+ "description": "Information of disks excluded from backup",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskInformation"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "RecoveryPointResource": {
+ "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryPoint",
+ "description": "RecoveryPointResource properties"
+ }
+ }
+ },
+ "RecoveryPointResourceList": {
+ "description": "List of RecoveryPoint resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPointResource"
+ }
+ }
+ }
+ },
+ "RecoveryPointTierInformation": {
+ "description": "Recovery point tier information.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Recovery point tier type.",
+ "enum": [
+ "Invalid",
+ "InstantRP",
+ "HardenedRP",
+ "ArchivedRP"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointTierType",
+ "modelAsString": false
+ }
+ },
+ "status": {
+ "description": "Recovery point tier status.",
+ "enum": [
+ "Invalid",
+ "Valid",
+ "Disabled",
+ "Deleted",
+ "Rehydrated"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointTierStatus",
+ "modelAsString": false
+ }
+ },
+ "extendedInfo": {
+ "description": "Recovery point tier status.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "RecoveryPointTierInformationV2": {
+ "description": "RecoveryPoint Tier Information V2",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPointTierInformation"
+ }
+ ],
+ "properties": {
+ "type": {
+ "description": "Recovery point tier type.",
+ "enum": [
+ "Invalid",
+ "InstantRP",
+ "HardenedRP",
+ "ArchivedRP"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointTierType",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "Recovery point tier status.",
+ "enum": [
+ "Invalid",
+ "Valid",
+ "Disabled",
+ "Deleted",
+ "Rehydrated"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointTierStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Resource": {
+ "description": "ARM Resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Resource Id represents the complete path to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Resource name associated with the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "Resource location.",
+ "type": "string"
+ },
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "eTag": {
+ "description": "Optional ETag.",
+ "type": "string"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ResourceList": {
+ "description": "Base for all lists of resources.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.",
+ "type": "string"
+ }
+ }
+ },
+ "RestoreFileSpecs": {
+ "description": "Restore file specs like file path, type and target folder path info.",
+ "type": "object",
+ "properties": {
+ "path": {
+ "description": "Source File/Folder path",
+ "type": "string"
+ },
+ "fileSpecType": {
+ "description": "Indicates what the Path variable stands for",
+ "type": "string"
+ },
+ "targetFolderPath": {
+ "description": "Destination folder path in target FileShare",
+ "type": "string"
+ }
+ }
+ },
+ "RestoreRequest": {
+ "description": "Base class for restore request. Workload-specific restore requests are derived from this class.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "RestoreRequestResource": {
+ "description": "Base class for restore request. Workload-specific restore requests are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RestoreRequest",
+ "description": "RestoreRequestResource properties"
+ }
+ }
+ },
+ "RetentionDuration": {
+ "description": "Retention duration.",
+ "type": "object",
+ "properties": {
+ "count": {
+ "format": "int32",
+ "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\nFor example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.",
+ "type": "integer"
+ },
+ "durationType": {
+ "description": "Retention duration type of retention policy.",
+ "enum": [
+ "Invalid",
+ "Days",
+ "Weeks",
+ "Months",
+ "Years"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RetentionDurationType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "RetentionPolicy": {
+ "description": "Base class for retention policy.",
+ "required": [
+ "retentionPolicyType"
+ ],
+ "type": "object",
+ "properties": {
+ "retentionPolicyType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "retentionPolicyType"
+ },
+ "SchedulePolicy": {
+ "description": "Base class for backup schedule.",
+ "required": [
+ "schedulePolicyType"
+ ],
+ "type": "object",
+ "properties": {
+ "schedulePolicyType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "schedulePolicyType"
+ },
+ "Settings": {
+ "description": "Common settings field for backup management",
+ "type": "object",
+ "properties": {
+ "timeZone": {
+ "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
+ "type": "string"
+ },
+ "issqlcompression": {
+ "description": "SQL compression flag",
+ "type": "boolean"
+ },
+ "isCompression": {
+ "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\nwill be deprecated once clients upgrade to consider this flag.",
+ "type": "boolean"
+ }
+ }
+ },
+ "SimpleRetentionPolicy": {
+ "description": "Simple policy retention.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RetentionPolicy"
+ }
+ ],
+ "properties": {
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of the protection policy."
+ }
+ },
+ "x-ms-discriminator-value": "SimpleRetentionPolicy"
+ },
+ "SimpleSchedulePolicy": {
+ "description": "Simple policy schedule.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SchedulePolicy"
+ }
+ ],
+ "properties": {
+ "scheduleRunFrequency": {
+ "description": "Frequency of the schedule operation of this policy.",
+ "enum": [
+ "Invalid",
+ "Daily",
+ "Weekly",
+ "Hourly"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ScheduleRunType",
+ "modelAsString": true
+ }
+ },
+ "scheduleRunDays": {
+ "description": "List of days of week this schedule has to be run.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": false
+ }
+ }
+ },
+ "scheduleRunTimes": {
+ "description": "List of times of day this schedule has to be run.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "hourlySchedule": {
+ "$ref": "#/definitions/HourlySchedule",
+ "description": "Hourly Schedule of this Policy"
+ },
+ "scheduleWeeklyFrequency": {
+ "format": "int32",
+ "description": "At every number weeks this schedule has to be run.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "SimpleSchedulePolicy"
+ },
+ "SimpleSchedulePolicyV2": {
+ "description": "The V2 policy schedule for IaaS that supports hourly backups.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SchedulePolicy"
+ }
+ ],
+ "properties": {
+ "scheduleRunFrequency": {
+ "description": "Frequency of the schedule operation of this policy.",
+ "enum": [
+ "Invalid",
+ "Daily",
+ "Weekly",
+ "Hourly"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ScheduleRunType",
+ "modelAsString": true
+ }
+ },
+ "hourlySchedule": {
+ "$ref": "#/definitions/HourlySchedule",
+ "description": "hourly schedule of this policy"
+ },
+ "dailySchedule": {
+ "$ref": "#/definitions/DailySchedule",
+ "description": "Daily schedule of this policy"
+ },
+ "weeklySchedule": {
+ "$ref": "#/definitions/WeeklySchedule",
+ "description": "Weekly schedule of this policy"
+ }
+ },
+ "x-ms-discriminator-value": "SimpleSchedulePolicyV2"
+ },
+ "SubProtectionPolicy": {
+ "description": "Sub-protection policy which includes schedule and retention",
+ "type": "object",
+ "properties": {
+ "policyType": {
+ "description": "Type of backup policy type",
+ "enum": [
+ "Invalid",
+ "Full",
+ "Differential",
+ "Log",
+ "CopyOnlyFull",
+ "Incremental",
+ "SnapshotFull",
+ "SnapshotCopyOnlyFull"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PolicyType",
+ "modelAsString": true
+ }
+ },
+ "schedulePolicy": {
+ "$ref": "#/definitions/SchedulePolicy",
+ "description": "Backup schedule specified as part of backup policy."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy with the details on backup copy retention ranges."
+ },
+ "tieringPolicy": {
+ "description": "Tiering policy to automatically move RPs to another tier.\r\nKey is Target Tier, defined in RecoveryPointTierType enum.\r\nTiering policy specifies the criteria to move RP to the target tier.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/TieringPolicy"
+ }
+ },
+ "snapshotBackupAdditionalDetails": {
+ "$ref": "#/definitions/SnapshotBackupAdditionalDetails"
+ }
+ }
+ },
+ "SnapshotBackupAdditionalDetails": {
+ "description": "Snapshot Backup related fields for WorkloadType SaPHanaSystem",
+ "type": "object",
+ "properties": {
+ "instantRpRetentionRangeInDays": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "instantRPDetails": {
+ "type": "string"
+ },
+ "userAssignedManagedIdentityDetails": {
+ "$ref": "#/definitions/UserAssignedManagedIdentityDetails"
+ }
+ }
+ },
+ "SnapshotRestoreParameters": {
+ "description": "Encapsulates information regarding snapshot recovery for SAP Hana",
+ "type": "object",
+ "properties": {
+ "skipAttachAndMount": {
+ "type": "boolean"
+ },
+ "logPointInTimeForDBRecovery": {
+ "type": "string"
+ }
+ }
+ },
+ "SQLDataDirectory": {
+ "description": "SQLDataDirectory info",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of data directory mapping",
+ "enum": [
+ "Invalid",
+ "Data",
+ "Log"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SQLDataDirectoryType",
+ "modelAsString": true
+ }
+ },
+ "path": {
+ "description": "File path",
+ "type": "string"
+ },
+ "logicalName": {
+ "description": "Logical name of the file",
+ "type": "string"
+ }
+ }
+ },
+ "SQLDataDirectoryMapping": {
+ "description": "Encapsulates information regarding data directory",
+ "type": "object",
+ "properties": {
+ "mappingType": {
+ "description": "Type of data directory mapping",
+ "enum": [
+ "Invalid",
+ "Data",
+ "Log"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SQLDataDirectoryType",
+ "modelAsString": true
+ }
+ },
+ "sourceLogicalName": {
+ "description": "Restore source logical name path",
+ "type": "string"
+ },
+ "sourcePath": {
+ "description": "Restore source path",
+ "type": "string"
+ },
+ "targetPath": {
+ "description": "Target path",
+ "type": "string"
+ }
+ }
+ },
+ "TargetAFSRestoreInfo": {
+ "description": "Target Azure File Share Info.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "File share name",
+ "type": "string"
+ },
+ "targetResourceId": {
+ "description": "Target file share resource ARM ID",
+ "type": "string"
+ }
+ }
+ },
+ "TargetRestoreInfo": {
+ "description": "Details about target workload during restore operation.",
+ "type": "object",
+ "properties": {
+ "overwriteOption": {
+ "description": "Can Overwrite if Target DataBase already exists",
+ "enum": [
+ "Invalid",
+ "FailOnConflict",
+ "Overwrite"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OverwriteOptions",
+ "modelAsString": true
+ }
+ },
+ "containerId": {
+ "description": "Resource Id name of the container in which Target DataBase resides",
+ "type": "string"
+ },
+ "databaseName": {
+ "description": "Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana",
+ "type": "string"
+ },
+ "targetDirectoryForFileRestore": {
+ "description": "Target directory location for restore as files.",
+ "type": "string"
+ }
+ }
+ },
+ "UserAssignedManagedIdentityDetails": {
+ "type": "object",
+ "properties": {
+ "identityArmId": {
+ "type": "string"
+ },
+ "identityName": {
+ "type": "string"
+ },
+ "userAssignedIdentityProperties": {
+ "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/UserAssignedIdentity"
+ }
+ }
+ },
+ "ValidateIaasVMRestoreOperationRequest": {
+ "description": "AzureRestoreValidation request.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidateRestoreOperationRequest"
+ }
+ ],
+ "x-ms-discriminator-value": "ValidateIaasVMRestoreOperationRequest"
+ },
+ "ValidateOperationRequest": {
+ "description": "Base class for validate operation request.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "ValidateOperationRequestResource": {
+ "description": "Base class for validate operation request.",
+ "required": [
+ "id",
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Recovery point ID.",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/ValidateOperationRequest",
+ "description": "ValidateOperationRequestResource properties"
+ }
+ }
+ },
+ "ValidateOperationResponse": {
+ "description": "Base class for validate operation response.",
+ "type": "object",
+ "properties": {
+ "validationResults": {
+ "description": "Gets the validation result",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetail"
+ },
+ "x-ms-identifiers": [
+ "code"
+ ]
+ }
+ }
+ },
+ "ValidateOperationsResponse": {
+ "type": "object",
+ "properties": {
+ "validateOperationResponse": {
+ "$ref": "#/definitions/ValidateOperationResponse"
+ }
+ }
+ },
+ "ValidateRestoreOperationRequest": {
+ "description": "AzureRestoreValidation request.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidateOperationRequest"
+ }
+ ],
+ "properties": {
+ "restoreRequest": {
+ "$ref": "#/definitions/RestoreRequest",
+ "description": "Sets restore request to be validated"
+ }
+ },
+ "x-ms-discriminator-value": "ValidateRestoreOperationRequest"
+ },
+ "VaultRetentionPolicy": {
+ "description": "Vault retention policy for AzureFileShare",
+ "required": [
+ "vaultRetention",
+ "snapshotRetentionInDays"
+ ],
+ "type": "object",
+ "properties": {
+ "vaultRetention": {
+ "$ref": "#/definitions/RetentionPolicy"
+ },
+ "snapshotRetentionInDays": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "WeeklyRetentionFormat": {
+ "description": "Weekly retention format.",
+ "type": "object",
+ "properties": {
+ "daysOfTheWeek": {
+ "description": "List of days of the week.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": false
+ }
+ }
+ },
+ "weeksOfTheMonth": {
+ "description": "List of weeks of month.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "First",
+ "Second",
+ "Third",
+ "Fourth",
+ "Last",
+ "Invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WeekOfMonth",
+ "modelAsString": false
+ }
+ }
+ }
+ }
+ },
+ "WeeklyRetentionSchedule": {
+ "description": "Weekly retention schedule.",
+ "type": "object",
+ "properties": {
+ "daysOfTheWeek": {
+ "description": "List of days of week for weekly retention policy.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": false
+ }
+ }
+ },
+ "retentionTimes": {
+ "description": "Retention times of retention policy.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of retention Policy."
+ }
+ }
+ },
+ "BackupResourceVaultConfigResource": {
+ "description": "Backup resource vault config details.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupResourceVaultConfig",
+ "description": "BackupResourceVaultConfigResource properties"
+ }
+ }
+ },
+ "BackupResourceVaultConfig": {
+ "description": "Backup resource vault config details.",
+ "type": "object",
+ "properties": {
+ "storageModelType": {
+ "description": "Storage type.",
+ "enum": [
+ "Invalid",
+ "GeoRedundant",
+ "LocallyRedundant",
+ "ZoneRedundant",
+ "ReadAccessGeoZoneRedundant"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageType",
+ "modelAsString": true
+ }
+ },
+ "storageType": {
+ "description": "Storage type.",
+ "enum": [
+ "Invalid",
+ "GeoRedundant",
+ "LocallyRedundant",
+ "ZoneRedundant",
+ "ReadAccessGeoZoneRedundant"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageType",
+ "modelAsString": true
+ }
+ },
+ "storageTypeState": {
+ "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.",
+ "enum": [
+ "Invalid",
+ "Locked",
+ "Unlocked"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageTypeState",
+ "modelAsString": true
+ }
+ },
+ "enhancedSecurityState": {
+ "description": "Enabled or Disabled.",
+ "enum": [
+ "Invalid",
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EnhancedSecurityState",
+ "modelAsString": true
+ }
+ },
+ "softDeleteFeatureState": {
+ "description": "Soft Delete feature state",
+ "enum": [
+ "Invalid",
+ "Enabled",
+ "Disabled",
+ "AlwaysON"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SoftDeleteFeatureState",
+ "modelAsString": true
+ }
+ },
+ "softDeleteRetentionPeriodInDays": {
+ "format": "int32",
+ "description": "Soft delete retention period in days",
+ "type": "integer"
+ },
+ "resourceGuardOperationRequests": {
+ "description": "ResourceGuard Operation Requests",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isSoftDeleteFeatureStateEditable": {
+ "description": "This flag is no longer in use. Please use 'softDeleteFeatureState' to set the soft delete state for the vault",
+ "type": "boolean"
+ }
+ }
+ },
+ "YearlyRetentionSchedule": {
+ "description": "Yearly retention schedule.",
+ "type": "object",
+ "properties": {
+ "retentionScheduleFormatType": {
+ "description": "Retention schedule format for yearly retention policy.",
+ "enum": [
+ "Invalid",
+ "Daily",
+ "Weekly"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RetentionScheduleFormat",
+ "modelAsString": true
+ }
+ },
+ "monthsOfYear": {
+ "description": "List of months of year of yearly retention policy.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MonthOfYear",
+ "modelAsString": false
+ }
+ }
+ },
+ "retentionScheduleDaily": {
+ "$ref": "#/definitions/DailyRetentionFormat",
+ "description": "Daily retention format for yearly retention policy."
+ },
+ "retentionScheduleWeekly": {
+ "$ref": "#/definitions/WeeklyRetentionFormat",
+ "description": "Weekly retention format for yearly retention policy."
+ },
+ "retentionTimes": {
+ "description": "Retention times of retention policy.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of retention Policy."
+ }
+ }
+ },
+ "VaultJob": {
+ "description": "Vault level Job",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed during the execution of this job.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "Gets or sets the state/actions applicable on this job like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "errorDetails": {
+ "description": "Error details on execution of this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VaultJobErrorInfo"
+ },
+ "x-ms-identifiers": [
+ "errorCode"
+ ]
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/VaultJobExtendedInfo",
+ "description": "Additional information about the job."
+ }
+ },
+ "x-ms-discriminator-value": "VaultJob"
+ },
+ "VaultJobErrorInfo": {
+ "description": "Vault Job specific error information",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "format": "int32",
+ "description": "Error code.",
+ "type": "integer"
+ },
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "List of localized recommendations for above error code.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "VaultJobExtendedInfo": {
+ "description": "Vault Job for CMK - has CMK specific info.",
+ "type": "object",
+ "properties": {
+ "propertyBag": {
+ "description": "Job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "AzureBackupServerContainer": {
+ "description": "AzureBackupServer (DPMVenus) workload-specific protection container.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DpmContainer"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureBackupServerContainer"
+ },
+ "AzureBackupServerEngine": {
+ "description": "Backup engine type when Azure Backup Server is used to manage the backups.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupEngineBase"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureBackupServerEngine"
+ },
+ "AzureFileShareBackupRequest": {
+ "description": "AzureFileShare workload-specific backup request.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointExpiryTimeInUTC": {
+ "format": "date-time",
+ "description": "Backup copy will expire after the time specified (UTC).",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileShareBackupRequest"
+ },
+ "AzureFileShareProtectableItem": {
+ "description": "Protectable item for Azure Fileshare workloads.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/WorkloadProtectableItem"
+ }
+ ],
+ "properties": {
+ "parentContainerFabricId": {
+ "description": "Full Fabric ID of container to which this protectable item belongs. For example, ARM ID.",
+ "type": "string"
+ },
+ "parentContainerFriendlyName": {
+ "description": "Friendly name of container to which this protectable item belongs.",
+ "type": "string"
+ },
+ "azureFileShareType": {
+ "description": "File Share type XSync or XSMB.",
+ "enum": [
+ "Invalid",
+ "XSMB",
+ "XSync"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AzureFileShareType",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileShare"
+ },
+ "AzureFileShareProvisionILRRequest": {
+ "description": "Update snapshot Uri with the correct friendly Name of the source Azure file share.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ILRRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointId": {
+ "description": "Recovery point ID.",
+ "type": "string"
+ },
+ "sourceResourceId": {
+ "description": "Source Storage account ARM Id",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileShareProvisionILRRequest"
+ },
+ "AzureIaaSClassicComputeVMContainer": {
+ "description": "IaaS VM workload-specific backup item representing a classic virtual machine.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/IaaSVMContainer"
+ }
+ ],
+ "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines"
+ },
+ "AzureIaaSClassicComputeVMProtectableItem": {
+ "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/IaaSVMProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines"
+ },
+ "AzureIaaSComputeVMContainer": {
+ "description": "IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/IaaSVMContainer"
+ }
+ ],
+ "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
+ },
+ "AzureIaaSComputeVMProtectableItem": {
+ "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/IaaSVMProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
+ },
+ "AzureSQLAGWorkloadContainerProtectionContainer": {
+ "description": "Container for SQL workloads under SQL Availability Group.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadContainer"
+ }
+ ],
+ "x-ms-discriminator-value": "SQLAGWorkLoadContainer"
+ },
+ "AzureSqlContainer": {
+ "description": "Azure Sql workload-specific container.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureSqlContainer"
+ },
+ "AzureStorageContainer": {
+ "description": "Azure Storage Account workload-specific container.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ ],
+ "properties": {
+ "sourceResourceId": {
+ "description": "Fully qualified ARM url.",
+ "type": "string"
+ },
+ "storageAccountVersion": {
+ "description": "Storage account version.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Resource group name of Recovery Services Vault.",
+ "type": "string"
+ },
+ "protectedItemCount": {
+ "format": "int64",
+ "description": "Number of items backed up in this container.",
+ "type": "integer"
+ },
+ "acquireStorageAccountLock": {
+ "description": "Whether storage account lock is to be acquired for this container or not.",
+ "enum": [
+ "Acquire",
+ "NotAcquire"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AcquireStorageAccountLock",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "StorageContainer"
+ },
+ "AzureStorageProtectableContainer": {
+ "description": "Azure Storage-specific protectable containers",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectableContainer"
+ }
+ ],
+ "x-ms-discriminator-value": "StorageContainer"
+ },
+ "AzureVMAppContainerProtectableContainer": {
+ "description": "Azure workload-specific container",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectableContainer"
+ }
+ ],
+ "x-ms-discriminator-value": "VMAppContainer"
+ },
+ "AzureVMAppContainerProtectionContainer": {
+ "description": "Container for SQL workloads under Azure Virtual Machines.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadContainer"
+ }
+ ],
+ "x-ms-discriminator-value": "VMAppContainer"
+ },
+ "AzureVmWorkloadItem": {
+ "description": "Azure VM workload-specific workload item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/WorkloadItem"
+ }
+ ],
+ "properties": {
+ "parentName": {
+ "description": "Name for instance or AG",
+ "type": "string"
+ },
+ "serverName": {
+ "description": "Host/Cluster Name for instance or AG",
+ "type": "string"
+ },
+ "isAutoProtectable": {
+ "description": "Indicates if workload item is auto-protectable",
+ "type": "boolean"
+ },
+ "subinquireditemcount": {
+ "format": "int32",
+ "description": "For instance or AG, indicates number of DB's present",
+ "type": "integer"
+ },
+ "subWorkloadItemCount": {
+ "format": "int32",
+ "description": "For instance or AG, indicates number of DB's to be protected",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "AzureVmWorkloadItem"
+ },
+ "AzureVmWorkloadProtectableItem": {
+ "description": "Azure VM workload-specific protectable item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/WorkloadProtectableItem"
+ }
+ ],
+ "properties": {
+ "parentName": {
+ "description": "Name for instance or AG",
+ "type": "string"
+ },
+ "parentUniqueName": {
+ "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\r\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG.",
+ "type": "string"
+ },
+ "serverName": {
+ "description": "Host/Cluster Name for instance or AG",
+ "type": "string"
+ },
+ "isAutoProtectable": {
+ "description": "Indicates if protectable item is auto-protectable",
+ "type": "boolean"
+ },
+ "isAutoProtected": {
+ "description": "Indicates if protectable item is auto-protected",
+ "type": "boolean"
+ },
+ "subinquireditemcount": {
+ "format": "int32",
+ "description": "For instance or AG, indicates number of DB's present",
+ "type": "integer"
+ },
+ "subprotectableitemcount": {
+ "format": "int32",
+ "description": "For instance or AG, indicates number of DB's to be protected",
+ "type": "integer"
+ },
+ "prebackupvalidation": {
+ "$ref": "#/definitions/PreBackupValidation",
+ "description": "Pre-backup validation for protectable objects"
+ },
+ "isProtectable": {
+ "description": "Indicates if item is protectable",
+ "type": "boolean"
+ }
+ },
+ "x-ms-discriminator-value": "AzureVmWorkloadProtectableItem"
+ },
+ "AzureVmWorkloadSAPAseDatabaseWorkloadItem": {
+ "description": "Azure VM workload-specific workload item representing SAP ASE Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SAPAseDatabase"
+ },
+ "AzureVmWorkloadSAPAseSystemProtectableItem": {
+ "description": "Azure VM workload-specific protectable item representing SAP ASE System.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SAPAseSystem"
+ },
+ "AzureVmWorkloadSAPAseSystemWorkloadItem": {
+ "description": "Azure VM workload-specific workload item representing SAP ASE System.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SAPAseSystem"
+ },
+ "AzureVmWorkloadSAPHanaDatabaseProtectableItem": {
+ "description": "Azure VM workload-specific protectable item representing SAP HANA Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SAPHanaDatabase"
+ },
+ "AzureVmWorkloadSAPHanaDatabaseWorkloadItem": {
+ "description": "Azure VM workload-specific workload item representing SAP HANA Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SAPHanaDatabase"
+ },
+ "AzureVmWorkloadSAPHanaSystemProtectableItem": {
+ "description": "Azure VM workload-specific protectable item representing SAP HANA System.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SAPHanaSystem"
+ },
+ "AzureVmWorkloadSAPHanaDBInstance": {
+ "description": "Azure VM workload-specific protectable item representing SAP HANA Dbinstance.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SAPHanaDBInstance"
+ },
+ "AzureVmWorkloadSAPHanaHSRProtectableItem": {
+ "description": "Azure VM workload-specific protectable item representing HANA HSR.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "HanaHSRContainer"
+ },
+ "AzureVmWorkloadSAPHanaSystemWorkloadItem": {
+ "description": "Azure VM workload-specific workload item representing SAP HANA System.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SAPHanaSystem"
+ },
+ "AzureVmWorkloadSQLAvailabilityGroupProtectableItem": {
+ "description": "Azure VM workload-specific protectable item representing SQL Availability Group.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectableItem"
+ }
+ ],
+ "properties": {
+ "nodesList": {
+ "description": "List of the nodes in case of distributed container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DistributedNodesInfo"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "x-ms-discriminator-value": "SQLAvailabilityGroupContainer"
+ },
+ "AzureVmWorkloadSQLDatabaseProtectableItem": {
+ "description": "Azure VM workload-specific protectable item representing SQL Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SQLDataBase"
+ },
+ "AzureVmWorkloadSQLDatabaseWorkloadItem": {
+ "description": "Azure VM workload-specific workload item representing SQL Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SQLDataBase"
+ },
+ "AzureVmWorkloadSQLInstanceProtectableItem": {
+ "description": "Azure VM workload-specific protectable item representing SQL Instance.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SQLInstance"
+ },
+ "AzureVmWorkloadSQLInstanceWorkloadItem": {
+ "description": "Azure VM workload-specific workload item representing SQL Instance.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadItem"
+ }
+ ],
+ "properties": {
+ "dataDirectoryPaths": {
+ "description": "Data Directory Paths for default directories",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SQLDataDirectory"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "x-ms-discriminator-value": "SQLInstance"
+ },
+ "AzureWorkloadBackupRequest": {
+ "description": "AzureWorkload workload-specific backup request.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupRequest"
+ }
+ ],
+ "properties": {
+ "backupType": {
+ "description": "Type of backup, viz. Full, Differential, Log or CopyOnlyFull",
+ "enum": [
+ "Invalid",
+ "Full",
+ "Differential",
+ "Log",
+ "CopyOnlyFull",
+ "Incremental",
+ "SnapshotFull",
+ "SnapshotCopyOnlyFull"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "backupType",
+ "modelAsString": true
+ }
+ },
+ "enableCompression": {
+ "description": "Bool for Compression setting",
+ "type": "boolean"
+ },
+ "recoveryPointExpiryTimeInUTC": {
+ "format": "date-time",
+ "description": "Backup copy will expire after the time specified (UTC).",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadBackupRequest"
+ },
+ "AzureBackupGoalFeatureSupportRequest": {
+ "description": "Azure backup goal feature specific request.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FeatureSupportRequest"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureBackupGoals"
+ },
+ "AzureRecoveryServiceVaultProtectionIntent": {
+ "description": "Azure Recovery Services Vault specific protection intent item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionIntent"
+ }
+ ],
+ "x-ms-discriminator-value": "RecoveryServiceVaultItem"
+ },
+ "AzureResourceProtectionIntent": {
+ "description": "IaaS VM specific backup protection intent item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionIntent"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the VM represented by this backup item.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureResourceItem"
+ },
+ "AzureVMResourceFeatureSupportRequest": {
+ "description": "AzureResource(IaaS VM) Specific feature support request",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FeatureSupportRequest"
+ }
+ ],
+ "properties": {
+ "vmSize": {
+ "description": "Size of the resource: VM size(A/D series etc) in case of IaasVM",
+ "type": "string"
+ },
+ "vmSku": {
+ "description": "SKUs (Premium/Managed etc) in case of IaasVM",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureVMResourceBackup"
+ },
+ "AzureVMResourceFeatureSupportResponse": {
+ "description": "Response for feature support requests for Azure IaasVm",
+ "type": "object",
+ "properties": {
+ "supportStatus": {
+ "description": "Support status of feature",
+ "enum": [
+ "Invalid",
+ "Supported",
+ "DefaultOFF",
+ "DefaultON",
+ "NotSupported"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SupportStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "AzureWorkloadContainerAutoProtectionIntent": {
+ "description": "Azure workload specific protection intent item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionIntent"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureWorkloadContainerAutoProtectionIntent"
+ },
+ "AzureWorkloadAutoProtectionIntent": {
+ "description": "Azure Recovery Services Vault specific protection intent item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureRecoveryServiceVaultProtectionIntent"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureWorkloadAutoProtectionIntent"
+ },
+ "AzureWorkloadSQLAutoProtectionIntent": {
+ "description": "Azure Workload SQL Auto Protection intent item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadAutoProtectionIntent"
+ }
+ ],
+ "properties": {
+ "workloadItemType": {
+ "description": "Workload item type of the item for which intent is to be set",
+ "enum": [
+ "Invalid",
+ "SQLInstance",
+ "SQLDataBase",
+ "SAPHanaSystem",
+ "SAPHanaDatabase",
+ "SAPAseSystem",
+ "SAPAseDatabase",
+ "SAPHanaDBInstance"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadItemType",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLAutoProtectionIntent"
+ },
+ "BackupManagementUsage": {
+ "description": "Backup management usages of a vault.",
+ "type": "object",
+ "properties": {
+ "unit": {
+ "description": "Unit of the usage.",
+ "enum": [
+ "Count",
+ "Bytes",
+ "Seconds",
+ "Percent",
+ "CountPerSecond",
+ "BytesPerSecond"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "UsagesUnit",
+ "modelAsString": true
+ }
+ },
+ "quotaPeriod": {
+ "description": "Quota period of usage.",
+ "type": "string"
+ },
+ "nextResetTime": {
+ "format": "date-time",
+ "description": "Next reset time of usage.",
+ "type": "string"
+ },
+ "currentValue": {
+ "format": "int64",
+ "description": "Current value of usage.",
+ "type": "integer"
+ },
+ "limit": {
+ "format": "int64",
+ "description": "Limit of usage.",
+ "type": "integer"
+ },
+ "name": {
+ "$ref": "#/definitions/NameInfo",
+ "description": "Name of usage."
+ }
+ }
+ },
+ "BackupManagementUsageList": {
+ "description": "Backup management usage for vault.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of backup management usages for the given vault.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BackupManagementUsage"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "BackupStatusRequest": {
+ "description": "BackupStatus request.",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "Container Type - VM, SQLPaaS, DPM, AzureFileShare...",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase",
+ "SAPHanaDBInstance"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataSourceType",
+ "modelAsString": true
+ }
+ },
+ "resourceId": {
+ "description": "Entire ARM resource id of the resource",
+ "type": "string"
+ },
+ "poLogicalName": {
+ "description": "Protectable Item Logical Name",
+ "type": "string"
+ }
+ }
+ },
+ "BackupStatusResponse": {
+ "description": "BackupStatus response.",
+ "type": "object",
+ "properties": {
+ "protectionStatus": {
+ "description": "Specifies whether the container is registered or not",
+ "enum": [
+ "Invalid",
+ "NotProtected",
+ "Protecting",
+ "Protected",
+ "ProtectionFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionStatus",
+ "modelAsString": true
+ }
+ },
+ "vaultId": {
+ "description": "Specifies the arm resource id of the vault",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "Specifies the fabric name - Azure or AD",
+ "enum": [
+ "Invalid",
+ "Azure"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "FabricName",
+ "modelAsString": true
+ }
+ },
+ "containerName": {
+ "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;csname;vmname.",
+ "type": "string"
+ },
+ "protectedItemName": {
+ "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;csname;vmname.",
+ "type": "string"
+ },
+ "errorCode": {
+ "description": "ErrorCode in case of intent failed",
+ "type": "string"
+ },
+ "errorMessage": {
+ "description": "ErrorMessage in case of intent failed.",
+ "type": "string"
+ },
+ "policyName": {
+ "description": "Specifies the policy name which is used for protection",
+ "type": "string"
+ },
+ "registrationStatus": {
+ "description": "Container registration status",
+ "type": "string"
+ },
+ "protectedItemsCount": {
+ "format": "int32",
+ "description": "Number of protected items",
+ "type": "integer"
+ },
+ "acquireStorageAccountLock": {
+ "description": "Specifies whether the storage account lock has been acquired or not",
+ "enum": [
+ "Acquire",
+ "NotAcquire"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AcquireStorageAccountLock",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "BMSBackupSummariesQueryObject": {
+ "description": "Query parameters to fetch backup summaries.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Backup management type for this container.",
+ "enum": [
+ "Invalid",
+ "BackupProtectedItemCountSummary",
+ "BackupProtectionContainerCountSummary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "FeatureSupportRequest": {
+ "description": "Base class for feature request",
+ "required": [
+ "featureType"
+ ],
+ "type": "object",
+ "properties": {
+ "featureType": {
+ "description": "backup support feature type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "featureType"
+ },
+ "NameInfo": {
+ "description": "The name of usage.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Value of usage.",
+ "type": "string"
+ },
+ "localizedValue": {
+ "description": "Localized value of usage.",
+ "type": "string"
+ }
+ }
+ },
+ "PreValidateEnableBackupRequest": {
+ "description": "Contract to validate if backup can be enabled on the given resource in a given vault and given configuration.\r\nIt will validate followings\r\n1. Vault capacity\r\n2. VM is already protected\r\n3. Any VM related configuration passed in properties.",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "ProtectedItem Type- VM, SqlDataBase, AzureFileShare etc",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase",
+ "SAPHanaDBInstance"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataSourceType",
+ "modelAsString": true
+ }
+ },
+ "resourceId": {
+ "description": "ARM Virtual Machine Id",
+ "type": "string"
+ },
+ "vaultId": {
+ "description": "ARM id of the Recovery Services Vault",
+ "type": "string"
+ },
+ "properties": {
+ "description": "Configuration of VM if any needs to be validated like OS type etc",
+ "type": "string"
+ }
+ }
+ },
+ "PreValidateEnableBackupResponse": {
+ "description": "Response contract for enable backup validation request",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Validation Status",
+ "enum": [
+ "Invalid",
+ "Succeeded",
+ "Failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsString": true
+ }
+ },
+ "errorCode": {
+ "description": "Response error code",
+ "type": "string"
+ },
+ "errorMessage": {
+ "description": "Response error message",
+ "type": "string"
+ },
+ "recommendation": {
+ "description": "Recommended action for user",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;rgname;vmname. This is required\r\nfor portal",
+ "type": "string"
+ },
+ "protectedItemName": {
+ "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;rgname;vmname. This is required for portal",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectionIntent": {
+ "description": "Base class for backup ProtectionIntent.",
+ "required": [
+ "protectionIntentItemType"
+ ],
+ "type": "object",
+ "properties": {
+ "protectionIntentItemType": {
+ "description": "backup protectionIntent type.",
+ "enum": [
+ "Invalid",
+ "AzureResourceItem",
+ "RecoveryServiceVaultItem",
+ "AzureWorkloadContainerAutoProtectionIntent",
+ "AzureWorkloadAutoProtectionIntent",
+ "AzureWorkloadSQLAutoProtectionIntent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionIntentItemType",
+ "modelAsString": true
+ }
+ },
+ "backupManagementType": {
+ "description": "Type of backup management for the backed up item.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "sourceResourceId": {
+ "description": "ARM ID of the resource to be backed up.",
+ "type": "string"
+ },
+ "itemId": {
+ "description": "ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "ID of the backup policy with which this item is backed up.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "NotProtected",
+ "Protecting",
+ "Protected",
+ "ProtectionFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "protectionIntentItemType"
+ },
+ "ProtectionIntentQueryObject": {
+ "description": "Filters to list protection intent.",
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Backup management type for the backed up item",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "itemType": {
+ "description": "Type of workload this item represents",
+ "enum": [
+ "Invalid",
+ "SQLInstance",
+ "SQLAvailabilityGroupContainer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IntentItemType",
+ "modelAsString": true
+ }
+ },
+ "parentName": {
+ "description": "Parent name of the intent",
+ "type": "string"
+ },
+ "itemName": {
+ "description": "Item name of the intent",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectionIntentResource": {
+ "description": "Base class for backup ProtectionIntent.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectionIntent",
+ "description": "ProtectionIntentResource properties"
+ }
+ }
+ },
+ "ProtectionIntentResourceList": {
+ "description": "List of ProtectionIntent resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectionIntentResource"
+ }
+ }
+ }
+ },
+ "AzureWorkloadContainer": {
+ "description": "Container for the workloads running inside Azure Compute or Classic Compute.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ ],
+ "properties": {
+ "sourceResourceId": {
+ "description": "ARM ID of the virtual machine represented by this Azure Workload Container",
+ "type": "string"
+ },
+ "lastUpdatedTime": {
+ "format": "date-time",
+ "description": "Time stamp when this container was updated.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureWorkloadContainerExtendedInfo",
+ "description": "Additional details of a workload container."
+ },
+ "workloadType": {
+ "description": "Workload type for which registration was sent.",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase",
+ "SAPHanaDBInstance"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadType",
+ "modelAsString": true
+ }
+ },
+ "operationType": {
+ "description": "Re-Do Operation",
+ "enum": [
+ "Invalid",
+ "Register",
+ "Reregister"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OperationType",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadContainer"
+ },
+ "AzureWorkloadContainerExtendedInfo": {
+ "description": "Extended information of the container.",
+ "type": "object",
+ "properties": {
+ "hostServerName": {
+ "description": "Host Os Name in case of Stand Alone and Cluster Name in case of distributed container.",
+ "type": "string"
+ },
+ "inquiryInfo": {
+ "$ref": "#/definitions/InquiryInfo",
+ "description": "Inquiry Status for the container."
+ },
+ "nodesList": {
+ "description": "List of the nodes in case of distributed container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DistributedNodesInfo"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "BackupEngineBase": {
+ "description": "The base backup engine class. All workload specific backup engines derive from this class.",
+ "type": "object",
+ "required": [
+ "backupEngineType"
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the backup engine.",
+ "type": "string"
+ },
+ "backupManagementType": {
+ "description": "Type of backup management for the backup engine.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "registrationStatus": {
+ "description": "Registration status of the backup engine with the Recovery Services Vault.",
+ "type": "string"
+ },
+ "backupEngineState": {
+ "description": "Status of the backup engine with the Recovery Services Vault. = {Active/Deleting/DeleteFailed}",
+ "type": "string"
+ },
+ "healthStatus": {
+ "description": "Backup status of the backup engine.",
+ "type": "string"
+ },
+ "backupEngineType": {
+ "description": "Type of the backup engine.",
+ "enum": [
+ "Invalid",
+ "DpmBackupEngine",
+ "AzureBackupServerEngine"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupEngineType",
+ "modelAsString": true
+ }
+ },
+ "canReRegister": {
+ "description": "Flag indicating if the backup engine be registered, once already registered.",
+ "type": "boolean"
+ },
+ "backupEngineId": {
+ "description": "ID of the backup engine.",
+ "type": "string"
+ },
+ "dpmVersion": {
+ "description": "Backup engine version",
+ "type": "string"
+ },
+ "azureBackupAgentVersion": {
+ "description": "Backup agent version",
+ "type": "string"
+ },
+ "isAzureBackupAgentUpgradeAvailable": {
+ "description": "To check if backup agent upgrade available",
+ "type": "boolean"
+ },
+ "isDpmUpgradeAvailable": {
+ "description": "To check if backup engine upgrade available",
+ "type": "boolean"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/BackupEngineExtendedInfo",
+ "description": "Extended info of the backupengine"
+ }
+ },
+ "discriminator": "backupEngineType"
+ },
+ "BackupEngineBaseResource": {
+ "description": "The base backup engine class. All workload specific backup engines derive from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupEngineBase",
+ "description": "BackupEngineBaseResource properties"
+ }
+ }
+ },
+ "BackupEngineBaseResourceList": {
+ "description": "List of BackupEngineBase resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BackupEngineBaseResource"
+ }
+ }
+ }
+ },
+ "BackupEngineExtendedInfo": {
+ "description": "Additional information on backup engine.",
+ "type": "object",
+ "properties": {
+ "databaseName": {
+ "description": "Database name of backup engine.",
+ "type": "string"
+ },
+ "protectedItemsCount": {
+ "format": "int32",
+ "description": "Number of protected items in the backup engine.",
+ "type": "integer"
+ },
+ "protectedServersCount": {
+ "format": "int32",
+ "description": "Number of protected servers in the backup engine.",
+ "type": "integer"
+ },
+ "diskCount": {
+ "format": "int32",
+ "description": "Number of disks in the backup engine.",
+ "type": "integer"
+ },
+ "usedDiskSpace": {
+ "format": "double",
+ "description": "Disk space used in the backup engine.",
+ "type": "number"
+ },
+ "availableDiskSpace": {
+ "format": "double",
+ "description": "Disk space currently available in the backup engine.",
+ "type": "number"
+ },
+ "refreshedAt": {
+ "format": "date-time",
+ "description": "Last refresh time in the backup engine.",
+ "type": "string"
+ },
+ "azureProtectedInstances": {
+ "format": "int32",
+ "description": "Protected instances in the backup engine.",
+ "type": "integer"
+ }
+ }
+ },
+ "BackupRequest": {
+ "description": "Base class for backup request. Workload-specific backup requests are derived from this class.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "BackupRequestResource": {
+ "description": "Base class for backup request. Workload-specific backup requests are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupRequest",
+ "description": "BackupRequestResource properties"
+ }
+ }
+ },
+ "BMSBackupEngineQueryObject": {
+ "description": "Query parameters to fetch list of backup engines.",
+ "type": "object",
+ "properties": {
+ "expand": {
+ "description": "attribute to add extended info",
+ "type": "string"
+ }
+ }
+ },
+ "BMSBackupEnginesQueryObject": {
+ "description": "Query parameters to fetch list of backup engines.",
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Backup management type for the backup engine.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "friendlyName": {
+ "description": "Friendly name of the backup engine.",
+ "type": "string"
+ },
+ "expand": {
+ "description": "Attribute to add extended info.",
+ "type": "string"
+ }
+ }
+ },
+ "BMSContainerQueryObject": {
+ "description": "The query filters that can be used with the list containers API.",
+ "required": [
+ "backupManagementType"
+ ],
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Backup management type for this container.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "containerType": {
+ "description": "Type of container for filter",
+ "enum": [
+ "Invalid",
+ "Unknown",
+ "IaasVMContainer",
+ "IaasVMServiceContainer",
+ "DPMContainer",
+ "AzureBackupServerContainer",
+ "MABContainer",
+ "Cluster",
+ "AzureSqlContainer",
+ "Windows",
+ "VCenter",
+ "VMAppContainer",
+ "SQLAGWorkLoadContainer",
+ "StorageContainer",
+ "GenericContainer",
+ "HanaHSRContainer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerType",
+ "modelAsString": true
+ }
+ },
+ "backupEngineName": {
+ "description": "Backup engine name",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "Fabric name for filter",
+ "type": "string"
+ },
+ "status": {
+ "description": "Status of registration of this container with the Recovery Services Vault.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "Friendly name of this container.",
+ "type": "string"
+ }
+ }
+ },
+ "BMSContainersInquiryQueryObject": {
+ "description": "The query filters that can be used with the inquire container API.",
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Backup management type for this container.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "workloadType": {
+ "description": "Workload type for this container.",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase",
+ "SAPHanaDBInstance"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "BMSPOQueryObject": {
+ "description": "Filters to list items that can be backed up.",
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Backup management type.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureSql",
+ "AzureBackupServer",
+ "AzureWorkload",
+ "AzureStorage",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "workloadType": {
+ "description": "Workload type",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase",
+ "SAPHanaDBInstance"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadType",
+ "modelAsString": true
+ }
+ },
+ "containerName": {
+ "description": "Full name of the container whose Protectable Objects should be returned.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Backup status query parameter.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "Friendly name.",
+ "type": "string"
+ }
+ }
+ },
+ "BMSRefreshContainersQueryObject": {
+ "description": "The query filters that can be used with the refresh container API.",
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Backup management type for this container.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "BMSWorkloadItemQueryObject": {
+ "description": "Filters to list items that can be backed up.",
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Backup management type.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureSql",
+ "AzureBackupServer",
+ "AzureWorkload",
+ "AzureStorage",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "workloadItemType": {
+ "description": "Workload Item type",
+ "enum": [
+ "Invalid",
+ "SQLInstance",
+ "SQLDataBase",
+ "SAPHanaSystem",
+ "SAPHanaDatabase",
+ "SAPAseSystem",
+ "SAPAseDatabase",
+ "SAPHanaDBInstance"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadItemType",
+ "modelAsString": true
+ }
+ },
+ "workloadType": {
+ "description": "Workload type",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase",
+ "SAPHanaDBInstance"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadType",
+ "modelAsString": true
+ }
+ },
+ "protectionStatus": {
+ "description": "Backup status query parameter.",
+ "enum": [
+ "Invalid",
+ "NotProtected",
+ "Protecting",
+ "Protected",
+ "ProtectionFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ClientScriptForConnect": {
+ "description": "Client script details for file / folder restore.",
+ "type": "object",
+ "properties": {
+ "scriptContent": {
+ "description": "File content of the client script for file / folder restore.",
+ "type": "string"
+ },
+ "scriptExtension": {
+ "description": "File extension of the client script for file / folder restore - .ps1 , .sh , etc.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "OS type - Windows, Linux etc. for which this file / folder restore client script works.",
+ "type": "string"
+ },
+ "url": {
+ "description": "URL of Executable from where to source the content. If this is not null then ScriptContent should not be used",
+ "type": "string"
+ },
+ "scriptNameSuffix": {
+ "description": "Mandatory suffix that should be added to the name of script that is given for download to user.\r\nIf its null or empty then , ignore it.",
+ "type": "string"
+ }
+ }
+ },
+ "ContainerIdentityInfo": {
+ "description": "Container identity information",
+ "type": "object",
+ "properties": {
+ "uniqueName": {
+ "description": "Unique name of the container",
+ "type": "string"
+ },
+ "aadTenantId": {
+ "description": "Protection container identity - AAD Tenant",
+ "type": "string"
+ },
+ "servicePrincipalClientId": {
+ "description": "Protection container identity - AAD Service Principal",
+ "type": "string"
+ },
+ "audience": {
+ "description": "Protection container identity - Audience",
+ "type": "string"
+ }
+ }
+ },
+ "DistributedNodesInfo": {
+ "description": "This is used to represent the various nodes of the distributed container.",
+ "type": "object",
+ "properties": {
+ "nodeName": {
+ "description": "Name of the node under a distributed container.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Status of this Node.\r\nFailed | Succeeded",
+ "type": "string"
+ },
+ "errorDetail": {
+ "$ref": "#/definitions/ErrorDetail",
+ "description": "Error Details if the Status is non-success."
+ },
+ "sourceResourceId": {
+ "description": "ARM resource id of the node",
+ "type": "string"
+ }
+ }
+ },
+ "DpmBackupEngine": {
+ "description": "Data Protection Manager (DPM) specific backup engine.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupEngineBase"
+ }
+ ],
+ "x-ms-discriminator-value": "DpmBackupEngine"
+ },
+ "DpmContainer": {
+ "description": "DPM workload-specific protection container.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ ],
+ "properties": {
+ "canReRegister": {
+ "description": "Specifies whether the container is re-registrable.",
+ "type": "boolean"
+ },
+ "containerId": {
+ "description": "ID of container.",
+ "type": "string"
+ },
+ "protectedItemCount": {
+ "format": "int64",
+ "description": "Number of protected items in the BackupEngine",
+ "type": "integer"
+ },
+ "dpmAgentVersion": {
+ "description": "Backup engine Agent version",
+ "type": "string"
+ },
+ "dpmServers": {
+ "description": "List of BackupEngines protecting the container",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "upgradeAvailable": {
+ "description": "To check if upgrade available",
+ "type": "boolean"
+ },
+ "protectionStatus": {
+ "description": "Protection status of the container.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/DPMContainerExtendedInfo",
+ "description": "Extended Info of the container."
+ }
+ },
+ "x-ms-discriminator-value": "DPMContainer"
+ },
+ "DPMContainerExtendedInfo": {
+ "description": "Additional information of the DPMContainer.",
+ "type": "object",
+ "properties": {
+ "lastRefreshedAt": {
+ "format": "date-time",
+ "description": "Last refresh time of the DPMContainer.",
+ "type": "string"
+ }
+ }
+ },
+ "GenericContainer": {
+ "description": "Base class for generic container of backup items",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ ],
+ "properties": {
+ "fabricName": {
+ "description": "Name of the container's fabric",
+ "type": "string"
+ },
+ "extendedInformation": {
+ "$ref": "#/definitions/GenericContainerExtendedInfo",
+ "description": "Extended information (not returned in List container API calls)"
+ }
+ },
+ "x-ms-discriminator-value": "GenericContainer"
+ },
+ "GenericContainerExtendedInfo": {
+ "description": "Container extended information",
+ "type": "object",
+ "properties": {
+ "rawCertData": {
+ "description": "Public key of container cert",
+ "type": "string"
+ },
+ "containerIdentityInfo": {
+ "$ref": "#/definitions/ContainerIdentityInfo",
+ "description": "Container identity information"
+ },
+ "serviceEndpoints": {
+ "description": "Azure Backup Service Endpoints for the container",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "IaasVMBackupRequest": {
+ "description": "IaaS VM workload-specific backup request.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointExpiryTimeInUTC": {
+ "format": "date-time",
+ "description": "Backup copy will expire after the time specified (UTC).",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "IaasVMBackupRequest"
+ },
+ "IaaSVMContainer": {
+ "description": "IaaS VM workload-specific container.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ ],
+ "properties": {
+ "virtualMachineId": {
+ "description": "Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container.",
+ "type": "string"
+ },
+ "virtualMachineVersion": {
+ "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Resource group name of Recovery Services Vault.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "IaasVMContainer"
+ },
+ "IaasVMILRRegistrationRequest": {
+ "description": "Restore files/folders from a backup copy of IaaS VM.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ILRRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointId": {
+ "description": "ID of the IaaS VM backup copy from where the files/folders have to be restored.",
+ "type": "string"
+ },
+ "virtualMachineId": {
+ "description": "Fully qualified ARM ID of the virtual machine whose the files / folders have to be restored.",
+ "type": "string"
+ },
+ "initiatorName": {
+ "description": "iSCSI initiator name.",
+ "type": "string"
+ },
+ "renewExistingRegistration": {
+ "description": "Whether to renew existing registration with the iSCSI server.",
+ "type": "boolean"
+ }
+ },
+ "x-ms-discriminator-value": "IaasVMILRRegistrationRequest"
+ },
+ "IaaSVMProtectableItem": {
+ "description": "IaaS VM workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/WorkloadProtectableItem"
+ }
+ ],
+ "properties": {
+ "virtualMachineId": {
+ "description": "Fully qualified ARM ID of the virtual machine.",
+ "type": "string"
+ },
+ "virtualMachineVersion": {
+ "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Resource group name of Recovery Services Vault.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "IaaSVMProtectableItem"
+ },
+ "ILRRequest": {
+ "description": "Parameters to Provision ILR API.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "ILRRequestResource": {
+ "description": "Parameters to Provision ILR API.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ILRRequest",
+ "description": "ILRRequestResource properties"
+ }
+ }
+ },
+ "InquiryInfo": {
+ "description": "Details about inquired protectable items under a given container.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Inquiry Status for this container such as\r\nInProgress | Failed | Succeeded",
+ "type": "string"
+ },
+ "errorDetail": {
+ "$ref": "#/definitions/ErrorDetail",
+ "description": "Error Details if the Status is non-success."
+ },
+ "inquiryDetails": {
+ "description": "Inquiry Details which will have workload specific details.\r\nFor e.g. - For SQL and oracle this will contain different details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WorkloadInquiryDetails"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "InquiryValidation": {
+ "description": "Validation for inquired protectable items under a given container.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Status for the Inquiry Validation.",
+ "type": "string"
+ },
+ "errorDetail": {
+ "$ref": "#/definitions/ErrorDetail",
+ "description": "Error Detail in case the status is non-success."
+ },
+ "additionalDetail": {
+ "description": "Error Additional Detail in case the status is non-success.",
+ "type": "string",
+ "readOnly": true
+ },
+ "protectableItemCount": {
+ "description": "Dictionary to store the count of ProtectableItems with key POType.",
+ "type": "object",
+ "readOnly": true
+ }
+ }
+ },
+ "InstantItemRecoveryTarget": {
+ "description": "Target details for file / folder restore.",
+ "type": "object",
+ "properties": {
+ "clientScripts": {
+ "description": "List of client scripts.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClientScriptForConnect"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "MabContainer": {
+ "description": "Container with items backed up using MAB backup engine.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ ],
+ "properties": {
+ "canReRegister": {
+ "description": "Can the container be registered one more time.",
+ "type": "boolean"
+ },
+ "containerId": {
+ "format": "int64",
+ "description": "ContainerID represents the container.",
+ "type": "integer"
+ },
+ "protectedItemCount": {
+ "format": "int64",
+ "description": "Number of items backed up in this container.",
+ "type": "integer"
+ },
+ "agentVersion": {
+ "description": "Agent version of this container.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/MabContainerExtendedInfo",
+ "description": "Additional information for this container"
+ },
+ "mabContainerHealthDetails": {
+ "description": "Health details on this mab container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MABContainerHealthDetails"
+ },
+ "x-ms-identifiers": [
+ "code"
+ ]
+ },
+ "containerHealthState": {
+ "description": "Health state of mab container.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "Windows"
+ },
+ "MabContainerExtendedInfo": {
+ "description": "Additional information of the container.",
+ "type": "object",
+ "properties": {
+ "lastRefreshedAt": {
+ "format": "date-time",
+ "description": "Time stamp when this container was refreshed.",
+ "type": "string"
+ },
+ "backupItemType": {
+ "description": "Type of backup items associated with this container.",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare",
+ "SAPHanaDatabase",
+ "SAPAseDatabase",
+ "SAPHanaDBInstance"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupItemType",
+ "modelAsString": true
+ }
+ },
+ "backupItems": {
+ "description": "List of backup items associated with this container.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "policyName": {
+ "description": "Backup policy associated with this container.",
+ "type": "string"
+ },
+ "lastBackupStatus": {
+ "description": "Latest backup status of this container.",
+ "type": "string"
+ }
+ }
+ },
+ "MABContainerHealthDetails": {
+ "description": "MAB workload-specific Health Details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "format": "int32",
+ "description": "Health Code",
+ "type": "integer"
+ },
+ "title": {
+ "description": "Health Title",
+ "type": "string"
+ },
+ "message": {
+ "description": "Health Message",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "Health Recommended Actions",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "OperationStatus": {
+ "description": "Operation status.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "ID of the operation.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the operation.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Operation status.",
+ "enum": [
+ "Invalid",
+ "InProgress",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OperationStatusValues",
+ "modelAsString": true
+ }
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Operation start time. Format: ISO-8601.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "Operation end time. Format: ISO-8601.",
+ "type": "string"
+ },
+ "error": {
+ "$ref": "#/definitions/OperationStatusError",
+ "description": "Error information related to this operation."
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationStatusExtendedInfo",
+ "description": "Additional information associated with this operation."
+ }
+ }
+ },
+ "OperationStatusError": {
+ "description": "Error information associated with operation status call.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code of the operation failure.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message displayed if the operation failure.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationStatusExtendedInfo": {
+ "description": "Base class for additional information of operation status.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "OperationStatusJobExtendedInfo": {
+ "description": "Operation status job extended info.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationStatusExtendedInfo"
+ }
+ ],
+ "properties": {
+ "jobId": {
+ "description": "ID of the job created for this protected item.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "OperationStatusJobExtendedInfo"
+ },
+ "OperationStatusJobsExtendedInfo": {
+ "description": "Operation status extended info for list of jobs.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationStatusExtendedInfo"
+ }
+ ],
+ "properties": {
+ "jobIds": {
+ "description": "IDs of the jobs created for the protected item.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "failedJobsError": {
+ "description": "Stores all the failed jobs along with the corresponding error codes.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "OperationStatusJobsExtendedInfo"
+ },
+ "OperationStatusProvisionILRExtendedInfo": {
+ "description": "Operation status extended info for ILR provision action.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationStatusExtendedInfo"
+ }
+ ],
+ "properties": {
+ "recoveryTarget": {
+ "$ref": "#/definitions/InstantItemRecoveryTarget",
+ "description": "Target details for file / folder restore."
+ }
+ },
+ "x-ms-discriminator-value": "OperationStatusProvisionILRExtendedInfo"
+ },
+ "OperationStatusValidateOperationExtendedInfo": {
+ "description": "Operation status extended info for ValidateOperation action.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationStatusExtendedInfo"
+ }
+ ],
+ "properties": {
+ "validateOperationResponse": {
+ "$ref": "#/definitions/ValidateOperationResponse",
+ "description": "Gets the validation operation response"
+ }
+ },
+ "x-ms-discriminator-value": "OperationStatusValidateOperationExtendedInfo"
+ },
+ "PreBackupValidation": {
+ "description": "Pre-backup validation for Azure VM Workload provider.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Status of protectable item, i.e. InProgress,Succeeded,Failed",
+ "enum": [
+ "Invalid",
+ "Success",
+ "Failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InquiryStatus",
+ "modelAsString": true
+ }
+ },
+ "code": {
+ "description": "Error code of protectable item",
+ "type": "string"
+ },
+ "message": {
+ "description": "Message corresponding to the error code for the protectable item",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectableContainer": {
+ "description": "Protectable Container Class.",
+ "type": "object",
+ "required": [
+ "protectableContainerType"
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the container.",
+ "type": "string"
+ },
+ "backupManagementType": {
+ "description": "Type of backup management for the container.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "protectableContainerType": {
+ "description": "Type of the container. The value of this property for\r\n1. Compute Azure VM is Microsoft.Compute/virtualMachines\r\n2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines",
+ "enum": [
+ "Invalid",
+ "Unknown",
+ "IaasVMContainer",
+ "IaasVMServiceContainer",
+ "DPMContainer",
+ "AzureBackupServerContainer",
+ "MABContainer",
+ "Cluster",
+ "AzureSqlContainer",
+ "Windows",
+ "VCenter",
+ "VMAppContainer",
+ "SQLAGWorkLoadContainer",
+ "StorageContainer",
+ "GenericContainer",
+ "Microsoft.ClassicCompute/virtualMachines",
+ "Microsoft.Compute/virtualMachines",
+ "AzureWorkloadContainer"
+ ],
+ "type": "string",
+ "readOnly": false,
+ "x-ms-enum": {
+ "name": "protectableContainerType",
+ "modelAsString": false
+ }
+ },
+ "healthStatus": {
+ "description": "Status of health of the container.",
+ "type": "string"
+ },
+ "containerId": {
+ "description": "Fabric Id of the container such as ARM Id.",
+ "type": "string"
+ }
+ },
+ "discriminator": "protectableContainerType"
+ },
+ "ProtectableContainerResource": {
+ "description": "Protectable Container Class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectableContainer",
+ "description": "ProtectableContainerResource properties"
+ }
+ }
+ },
+ "ProtectableContainerResourceList": {
+ "description": "List of ProtectableContainer resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectableContainerResource"
+ }
+ }
+ }
+ },
+ "ProtectionContainer": {
+ "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.",
+ "type": "object",
+ "required": [
+ "containerType"
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the container.",
+ "type": "string"
+ },
+ "backupManagementType": {
+ "description": "Type of backup management for the container.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "registrationStatus": {
+ "description": "Status of registration of the container with the Recovery Services Vault.",
+ "type": "string"
+ },
+ "healthStatus": {
+ "description": "Status of health of the container.",
+ "type": "string"
+ },
+ "containerType": {
+ "description": "Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.\r\nClassic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is\r\nWindows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload\r\nBackup is VMAppContainer",
+ "enum": [
+ "Invalid",
+ "Unknown",
+ "IaasVMContainer",
+ "IaasVMServiceContainer",
+ "DPMContainer",
+ "AzureBackupServerContainer",
+ "MABContainer",
+ "Cluster",
+ "AzureSqlContainer",
+ "Windows",
+ "VCenter",
+ "VMAppContainer",
+ "SQLAGWorkLoadContainer",
+ "StorageContainer",
+ "GenericContainer",
+ "Microsoft.ClassicCompute/virtualMachines",
+ "Microsoft.Compute/virtualMachines",
+ "AzureWorkloadContainer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "protectableContainerType",
+ "modelAsString": true
+ }
+ },
+ "protectableObjectType": {
+ "description": "Type of the protectable object associated with this container",
+ "type": "string"
+ }
+ },
+ "discriminator": "containerType"
+ },
+ "ProtectionContainerResource": {
+ "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectionContainer",
+ "description": "ProtectionContainerResource properties"
+ }
+ }
+ },
+ "ProtectionContainerResourceList": {
+ "description": "List of ProtectionContainer resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectionContainerResource"
+ }
+ }
+ }
+ },
+ "SecurityPinBase": {
+ "description": "Base class for get security pin request body",
+ "type": "object",
+ "properties": {
+ "resourceGuardOperationRequests": {
+ "description": "ResourceGuard Operation Requests",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "TokenInformation": {
+ "description": "The token information details.",
+ "type": "object",
+ "properties": {
+ "token": {
+ "description": "Token value.",
+ "type": "string"
+ },
+ "expiryTimeInUtcTicks": {
+ "format": "int64",
+ "description": "Expiry time of token.",
+ "type": "integer"
+ },
+ "securityPIN": {
+ "description": "Security PIN",
+ "type": "string"
+ }
+ }
+ },
+ "WorkloadInquiryDetails": {
+ "description": "Details of an inquired protectable item.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of the Workload such as SQL, Oracle etc.",
+ "type": "string"
+ },
+ "itemCount": {
+ "format": "int64",
+ "description": "Contains the protectable item Count inside this Container.",
+ "type": "integer"
+ },
+ "inquiryValidation": {
+ "$ref": "#/definitions/InquiryValidation",
+ "description": "Inquiry validation such as permissions and other backup validations."
+ }
+ }
+ },
+ "WorkloadItem": {
+ "description": "Base class for backup item. Workload-specific backup items are derived from this class.",
+ "type": "object",
+ "required": [
+ "workloadItemType"
+ ],
+ "properties": {
+ "backupManagementType": {
+ "description": "Type of backup management to backup an item.",
+ "type": "string"
+ },
+ "workloadType": {
+ "description": "Type of workload for the backup management",
+ "type": "string"
+ },
+ "workloadItemType": {
+ "description": "Type of the backup item.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "Friendly name of the backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "State of the back up item.",
+ "enum": [
+ "Invalid",
+ "NotProtected",
+ "Protecting",
+ "Protected",
+ "ProtectionFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "workloadItemType"
+ },
+ "WorkloadItemResource": {
+ "description": "Base class for backup item. Workload-specific backup items are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/WorkloadItem",
+ "description": "WorkloadItemResource properties"
+ }
+ }
+ },
+ "WorkloadItemResourceList": {
+ "description": "List of WorkloadItem resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WorkloadItemResource"
+ }
+ }
+ }
+ },
+ "WorkloadProtectableItem": {
+ "description": "Base class for backup item. Workload-specific backup items are derived from this class.",
+ "type": "object",
+ "required": [
+ "protectableItemType"
+ ],
+ "properties": {
+ "backupManagementType": {
+ "description": "Type of backup management to backup an item.",
+ "type": "string"
+ },
+ "workloadType": {
+ "description": "Type of workload for the backup management",
+ "type": "string"
+ },
+ "protectableItemType": {
+ "description": "Type of the backup item.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "Friendly name of the backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "State of the back up item.",
+ "enum": [
+ "Invalid",
+ "NotProtected",
+ "Protecting",
+ "Protected",
+ "ProtectionFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "protectableItemType"
+ },
+ "WorkloadProtectableItemResource": {
+ "description": "Base class for backup item. Workload-specific backup items are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/WorkloadProtectableItem",
+ "description": "WorkloadProtectableItemResource properties"
+ }
+ }
+ },
+ "WorkloadProtectableItemResourceList": {
+ "description": "List of WorkloadProtectableItem resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WorkloadProtectableItemResource"
+ }
+ }
+ }
+ },
+ "AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest": {
+ "description": "AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadSAPHanaPointInTimeRestoreRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointRehydrationInfo": {
+ "$ref": "#/definitions/RecoveryPointRehydrationInfo",
+ "description": "RP Rehydration Info"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest"
+ },
+ "AzureWorkloadSAPHanaRestoreWithRehydrateRequest": {
+ "description": "AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointRehydrationInfo": {
+ "$ref": "#/definitions/RecoveryPointRehydrationInfo",
+ "description": "RP Rehydration Info"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreWithRehydrateRequest"
+ },
+ "AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest": {
+ "description": "AzureWorkload SQL-specific restore with integrated rehydration of recovery point.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadSQLPointInTimeRestoreRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointRehydrationInfo": {
+ "$ref": "#/definitions/RecoveryPointRehydrationInfo",
+ "description": "RP Rehydration Info"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest"
+ },
+ "AzureWorkloadSQLRestoreWithRehydrateRequest": {
+ "description": "AzureWorkload SQL-specific restore with integrated rehydration of recovery point",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointRehydrationInfo": {
+ "$ref": "#/definitions/RecoveryPointRehydrationInfo",
+ "description": "RP Rehydration Info"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLRestoreWithRehydrateRequest"
+ },
+ "IaasVMRestoreWithRehydrationRequest": {
+ "description": "IaaS VM workload-specific restore with integrated rehydration of recovery point.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/IaasVMRestoreRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointRehydrationInfo": {
+ "$ref": "#/definitions/RecoveryPointRehydrationInfo",
+ "description": "RP Rehydration Info"
+ }
+ },
+ "x-ms-discriminator-value": "IaasVMRestoreWithRehydrationRequest"
+ },
+ "MoveRPAcrossTiersRequest": {
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Gets the class type.",
+ "type": "string"
+ },
+ "sourceTierType": {
+ "description": "Source tier from where RP needs to be moved",
+ "enum": [
+ "Invalid",
+ "InstantRP",
+ "HardenedRP",
+ "ArchivedRP"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointTierType",
+ "modelAsString": false
+ }
+ },
+ "targetTierType": {
+ "description": "Target tier where RP needs to be moved",
+ "enum": [
+ "Invalid",
+ "InstantRP",
+ "HardenedRP",
+ "ArchivedRP"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointTierType",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "RecoveryPointMoveReadinessInfo": {
+ "type": "object",
+ "properties": {
+ "isReadyForMove": {
+ "type": "boolean"
+ },
+ "additionalInfo": {
+ "type": "string"
+ }
+ }
+ },
+ "RecoveryPointRehydrationInfo": {
+ "description": "RP Rehydration Info",
+ "type": "object",
+ "properties": {
+ "rehydrationRetentionDuration": {
+ "description": "How long the rehydrated RP should be kept\r\nShould be ISO8601 Duration format e.g. \"P7D\"",
+ "type": "string"
+ },
+ "rehydrationPriority": {
+ "description": "Rehydration Priority",
+ "enum": [
+ "Standard",
+ "High"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RehydrationPriority",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "RecoveryPointProperties": {
+ "description": "Properties of Recovery Point",
+ "type": "object",
+ "properties": {
+ "expiryTime": {
+ "description": "Expiry time of Recovery Point in UTC.",
+ "type": "string"
+ },
+ "ruleName": {
+ "description": "Rule name tagged on Recovery Point that governs life cycle",
+ "type": "string"
+ },
+ "isSoftDeleted": {
+ "description": "Bool to indicate whether RP is in soft delete state or not",
+ "type": "boolean"
+ }
+ }
+ },
+ "ListRecoveryPointsRecommendedForMoveRequest": {
+ "description": "ListRecoveryPointsRecommendedForMoveRequest Request",
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Gets the class type.",
+ "type": "string"
+ },
+ "excludedRPList": {
+ "description": "List of Recovery Points excluded from Move",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "UnlockDeleteRequest": {
+ "description": "Request body of unlock delete API.",
+ "type": "object",
+ "properties": {
+ "resourceGuardOperationRequests": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "resourceToBeDeleted": {
+ "type": "string"
+ }
+ }
+ },
+ "UnlockDeleteResponse": {
+ "description": "Response of Unlock Delete API.",
+ "type": "object",
+ "properties": {
+ "unlockDeleteExpiryTime": {
+ "description": "This is the time when unlock delete privileges will get expired.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceGuardOperationDetail": {
+ "type": "object",
+ "properties": {
+ "vaultCriticalOperation": {
+ "type": "string"
+ },
+ "defaultResourceRequest": {
+ "type": "string"
+ }
+ }
+ },
+ "ResourceGuardProxyBase": {
+ "type": "object",
+ "required": [
+ "resourceGuardResourceId"
+ ],
+ "properties": {
+ "resourceGuardResourceId": {
+ "type": "string"
+ },
+ "resourceGuardOperationDetails": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceGuardOperationDetail"
+ },
+ "x-ms-identifiers": []
+ },
+ "lastUpdatedTime": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ }
+ }
+ },
+ "ResourceGuardProxyBaseResource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ResourceGuardProxyBase",
+ "description": "ResourceGuardProxyBaseResource properties"
+ }
+ }
+ },
+ "ResourceGuardProxyBaseResourceList": {
+ "description": "List of ResourceGuardProxyBase resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceGuardProxyBaseResource"
+ }
+ }
+ }
+ },
+ "TieringPolicy": {
+ "description": "Tiering Policy for a target tier.\r\nIf the policy is not specified for a given target tier, service retains the existing configured tiering policy for that tier",
+ "type": "object",
+ "properties": {
+ "tieringMode": {
+ "description": "Tiering Mode to control automatic tiering of recovery points. Supported values are:\r\n1. TierRecommended: Tier all recovery points recommended to be tiered\r\n2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.\r\n3. DoNotTier: Do not tier any recovery points",
+ "enum": [
+ "Invalid",
+ "TierRecommended",
+ "TierAfter",
+ "DoNotTier"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TieringMode",
+ "modelAsString": true
+ }
+ },
+ "duration": {
+ "format": "int32",
+ "description": "Number of days/weeks/months/years to retain backups in current tier before tiering.\r\nUsed only if TieringMode is set to TierAfter",
+ "type": "integer"
+ },
+ "durationType": {
+ "description": "Retention duration type: days/weeks/months/years\r\nUsed only if TieringMode is set to TierAfter",
+ "enum": [
+ "Invalid",
+ "Days",
+ "Weeks",
+ "Months",
+ "Years"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RetentionDurationType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "TieringCostInfo": {
+ "description": "Base class for tiering cost response",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "FetchTieringCostInfoForRehydrationRequest": {
+ "description": "Request parameters for fetching cost info of rehydration",
+ "required": [
+ "objectType",
+ "containerName",
+ "protectedItemName",
+ "recoveryPointId",
+ "rehydrationPriority",
+ "sourceTierType",
+ "targetTierType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FetchTieringCostInfoRequest"
+ }
+ ],
+ "properties": {
+ "containerName": {
+ "description": "Name of the protected item container",
+ "type": "string"
+ },
+ "protectedItemName": {
+ "description": "Name of the protectedItemName",
+ "type": "string"
+ },
+ "recoveryPointId": {
+ "description": "ID of the backup copy for rehydration cost info needs to be fetched.",
+ "type": "string"
+ },
+ "rehydrationPriority": {
+ "description": "Rehydration Priority",
+ "enum": [
+ "Standard",
+ "High"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RehydrationPriority",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "FetchTieringCostInfoForRehydrationRequest"
+ },
+ "FetchTieringCostInfoRequest": {
+ "description": "Base class for tiering cost request.\r\nSpecific cost request types are derived from this class.",
+ "required": [
+ "sourceTierType",
+ "targetTierType",
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "sourceTierType": {
+ "description": "Source tier for the request",
+ "enum": [
+ "Invalid",
+ "InstantRP",
+ "HardenedRP",
+ "ArchivedRP"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointTierType",
+ "modelAsString": false
+ }
+ },
+ "targetTierType": {
+ "description": "target tier for the request",
+ "enum": [
+ "Invalid",
+ "InstantRP",
+ "HardenedRP",
+ "ArchivedRP"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointTierType",
+ "modelAsString": false
+ }
+ },
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "TieringCostRehydrationInfo": {
+ "description": "Response parameters for tiering cost info for rehydration",
+ "required": [
+ "objectType",
+ "rehydrationSizeInBytes",
+ "retailRehydrationCostPerGBPerMonth"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TieringCostInfo"
+ }
+ ],
+ "properties": {
+ "rehydrationSizeInBytes": {
+ "format": "int64",
+ "description": "Rehydration size in bytes",
+ "type": "integer"
+ },
+ "retailRehydrationCostPerGBPerMonth": {
+ "format": "double",
+ "description": "Source tier to target tier rehydration cost per GB per month",
+ "type": "number"
+ }
+ },
+ "x-ms-discriminator-value": "TieringCostRehydrationInfo"
+ },
+ "TieringCostSavingInfo": {
+ "description": "Response parameters for tiering cost info for savings",
+ "required": [
+ "objectType",
+ "sourceTierSizeReductionInBytes",
+ "targetTierSizeIncreaseInBytes",
+ "retailSourceTierCostPerGBPerMonth",
+ "retailTargetTierCostPerGBPerMonth"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TieringCostInfo"
+ }
+ ],
+ "properties": {
+ "sourceTierSizeReductionInBytes": {
+ "format": "int64",
+ "description": "Source tier size reduction in bytes after moving all the recommended backup points to target tier",
+ "type": "integer"
+ },
+ "targetTierSizeIncreaseInBytes": {
+ "format": "int64",
+ "description": "Target tier size increase in bytes after moving all the recommended backup points to target tier",
+ "type": "integer"
+ },
+ "retailSourceTierCostPerGBPerMonth": {
+ "format": "double",
+ "description": "Source tier retail cost per GB per month",
+ "type": "number"
+ },
+ "retailTargetTierCostPerGBPerMonth": {
+ "format": "double",
+ "description": "Target tier retail cost per GB per month",
+ "type": "number"
+ }
+ },
+ "x-ms-discriminator-value": "TieringCostSavingInfo"
+ },
+ "FetchTieringCostSavingsInfoForPolicyRequest": {
+ "description": "Request parameters for tiering cost info for policy",
+ "required": [
+ "objectType",
+ "policyName",
+ "sourceTierType",
+ "targetTierType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FetchTieringCostInfoRequest"
+ }
+ ],
+ "properties": {
+ "policyName": {
+ "description": "Name of the backup policy for which the cost savings information is requested",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "FetchTieringCostSavingsInfoForPolicyRequest"
+ },
+ "FetchTieringCostSavingsInfoForProtectedItemRequest": {
+ "description": "Request parameters for tiering cost info for protected item",
+ "required": [
+ "objectType",
+ "containerName",
+ "protectedItemName",
+ "sourceTierType",
+ "targetTierType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FetchTieringCostInfoRequest"
+ }
+ ],
+ "properties": {
+ "containerName": {
+ "description": "Name of the protected item container",
+ "type": "string"
+ },
+ "protectedItemName": {
+ "description": "Name of the protectedItemName",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "FetchTieringCostSavingsInfoForProtectedItemRequest"
+ },
+ "FetchTieringCostSavingsInfoForVaultRequest": {
+ "description": "Request parameters for tiering cost info for vault",
+ "required": [
+ "objectType",
+ "sourceTierType",
+ "targetTierType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FetchTieringCostInfoRequest"
+ }
+ ],
+ "x-ms-discriminator-value": "FetchTieringCostSavingsInfoForVaultRequest"
+ }
+ },
+ "parameters": {
+ "SubscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription Id.",
+ "required": true,
+ "type": "string"
+ },
+ "AzureRegion": {
+ "name": "azureRegion",
+ "in": "path",
+ "description": "Azure region to hit Api",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceGroupName": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group where the recovery services vault is present.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "VaultName": {
+ "name": "vaultName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "RestrictedVaultName": {
+ "name": "vaultName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "pattern": "^[A-Za-z][-A-Za-z0-9]*[A-Za-z0-9]$",
+ "minLength": 2,
+ "maxLength": 50
+ },
+ "ApiVersion": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client Api Version.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "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."
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/BackupFeature_Validate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/BackupFeature_Validate.json
new file mode 100644
index 000000000000..ce22f442ed7f
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/BackupFeature_Validate.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "azureRegion": "southeastasia",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "featureType": "AzureVMResourceBackup",
+ "vmSize": "Basic_A0",
+ "vmSku": "Premium"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "supportStatus": "DefaultOFF"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/BackupPolicies_List.json
new file mode 100644
index 000000000000..58bf056807dd
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/BackupPolicies_List.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2023-06-01",
+ "$filter": "backupManagementType eq 'AzureIaasVM'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy",
+ "name": "DefaultPolicy",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2017-12-05T19:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2017-12-05T19:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 30,
+ "durationType": "Days"
+ }
+ }
+ },
+ "protectedItemsCount": 0
+ }
+ },
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/BackupProtectableItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/BackupProtectableItems_List.json
new file mode 100644
index 000000000000..9d6d0aae8984
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/BackupProtectableItems_List.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2023-06-01",
+ "$filter": "backupManagementType eq 'AzureIaasVM'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectableItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectableItems",
+ "properties": {
+ "friendlyName": "iaasvm-1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1",
+ "protectionState": "NotProtected",
+ "protectableItemType": "Microsoft.ClassicCompute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/BackupProtectedItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/BackupProtectedItems_List.json
new file mode 100644
index 000000000000..c139d45149fd
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/BackupProtectedItems_List.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2023-06-01",
+ "$filter": "backupManagementType eq 'AzureIaasVM' and itemType eq 'VM'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "iaasvm-1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1",
+ "protectionStatus": "Healthy",
+ "protectionState": "Protected",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.ClassicCompute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1",
+ "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json
new file mode 100644
index 000000000000..b5d5d796e735
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "protectedItemName": "vm;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "iaasvm-1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1",
+ "protectionStatus": "Healthy",
+ "protectionState": "Protected",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.ClassicCompute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json
new file mode 100644
index 000000000000..0be422577984
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "protectedItemName": "vm;iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "name": "VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "iaasvm-1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1",
+ "protectionStatus": "Healthy",
+ "protectionState": "Protected",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ConfigureProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ConfigureProtection.json
new file mode 100644
index 000000000000..db8eec25d976
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ConfigureProtection.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "netvmtestv2vm1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "protectionStatus": "Healthy",
+ "protectionState": "Protected",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/GetBackupStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/GetBackupStatus.json
new file mode 100644
index 000000000000..7a04d17185f1
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/GetBackupStatus.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "azureRegion": "southeastasia",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm",
+ "resourceType": "VM"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "protectionStatus": "Protected",
+ "vaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/Vaults/testVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainerv2;testRg;testVm",
+ "protectedItemName": "vm;iaasvmcontainerv2;testRg;testVm",
+ "policyName": "myPolicy",
+ "errorCode": "Success",
+ "errorMessage": "ErrorMessage"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectedItemOperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectedItemOperationResults.json
new file mode 100644
index 000000000000..64d38b37e784
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectedItemOperationResults.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "netvmtestv2vm1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "protectionStatus": "Healthy",
+ "protectionState": "Protected",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": null
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json
new file mode 100644
index 000000000000..2cfbc671f720
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "status": "Succeeded",
+ "startTime": "2017-10-29T06:04:18.207325Z",
+ "endTime": "2017-10-29T06:04:18.207325Z",
+ "properties": {
+ "objectType": "OperationStatusJobExtendedInfo",
+ "jobId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json
new file mode 100644
index 000000000000..5e4da131b552
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myRG",
+ "vaultName": "myVault",
+ "fabricName": "Azure",
+ "intentObjectName": "vm;iaasvmcontainerv2;chamsrgtest;chamscandel",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/chamsrgtest/providers/Microsoft.Compute/virtualMachines/chamscandel",
+ "protectionIntentItemType": "AzureResourceItem",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/vm;iaasvmcontainerv2;chamsrgtest;chamscandel",
+ "name": "vm;iaasvmcontainerv2;chamsrgtest;chamscandel",
+ "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent",
+ "properties": {
+ "protectionIntentItemType": "AzureResourceItem",
+ "backupManagementType": "AzureIaasVM",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy",
+ "protectionState": "Protected"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionIntent_Validate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionIntent_Validate.json
new file mode 100644
index 000000000000..2ba83236e71f
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionIntent_Validate.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "azureRegion": "southeastasia",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/arunaupgrade/providers/Microsoft.Compute/VirtualMachines/upgrade1",
+ "resourceType": "VM",
+ "vaultId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/Vaults/myVault",
+ "properties": ""
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "Failed",
+ "errorCode": "VirtualMachineAlreadyProtected",
+ "errorMessage": "Virtual machine with same name and same resource group is already protected. Please select `Disable' choice above for backup and go to backup item corresponding to this VM in the vault",
+ "recommendation": "Please do not enable protection again.",
+ "containerName": "iaasvmcontainer;iaasvmcontainerv2;arunaupgrade;upgrade1",
+ "protectedItemName": "vm;iaasvmcontainerv2;arunaupgrade;upgrade1"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json
new file mode 100644
index 000000000000..6594a68e7ce3
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json
@@ -0,0 +1,181 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "timeZone": "Pacific Standard Time",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleRunDays": [
+ "Monday",
+ "Wednesday",
+ "Thursday"
+ ]
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Monday",
+ "Wednesday",
+ "Thursday"
+ ],
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Weeks"
+ }
+ },
+ "monthlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Wednesday",
+ "Thursday"
+ ],
+ "weeksOfTheMonth": [
+ "First",
+ "Third"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 2,
+ "durationType": "Months"
+ }
+ },
+ "yearlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "monthsOfYear": [
+ "February",
+ "November"
+ ],
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Monday",
+ "Thursday"
+ ],
+ "weeksOfTheMonth": [
+ "Fourth"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 4,
+ "durationType": "Years"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunDays": [
+ "Monday",
+ "Wednesday",
+ "Thursday"
+ ],
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Monday",
+ "Wednesday",
+ "Thursday"
+ ],
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Weeks"
+ }
+ },
+ "monthlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Wednesday",
+ "Thursday"
+ ],
+ "weeksOfTheMonth": [
+ "First",
+ "Third"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 2,
+ "durationType": "Months"
+ }
+ },
+ "yearlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "monthsOfYear": [
+ "February",
+ "November"
+ ],
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Monday",
+ "Thursday"
+ ],
+ "weeksOfTheMonth": [
+ "Fourth"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 4,
+ "durationType": "Years"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 0
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json
new file mode 100644
index 000000000000..aa270d3b1617
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "timeZone": "Pacific Standard Time",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ]
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 0
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json
new file mode 100644
index 000000000000..1522560a3a6e
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionPolicies_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionPolicies_Get.json
new file mode 100644
index 000000000000..04b1623e8d73
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionPolicies_Get.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json
new file mode 100644
index 000000000000..604b228082a4
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json
new file mode 100644
index 000000000000..07e70da1481d
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "00000000-0000-0000-0000-000000000000",
+ "name": "GetProtectionPolicyOperationStatus",
+ "status": "Succeeded",
+ "startTime": "2018-01-24T12:57:32.1142968Z",
+ "endTime": "2018-01-24T12:57:32.1142968Z",
+ "properties": {
+ "objectType": "OperationStatusJobsExtendedInfo",
+ "jobIds": [
+ "00000000-0000-0000-0000-000000000000"
+ ],
+ "failedJobsError": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/Provision_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/Provision_Ilr.json
new file mode 100644
index 000000000000..4e90bf2878f3
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/Provision_Ilr.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
+ "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
+ "recoveryPointId": "1",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "initiatorName": "Hello World",
+ "recoveryPointId": "38823086363464",
+ "renewExistingRegistration": true,
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pysdktestrg/providers/Microsoft.Compute/virtualMachines/pysdktestv2vm1",
+ "objectType": "IaasVMILRRegistrationRequest"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json
new file mode 100644
index 000000000000..960c92edd5c5
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rshhtestmdvmrg",
+ "vaultName": "rshvault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "objectType": "ListRecoveryPointsRecommendedForMoveRequest",
+ "excludedRPList": [
+ "348916168024334",
+ "348916168024335"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382",
+ "name": "22244821112382",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
+ "properties": {
+ "objectType": "IaasVMRecoveryPoint",
+ "recoveryPointType": "CrashConsistent",
+ "recoveryPointTime": "2017-12-21T22:48:25.4353958Z",
+ "recoveryPointAdditionalInfo": "",
+ "sourceVMStorageType": "NormalStorage",
+ "isSourceVMEncrypted": false,
+ "isInstantIlrSessionActive": false,
+ "recoveryPointTierDetails": [
+ {
+ "type": "InstantRP",
+ "status": "Deleted"
+ },
+ {
+ "type": "HardenedRP",
+ "status": "Valid"
+ }
+ ],
+ "recoveryPointMoveReadinessInfo": {
+ "ArchivedRP": {
+ "isReadyForMove": true
+ }
+ },
+ "isManagedVirtualMachine": true,
+ "virtualMachineSize": "Standard_D1",
+ "originalStorageAccountOption": false
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250",
+ "name": "24977149827250",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
+ "properties": {
+ "objectType": "IaasVMRecoveryPoint",
+ "recoveryPointType": "CrashConsistent",
+ "recoveryPointTime": "2017-12-20T22:49:44.3317945Z",
+ "recoveryPointAdditionalInfo": "",
+ "sourceVMStorageType": "NormalStorage",
+ "isSourceVMEncrypted": false,
+ "isInstantIlrSessionActive": false,
+ "recoveryPointTierDetails": [
+ {
+ "type": "InstantRP",
+ "status": "Deleted"
+ },
+ {
+ "type": "HardenedRP",
+ "status": "Deleted"
+ },
+ {
+ "type": "ArchivedRP",
+ "status": "Rehydrated",
+ "extendedInfo": {
+ "RehydratedRPExpiryTime": "2020-12-21T22:48:25.4353958Z"
+ }
+ }
+ ],
+ "recoveryPointMoveReadinessInfo": {
+ "ArchivedRP": {
+ "isReadyForMove": true
+ }
+ },
+ "isManagedVirtualMachine": true,
+ "virtualMachineSize": "Standard_D1",
+ "originalStorageAccountOption": false,
+ "zones": [
+ "1"
+ ]
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/RecoveryPoints_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/RecoveryPoints_Get.json
new file mode 100644
index 000000000000..1a6a02de9ffa
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/RecoveryPoints_Get.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rshhtestmdvmrg",
+ "vaultName": "rshvault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "recoveryPointId": "26083826328862",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/26083826328862",
+ "name": "26083826328862",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
+ "properties": {
+ "objectType": "IaasVMRecoveryPoint",
+ "recoveryPointType": "CrashConsistent",
+ "recoveryPointTime": "2017-11-22T22:32:46.6088472Z",
+ "recoveryPointAdditionalInfo": "",
+ "sourceVMStorageType": "NormalStorage",
+ "isSourceVMEncrypted": false,
+ "isInstantIlrSessionActive": false,
+ "recoveryPointTierDetails": [
+ {
+ "type": "HardenedRP",
+ "status": "Valid"
+ }
+ ],
+ "recoveryPointMoveReadinessInfo": {
+ "ArchivedRP": {
+ "isReadyForMove": true
+ }
+ },
+ "isManagedVirtualMachine": true,
+ "virtualMachineSize": "Standard_D1",
+ "originalStorageAccountOption": false,
+ "zones": [
+ "1"
+ ],
+ "isPrivateAccessEnabledOnAnyDisk": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/RecoveryPoints_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/RecoveryPoints_List.json
new file mode 100644
index 000000000000..8f4c7a41fc02
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/RecoveryPoints_List.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rshhtestmdvmrg",
+ "vaultName": "rshvault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382",
+ "name": "22244821112382",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
+ "properties": {
+ "objectType": "IaasVMRecoveryPoint",
+ "recoveryPointType": "CrashConsistent",
+ "recoveryPointTime": "2017-12-21T22:48:25.4353958Z",
+ "recoveryPointAdditionalInfo": "",
+ "sourceVMStorageType": "NormalStorage",
+ "isSourceVMEncrypted": false,
+ "isInstantIlrSessionActive": false,
+ "recoveryPointTierDetails": [
+ {
+ "type": "InstantRP",
+ "status": "Deleted"
+ },
+ {
+ "type": "HardenedRP",
+ "status": "Valid"
+ }
+ ],
+ "recoveryPointMoveReadinessInfo": {
+ "Archive": {
+ "isReadyForMove": true
+ }
+ },
+ "isManagedVirtualMachine": true,
+ "virtualMachineSize": "Standard_D1",
+ "originalStorageAccountOption": false
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250",
+ "name": "24977149827250",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
+ "properties": {
+ "objectType": "IaasVMRecoveryPoint",
+ "recoveryPointType": "CrashConsistent",
+ "recoveryPointTime": "2017-12-20T22:49:44.3317945Z",
+ "recoveryPointAdditionalInfo": "",
+ "sourceVMStorageType": "NormalStorage",
+ "isSourceVMEncrypted": false,
+ "isInstantIlrSessionActive": false,
+ "recoveryPointTierDetails": [
+ {
+ "type": "InstantRP",
+ "status": "Deleted"
+ },
+ {
+ "type": "HardenedRP",
+ "status": "Deleted"
+ },
+ {
+ "type": "ArchivedRP",
+ "status": "Rehydrated",
+ "extendedInfo": {
+ "RehydratedRPExpiryTime": "2020-12-21T22:48:25.4353958Z"
+ }
+ }
+ ],
+ "recoveryPointMoveReadinessInfo": {
+ "ArchivedRP": {
+ "isReadyForMove": false,
+ "additionalInfo": "Recovery point cannot be moved to archive tier since it has already been moved."
+ }
+ },
+ "isManagedVirtualMachine": true,
+ "virtualMachineSize": "Standard_D1",
+ "originalStorageAccountOption": false,
+ "zones": [
+ "1"
+ ],
+ "isPrivateAccessEnabledOnAnyDisk": true
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/FijiValidation-asr-microsoftrrdclab3-408/providers/Microsoft.RecoveryServices/vaults/testVault408/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;fijivalidation-asr-microsoftrrdclab3-408;vm408/protectedItems/VM;iaasvmcontainerv2;fijivalidation-asr-microsoftrrdclab3-408;vm408/recoveryPoints/70477518625276",
+ "name": "70477518625276",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
+ "properties": {
+ "objectType": "IaasVMRecoveryPoint",
+ "recoveryPointType": "CrashConsistent",
+ "recoveryPointTime": "2023-09-22T20:02:00.1225746Z",
+ "recoveryPointAdditionalInfo": "",
+ "sourceVMStorageType": "PremiumVMOnPartialPremiumStorage",
+ "isSourceVMEncrypted": true,
+ "isInstantIlrSessionActive": false,
+ "recoveryPointTierDetails": [
+ {
+ "type": "InstantRP",
+ "status": "Valid"
+ },
+ {
+ "type": "HardenedRP",
+ "status": "Valid"
+ }
+ ],
+ "isManagedVirtualMachine": true,
+ "virtualMachineSize": "Standard_D2s_v3",
+ "originalStorageAccountOption": false,
+ "osType": "Windows",
+ "recoveryPointMoveReadinessInfo": {
+ "ArchivedRP": {
+ "isReadyForMove": false,
+ "additionalInfo": "We're still determining if this Recovery Point can be moved.. Please check again after some time."
+ }
+ },
+ "extendedLocation": {
+ "name": "microsoftrrdclab3",
+ "type": "EdgeZone"
+ },
+ "securityType": "None",
+ "isPrivateAccessEnabledOnAnyDisk": false
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/Revoke_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/Revoke_Ilr.json
new file mode 100644
index 000000000000..20b1a6b7b786
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/Revoke_Ilr.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
+ "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
+ "recoveryPointId": "1",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/StopProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/StopProtection.json
new file mode 100644
index 000000000000..5973ca649bca
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/StopProtection.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "protectionState": "ProtectionStopped"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "netvmtestv2vm1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "protectionStatus": "Healthy",
+ "protectionState": "ProtectionStopped",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json
new file mode 100644
index 000000000000..eace74c81648
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "objectType": "IaasVMRestoreRequest",
+ "recoveryPointId": "348916168024334",
+ "recoveryType": "AlternateLocation",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435",
+ "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount",
+ "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet",
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default",
+ "region": "southeastasia",
+ "createNewCloudService": false,
+ "originalStorageAccountOption": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ },
+ "identityInfo": {
+ "isSystemAssignedIdentity": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json
new file mode 100644
index 000000000000..82a4836f7b19
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "objectType": "IaasVMRestoreRequest",
+ "recoveryPointId": "348916168024334",
+ "recoveryType": "AlternateLocation",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435",
+ "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2",
+ "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet",
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default",
+ "region": "southeastasia",
+ "createNewCloudService": false,
+ "originalStorageAccountOption": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ },
+ "identityInfo": {
+ "isSystemAssignedIdentity": true
+ },
+ "identityBasedRestoreDetails": {
+ "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json
new file mode 100644
index 000000000000..6cc64c5ce079
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "objectType": "IaasVMRestoreWithRehydrationRequest",
+ "recoveryPointId": "348916168024334",
+ "recoveryType": "AlternateLocation",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435",
+ "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount",
+ "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet",
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default",
+ "region": "southeastasia",
+ "createNewCloudService": false,
+ "originalStorageAccountOption": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ },
+ "recoveryPointRehydrationInfo": {
+ "rehydrationRetentionDuration": "P7D",
+ "rehydrationPriority": "High"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json
new file mode 100644
index 000000000000..6f55b02e389d
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "objectType": "IaasVMRestoreRequest",
+ "recoveryPointId": "348916168024334",
+ "recoveryType": "RestoreDisks",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount",
+ "region": "southeastasia",
+ "createNewCloudService": true,
+ "originalStorageAccountOption": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ },
+ "identityInfo": {
+ "isSystemAssignedIdentity": false,
+ "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi"
+ },
+ "targetDiskNetworkAccessSettings": {
+ "targetDiskNetworkAccessOption": "EnablePrivateAccessForAllDisks",
+ "targetDiskAccessId": "/subscriptions/e7a191f5-713c-4bdb-b5e4-cf3dd90230ef/resourceGroups/arpja/providers/Microsoft.Compute/diskAccesses/arpja-diskaccess-ccy"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json
new file mode 100644
index 000000000000..7b46e293716a
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "objectType": "IaasVMRestoreRequest",
+ "recoveryPointId": "348916168024334",
+ "recoveryType": "RestoreDisks",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "region": "southeastasia",
+ "createNewCloudService": true,
+ "originalStorageAccountOption": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ },
+ "identityInfo": {
+ "isSystemAssignedIdentity": false,
+ "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi"
+ },
+ "identityBasedRestoreDetails": {
+ "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json
new file mode 100644
index 000000000000..716dbc729819
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "objectType": "IaasVMRestoreWithRehydrationRequest",
+ "recoveryPointId": "348916168024334",
+ "recoveryType": "RestoreDisks",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount",
+ "region": "southeastasia",
+ "createNewCloudService": true,
+ "originalStorageAccountOption": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ },
+ "recoveryPointRehydrationInfo": {
+ "rehydrationRetentionDuration": "P7D",
+ "rehydrationPriority": "Standard"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json
new file mode 100644
index 000000000000..53db3df52d61
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRG",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName",
+ "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVault/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;testRG;testvmName/protectedItems/VM;iaasvmcontainerv2;testRG;testvmName/recoveryPoints/348916168024334",
+ "properties": {
+ "objectType": "ValidateIaasVMRestoreOperationRequest",
+ "restoreRequest": {
+ "recoveryPointId": "348916168024334",
+ "objectType": "IaasVMRestoreRequest",
+ "recoveryType": "RestoreDisks",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount",
+ "region": "southeastasia",
+ "createNewCloudService": true,
+ "originalStorageAccountOption": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ },
+ "identityInfo": {
+ "isSystemAssignedIdentity": false,
+ "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupValidateOperationResults/00000000-0000-0000-0000-000000000000?api-version=2022-03-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupValidateOperationsStatuses/00000000-0000-0000-0000-000000000000?api-version=2022-03-01",
+ "Retry-After": 10
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json
new file mode 100644
index 000000000000..e2723afee3b0
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json
@@ -0,0 +1,189 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "v2-daily-sample",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "timeZone": "India Standard Time",
+ "instantRpRetentionRangeInDays": 30,
+ "policyType": "V2",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicyV2",
+ "scheduleRunFrequency": "Daily",
+ "dailySchedule": {
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ]
+ }
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionDuration": {
+ "count": 180,
+ "durationType": "Days"
+ },
+ "retentionTimes": [
+ "2021-12-17T08:00:00+00:00"
+ ]
+ },
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "retentionDuration": {
+ "count": 12,
+ "durationType": "Weeks"
+ },
+ "retentionTimes": [
+ "2021-12-17T08:00:00+00:00"
+ ]
+ },
+ "monthlySchedule": {
+ "retentionDuration": {
+ "count": 60,
+ "durationType": "Months"
+ },
+ "retentionScheduleDaily": null,
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "First"
+ ]
+ },
+ "retentionTimes": [
+ "2021-12-17T08:00:00+00:00"
+ ]
+ },
+ "yearlySchedule": {
+ "monthsOfYear": [
+ "January"
+ ],
+ "retentionDuration": {
+ "count": 10,
+ "durationType": "Years"
+ },
+ "retentionScheduleDaily": null,
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "First"
+ ]
+ },
+ "retentionTimes": [
+ "2021-12-17T08:00:00+00:00"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample",
+ "name": "v2-daily-sample",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "instantRpRetentionRangeInDays": 30,
+ "policyType": "V2",
+ "protectedItemsCount": 0,
+ "resourceGuardOperationRequests": null,
+ "retentionPolicy": {
+ "dailySchedule": {
+ "retentionDuration": {
+ "count": 180,
+ "durationType": "Days"
+ },
+ "retentionTimes": [
+ "2021-12-17T08:00:00+00:00"
+ ]
+ },
+ "monthlySchedule": {
+ "retentionDuration": {
+ "count": 60,
+ "durationType": "Months"
+ },
+ "retentionScheduleDaily": null,
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "First"
+ ]
+ },
+ "retentionTimes": [
+ "2021-12-17T08:00:00+00:00"
+ ]
+ },
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "retentionDuration": {
+ "count": 12,
+ "durationType": "Weeks"
+ },
+ "retentionTimes": [
+ "2021-12-17T08:00:00+00:00"
+ ]
+ },
+ "yearlySchedule": {
+ "monthsOfYear": [
+ "January"
+ ],
+ "retentionDuration": {
+ "count": 10,
+ "durationType": "Years"
+ },
+ "retentionScheduleDaily": null,
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "First"
+ ]
+ },
+ "retentionTimes": [
+ "2021-12-17T08:00:00+00:00"
+ ]
+ }
+ },
+ "schedulePolicy": {
+ "dailySchedule": {
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ]
+ },
+ "schedulePolicyType": "SimpleSchedulePolicyV2",
+ "scheduleRunFrequency": "Daily"
+ },
+ "timeZone": "India Standard Time"
+ },
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies"
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-06-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operations/00000000-0000-0000-0000-000000000000?api-version=2020-06-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json
new file mode 100644
index 000000000000..7901c9adfcdc
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json
@@ -0,0 +1,189 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "v2-daily-sample",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "timeZone": "India Standard Time",
+ "instantRpRetentionRangeInDays": 30,
+ "policyType": "V2",
+ "schedulePolicy": {
+ "hourlySchedule": {
+ "interval": 4,
+ "scheduleWindowDuration": 16,
+ "scheduleWindowStartTime": "2021-12-17T08:00:00Z"
+ },
+ "schedulePolicyType": "SimpleSchedulePolicyV2",
+ "scheduleRunFrequency": "Hourly"
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionDuration": {
+ "count": 180,
+ "durationType": "Days"
+ },
+ "retentionTimes": [
+ "2021-12-17T08:00:00+00:00"
+ ]
+ },
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "retentionDuration": {
+ "count": 12,
+ "durationType": "Weeks"
+ },
+ "retentionTimes": [
+ "2021-12-17T08:00:00+00:00"
+ ]
+ },
+ "monthlySchedule": {
+ "retentionDuration": {
+ "count": 60,
+ "durationType": "Months"
+ },
+ "retentionScheduleDaily": null,
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "First"
+ ]
+ },
+ "retentionTimes": [
+ "2021-12-17T08:00:00+00:00"
+ ]
+ },
+ "yearlySchedule": {
+ "monthsOfYear": [
+ "January"
+ ],
+ "retentionDuration": {
+ "count": 10,
+ "durationType": "Years"
+ },
+ "retentionScheduleDaily": null,
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "First"
+ ]
+ },
+ "retentionTimes": [
+ "2021-12-17T08:00:00+00:00"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample",
+ "name": "v2-daily-sample",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "instantRpRetentionRangeInDays": 30,
+ "policyType": "V2",
+ "protectedItemsCount": 0,
+ "resourceGuardOperationRequests": null,
+ "retentionPolicy": {
+ "dailySchedule": {
+ "retentionDuration": {
+ "count": 180,
+ "durationType": "Days"
+ },
+ "retentionTimes": [
+ "2021-12-17T08:00:00+00:00"
+ ]
+ },
+ "monthlySchedule": {
+ "retentionDuration": {
+ "count": 60,
+ "durationType": "Months"
+ },
+ "retentionScheduleDaily": null,
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "First"
+ ]
+ },
+ "retentionTimes": [
+ "2021-12-17T08:00:00+00:00"
+ ]
+ },
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "retentionDuration": {
+ "count": 12,
+ "durationType": "Weeks"
+ },
+ "retentionTimes": [
+ "2021-12-17T08:00:00+00:00"
+ ]
+ },
+ "yearlySchedule": {
+ "monthsOfYear": [
+ "January"
+ ],
+ "retentionDuration": {
+ "count": 10,
+ "durationType": "Years"
+ },
+ "retentionScheduleDaily": null,
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "First"
+ ]
+ },
+ "retentionTimes": [
+ "2021-12-17T08:00:00+00:00"
+ ]
+ }
+ },
+ "schedulePolicy": {
+ "hourlySchedule": {
+ "interval": 4,
+ "scheduleWindowDuration": 16,
+ "scheduleWindowStartTime": "2021-12-17T08:00:00Z"
+ },
+ "schedulePolicyType": "SimpleSchedulePolicyV2",
+ "scheduleRunFrequency": "Hourly"
+ },
+ "timeZone": "India Standard Time"
+ },
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies"
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-06-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operations/00000000-0000-0000-0000-000000000000?api-version=2020-06-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/V2Policy/v2-Get-Policy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/V2Policy/v2-Get-Policy.json
new file mode 100644
index 000000000000..ae0e9f5b399f
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/V2Policy/v2-Get-Policy.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "v2-daily-sample",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample",
+ "name": "v2-daily-sample",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "instantRpRetentionRangeInDays": 30,
+ "policyType": "V2",
+ "schedulePolicy": {
+ "dailySchedule": {
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ]
+ },
+ "schedulePolicyType": "SimpleSchedulePolicyV2",
+ "scheduleRunFrequency": "Daily"
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 0,
+ "resourceGuardOperationRequests": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/V2Policy/v2-List-Policies.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/V2Policy/v2-List-Policies.json
new file mode 100644
index 000000000000..8ddca2fae638
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/V2Policy/v2-List-Policies.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2023-06-01",
+ "$filter": "backupManagementType eq 'AzureIaasVM'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy",
+ "name": "DefaultPolicy",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2017-12-05T19:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2017-12-05T19:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 30,
+ "durationType": "Days"
+ }
+ }
+ },
+ "protectedItemsCount": 0
+ }
+ },
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 0
+ }
+ },
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-policy",
+ "name": "v2-daily-policy",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicyV2",
+ "scheduleRunFrequency": "Daily",
+ "dailySchedule": {
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ]
+ }
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ValidateOperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ValidateOperationResults.json
new file mode 100644
index 000000000000..63f7f250f823
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ValidateOperationResults.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupValidateOperationResults/00000000-0000-0000-0000-000000000000?api-version=2022-03-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupValidateOperationsStatuses/00000000-0000-0000-0000-000000000000?api-version=2022-03-01",
+ "Retry-After": 10
+ }
+ },
+ "200": {
+ "body": {
+ "validateOperationResponse": {
+ "validationResults": [
+ {
+ "code": "UserErrorCoreCountSubscriptionQuotaReached",
+ "message": "Core Count subscription quota has been reached.",
+ "recommendations": [
+ "Contact Azure support to increase the limits."
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ValidateOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ValidateOperationStatus.json
new file mode 100644
index 000000000000..26ee7f602c07
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ValidateOperationStatus.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "status": "Succeeded",
+ "startTime": "2017-10-29T06:04:18.207325Z",
+ "endTime": "2017-10-29T06:04:18.207325Z",
+ "properties": {
+ "objectType": "OperationStatusValidateOperationExtendedInfo",
+ "validateOperationResponse": {
+ "validationResults": [
+ {
+ "code": "UserErrorCoreCountSubscriptionQuotaReached",
+ "message": "Core Count subscription quota has been reached.",
+ "recommendations": [
+ "Contact Azure support to increase the limits."
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json
new file mode 100644
index 000000000000..71ba062da0cf
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRG",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName",
+ "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVault/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;testRG;testvmName/protectedItems/VM;iaasvmcontainerv2;testRG;testvmName/recoveryPoints/348916168024334",
+ "properties": {
+ "objectType": "ValidateIaasVMRestoreOperationRequest",
+ "restoreRequest": {
+ "recoveryPointId": "348916168024334",
+ "objectType": "IaasVMRestoreRequest",
+ "recoveryType": "RestoreDisks",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount",
+ "region": "southeastasia",
+ "createNewCloudService": true,
+ "originalStorageAccountOption": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ },
+ "identityInfo": {
+ "isSystemAssignedIdentity": false,
+ "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "validateOperationResponse": {
+ "validationResults": [
+ {
+ "code": "UserErrorCoreCountSubscriptionQuotaReached",
+ "message": "Core Count subscription quota has been reached.",
+ "recommendations": [
+ "Contact Azure support to increase the limits."
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json
new file mode 100644
index 000000000000..9eb32194d8eb
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRG",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName",
+ "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVault/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;testRG;testvmName/protectedItems/VM;iaasvmcontainerv2;testRG;testvmName/recoveryPoints/348916168024334",
+ "properties": {
+ "objectType": "ValidateIaasVMRestoreOperationRequest",
+ "restoreRequest": {
+ "recoveryPointId": "348916168024334",
+ "objectType": "IaasVMRestoreRequest",
+ "recoveryType": "RestoreDisks",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "region": "southeastasia",
+ "createNewCloudService": true,
+ "originalStorageAccountOption": false,
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ },
+ "identityInfo": {
+ "isSystemAssignedIdentity": false,
+ "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi"
+ },
+ "identityBasedRestoreDetails": {
+ "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "validateOperationResponse": {
+ "validationResults": [
+ {
+ "code": "UserErrorCoreCountSubscriptionQuotaReached",
+ "message": "Core Count subscription quota has been reached.",
+ "recommendations": [
+ "Contact Azure support to increase the limits."
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectableContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectableContainers_List.json
new file mode 100644
index 000000000000..6e036b9f8f09
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectableContainers_List.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRg",
+ "vaultName": "testvault",
+ "fabricName": "Azure",
+ "api-version": "2023-06-01",
+ "$filter": "backupManagementType eq 'AzureStorage' and workloadType eq 'AzureFileShare'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;storage;test-rg;teststorage",
+ "name": "StorageContainer;storage;test-rg;testst",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers",
+ "properties": {
+ "friendlyName": "teststorage",
+ "backupManagementType": "AzureStorage",
+ "protectableContainerType": "StorageContainer",
+ "healthStatus": "Healthy",
+ "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorage"
+ }
+ },
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;ClassicStorage;test-rg;teststorage",
+ "name": "StorageContainer;ClassicStorage;test-rg;teststorage",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers",
+ "properties": {
+ "friendlyName": "teststorage",
+ "backupManagementType": "AzureStorage",
+ "protectableContainerType": "StorageContainer",
+ "healthStatus": "Healthy",
+ "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.ClassicStorage/storageAccounts/teststorage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectionContainers_Inquire.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectionContainers_Inquire.json
new file mode 100644
index 000000000000..74d0a2ff3d86
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectionContainers_Inquire.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "test-rg",
+ "vaultName": "testvault",
+ "fabricName": "Azure",
+ "containerName": "storagecontainer;Storage;test-rg;teststorage",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json
new file mode 100644
index 000000000000..56ab4ff3ee7b
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "test-rg",
+ "vaultName": "testvault",
+ "fabricName": "Azure",
+ "containerName": "VMAppContainer;Compute;testRG;testSQL",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "204": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ },
+ "200": {
+ "body": {
+ "name": "VMAppContainer;Compute;testRG;testSQL",
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers",
+ "properties": {
+ "extendedInfo": {
+ "hostServerName": "testsql",
+ "nodesList": [],
+ "inquiryInfo": {
+ "status": "Success",
+ "errorDetail": {
+ "code": "Success",
+ "message": "Not Available",
+ "recommendations": [
+ "Not Available"
+ ]
+ },
+ "inquiryDetails": [
+ {
+ "type": "sql",
+ "itemCount": 14,
+ "inquiryValidation": {
+ "status": "Success",
+ "errorDetail": {
+ "code": "Success",
+ "message": "Not Available",
+ "recommendations": [
+ "Not Available"
+ ]
+ }
+ }
+ }
+ ]
+ }
+ },
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL",
+ "backupManagementType": "AzureWorkload",
+ "workloadType": null,
+ "containerType": "VMAppContainer",
+ "friendlyName": "testSQL"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectionContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectionContainers_List.json
new file mode 100644
index 000000000000..242cde62b56b
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectionContainers_List.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRg",
+ "vaultName": "testVault",
+ "api-version": "2023-06-01",
+ "fabricName": "Azure",
+ "$filter": "backupManagementType eq 'AzureWorkload'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourcegroups/testrg/providers/microsoft.recoveryservices/vaults/suchandr-test-vault-wcus/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;testrg;suchandrtestsa125",
+ "name": "StorageContainer;Storage;testrg;suchandrtestsa125",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers",
+ "properties": {
+ "sourceResourceId": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/suchandrtestsa125",
+ "protectedItemCount": 2,
+ "friendlyName": "suchandrtestsa125",
+ "backupManagementType": "AzureStorage",
+ "registrationStatus": "Registered",
+ "healthStatus": "Healthy",
+ "containerType": "StorageContainer"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectionContainers_Register.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectionContainers_Register.json
new file mode 100644
index 000000000000..e2510a466b18
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectionContainers_Register.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "swaggertestvault",
+ "fabricName": "Azure",
+ "containerName": "StorageContainer;Storage;SwaggerTestRg;swaggertestsa",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "friendlyName": "swaggertestsa",
+ "backupManagementType": "AzureStorage",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/SwaggerTestRg/providers/Microsoft.Storage/storageAccounts/swaggertestsa",
+ "containerType": "StorageContainer",
+ "acquireStorageAccountLock": "Acquire"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;SwaggerTestRg;swaggertestsa/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2019-05-13-preview",
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;SwaggerTestRg;swaggertestsa/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;SwaggerTestRg;swaggertestsa",
+ "name": "StorageContainer;Storage;SwaggerTestRg;swaggertestsa",
+ "properties": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/SwaggerTestRg/providers/Microsoft.Storage/storageAccounts/swaggertestsa",
+ "protectedItemCount": 0,
+ "acquireStorageAccountLock": "Acquire",
+ "friendlyName": "swaggertestsa",
+ "backupManagementType": "AzureStorage",
+ "registrationStatus": "Registered",
+ "healthStatus": "Healthy",
+ "containerType": "StorageContainer"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json
new file mode 100644
index 000000000000..19e8f6283853
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json
@@ -0,0 +1,180 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "swaggertestvault",
+ "policyName": "dailyPolicy2",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "backupManagementType": "AzureStorage",
+ "workLoadType": "AzureFileShare",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2021-09-29T08:00:00.000Z"
+ ]
+ },
+ "timeZone": "UTC",
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2021-09-29T08:00:00.000Z"
+ ],
+ "retentionDuration": {
+ "count": 5,
+ "durationType": "Days"
+ }
+ },
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "retentionTimes": [
+ "2021-09-29T08:00:00.000Z"
+ ],
+ "retentionDuration": {
+ "count": 12,
+ "durationType": "Weeks"
+ }
+ },
+ "monthlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleDaily": null,
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "First"
+ ]
+ },
+ "retentionTimes": [
+ "2021-09-29T08:00:00.000Z"
+ ],
+ "retentionDuration": {
+ "count": 60,
+ "durationType": "Months"
+ }
+ },
+ "yearlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "monthsOfYear": [
+ "January"
+ ],
+ "retentionScheduleDaily": null,
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "First"
+ ]
+ },
+ "retentionTimes": [
+ "2021-09-29T08:00:00.000Z"
+ ],
+ "retentionDuration": {
+ "count": 10,
+ "durationType": "Years"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/dailyPolicy2",
+ "name": "dailyPolicy2",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureStorage",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2021-09-29T08:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2021-09-29T08:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 5,
+ "durationType": "Days"
+ }
+ },
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "retentionTimes": [
+ "2021-09-29T08:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 12,
+ "durationType": "Weeks"
+ }
+ },
+ "monthlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "First"
+ ]
+ },
+ "retentionTimes": [
+ "2021-09-29T08:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 60,
+ "durationType": "Months"
+ }
+ },
+ "yearlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "monthsOfYear": [
+ "January"
+ ],
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "First"
+ ]
+ },
+ "retentionTimes": [
+ "2021-09-29T08:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 10,
+ "durationType": "Years"
+ }
+ }
+ },
+ "timeZone": "UTC",
+ "protectedItemsCount": 0
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/dailyPolicy2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/dailyPolicy2/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json
new file mode 100644
index 000000000000..4e27d406c80f
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json
@@ -0,0 +1,187 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "swaggertestvault",
+ "policyName": "newPolicyV2",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "backupManagementType": "AzureStorage",
+ "workLoadType": "AzureFileShare",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2023-07-18T09:30:00.000Z"
+ ]
+ },
+ "timeZone": "UTC",
+ "vaultRetentionPolicy": {
+ "snapshotRetentionInDays": 5,
+ "vaultRetention": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2023-07-18T09:30:00.000Z"
+ ],
+ "retentionDuration": {
+ "count": 30,
+ "durationType": "Days"
+ }
+ },
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "retentionTimes": [
+ "2023-07-18T09:30:00.000Z"
+ ],
+ "retentionDuration": {
+ "count": 12,
+ "durationType": "Weeks"
+ }
+ },
+ "monthlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleDaily": null,
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "First"
+ ]
+ },
+ "retentionTimes": [
+ "2023-07-18T09:30:00.000Z"
+ ],
+ "retentionDuration": {
+ "count": 60,
+ "durationType": "Months"
+ }
+ },
+ "yearlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "monthsOfYear": [
+ "January"
+ ],
+ "retentionScheduleDaily": null,
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "First"
+ ]
+ },
+ "retentionTimes": [
+ "2023-07-18T09:30:00.000Z"
+ ],
+ "retentionDuration": {
+ "count": 10,
+ "durationType": "Years"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicyV2",
+ "name": "newPolicyV2",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureStorage",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2023-07-18T09:30:00.000Z"
+ ]
+ },
+ "vaultRetentionPolicy": {
+ "snapshotRetentionInDays": 5,
+ "vaultRetention": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2023-07-18T09:30:00.000Z"
+ ],
+ "retentionDuration": {
+ "count": 30,
+ "durationType": "Days"
+ }
+ },
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "retentionTimes": [
+ "2023-07-18T09:30:00.000Z"
+ ],
+ "retentionDuration": {
+ "count": 12,
+ "durationType": "Weeks"
+ }
+ },
+ "monthlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleDaily": null,
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "First"
+ ]
+ },
+ "retentionTimes": [
+ "2023-07-18T09:30:00.000Z"
+ ],
+ "retentionDuration": {
+ "count": 60,
+ "durationType": "Months"
+ }
+ },
+ "yearlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "monthsOfYear": [
+ "January"
+ ],
+ "retentionScheduleDaily": null,
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "First"
+ ]
+ },
+ "retentionTimes": [
+ "2023-07-18T09:30:00.000Z"
+ ],
+ "retentionDuration": {
+ "count": 10,
+ "durationType": "Years"
+ }
+ }
+ }
+ },
+ "timeZone": "UTC",
+ "protectedItemsCount": 0
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicyV2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-06-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicyV2/operations/00000000-0000-0000-0000-000000000000?api-version=2023-06-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json
new file mode 100644
index 000000000000..a5b98094f0f9
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json
@@ -0,0 +1,176 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "swaggertestvault",
+ "policyName": "newPolicy2",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "backupManagementType": "AzureStorage",
+ "workLoadType": "AzureFileShare",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Hourly",
+ "hourlySchedule": {
+ "interval": 4,
+ "scheduleWindowStartTime": "2021-09-29T08:00:00.000Z",
+ "scheduleWindowDuration": 12
+ }
+ },
+ "timeZone": "UTC",
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": null,
+ "retentionDuration": {
+ "count": 5,
+ "durationType": "Days"
+ }
+ },
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "retentionTimes": null,
+ "retentionDuration": {
+ "count": 12,
+ "durationType": "Weeks"
+ }
+ },
+ "monthlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleDaily": null,
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "First"
+ ]
+ },
+ "retentionTimes": null,
+ "retentionDuration": {
+ "count": 60,
+ "durationType": "Months"
+ }
+ },
+ "yearlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "monthsOfYear": [
+ "January"
+ ],
+ "retentionScheduleDaily": null,
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "First"
+ ]
+ },
+ "retentionTimes": null,
+ "retentionDuration": {
+ "count": 10,
+ "durationType": "Years"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicy2",
+ "name": "newPolicy2",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureStorage",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Hourly",
+ "hourlySchedule": {
+ "interval": 4,
+ "scheduleWindowStartTime": "2021-09-29T08:00:00Z",
+ "scheduleWindowDuration": 12
+ },
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2021-09-29T20:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 5,
+ "durationType": "Days"
+ }
+ },
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "retentionTimes": [
+ "2021-09-29T20:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 12,
+ "durationType": "Weeks"
+ }
+ },
+ "monthlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "First"
+ ]
+ },
+ "retentionTimes": [
+ "2021-09-29T20:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 60,
+ "durationType": "Months"
+ }
+ },
+ "yearlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "monthsOfYear": [
+ "January"
+ ],
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "First"
+ ]
+ },
+ "retentionTimes": [
+ "2021-09-29T20:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 10,
+ "durationType": "Years"
+ }
+ }
+ },
+ "timeZone": "UTC",
+ "protectedItemsCount": 0
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicy2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicy2/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/SoftDeletedContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/SoftDeletedContainers_List.json
new file mode 100644
index 000000000000..2d470dbe5163
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureStorage/SoftDeletedContainers_List.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRg",
+ "vaultName": "testVault",
+ "api-version": "2023-06-01",
+ "fabricName": "Azure",
+ "$filter": "backupManagementType eq 'AzureWorkload'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourcegroups/testrg/providers/microsoft.recoveryservices/vaults/suchandr-test-vault-wcus/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;testrg;suchandrtestsa125",
+ "name": "StorageContainer;Storage;testrg;suchandrtestsa125",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers",
+ "properties": {
+ "sourceResourceId": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/suchandrtestsa125",
+ "protectedItemCount": 2,
+ "friendlyName": "suchandrtestsa125",
+ "backupManagementType": "AzureStorage",
+ "registrationStatus": "SoftDeleted",
+ "healthStatus": "Healthy",
+ "containerType": "StorageContainer"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/BackupPolicies_List.json
new file mode 100644
index 000000000000..12824e9520fd
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/BackupPolicies_List.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2023-06-01",
+ "$filter": "backupManagementType eq 'AzureWorkload'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/HourlyLogBackup",
+ "name": "HourlyLogBackup",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureWorkload",
+ "workLoadType": "SQLDataBase",
+ "settings": {
+ "timeZone": "UTC",
+ "issqlcompression": false
+ },
+ "subProtectionPolicy": [
+ {
+ "policyType": "Full",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2017-12-05T19:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2017-12-05T19:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 30,
+ "durationType": "Days"
+ }
+ }
+ }
+ },
+ {
+ "policyType": "Log",
+ "schedulePolicy": {
+ "schedulePolicyType": "LogSchedulePolicy",
+ "scheduleFrequencyInMins": 60
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "SimpleRetentionPolicy",
+ "retentionDuration": {
+ "count": 30,
+ "durationType": "Days"
+ }
+ }
+ }
+ ],
+ "protectedItemsCount": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json
new file mode 100644
index 000000000000..40252bf4ef41
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myRG",
+ "vaultName": "myVault",
+ "fabricName": "Azure",
+ "intentObjectName": "249D9B07-D2EF-4202-AA64-65F35418564E",
+ "api-version": "2023-06-01",
+ "parameters": {}
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/BackupProtectionIntent_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/BackupProtectionIntent_Get.json
new file mode 100644
index 000000000000..e699d44f43fb
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/BackupProtectionIntent_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myRG",
+ "vaultName": "myVault",
+ "fabricName": "Azure",
+ "intentObjectName": "249D9B07-D2EF-4202-AA64-65F35418564E",
+ "api-version": "2023-06-01",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/249D9B07-D2EF-4202-AA64-65F35418564E",
+ "name": "249D9B07-D2EF-4202-AA64-65F35418564E",
+ "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent",
+ "properties": {
+ "protectionIntentItemType": "AzureWorkloadContainerAutoProtectionIntent",
+ "backupManagementType": "AzureWorkload",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy",
+ "itemId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupProtectionContainer/VMAppContainer;Compute;testVmName/backupProtectableItems/SQLInstance;MSSQLSERVER"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/BackupProtectionIntent_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/BackupProtectionIntent_List.json
new file mode 100644
index 000000000000..90afdfc993cd
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/BackupProtectionIntent_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myRG",
+ "vaultName": "myVault",
+ "api-version": "2023-06-01",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/249D9B07-D2EF-4202-AA64-65F35418564E",
+ "name": "249D9B07-D2EF-4202-AA64-65F35418564E",
+ "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent",
+ "properties": {
+ "protectionIntentItemType": "AzureWorkloadContainerAutoProtectionIntent",
+ "backupManagementType": "AzureWorkload",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy",
+ "itemId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupProtectionContainer/VMAppContainer;Compute;testVmName/backupProtectableItems/SQLInstance;MSSQLSERVER"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/BackupWorkloadItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/BackupWorkloadItems_List.json
new file mode 100644
index 000000000000..bf7c2a8e64e6
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/BackupWorkloadItems_List.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRg",
+ "vaultName": "suchandr-seacan-rsv",
+ "api-version": "2023-06-01",
+ "$filter": "backupManagementType eq 'AzureWorkload'",
+ "fabricName": "Azure",
+ "containerName": "VMAppContainer;Compute;bvtdtestag;sqlserver-1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/testRg/providers/Microsoft.RecoveryServices/vaults/suchandr-seacan-rsv/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;bvtdtestag;sqlserver-1/protectableItems/SQLInstance;MSSQLSERVER",
+ "name": "SQLInstance;MSSQLSERVER",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/items",
+ "properties": {
+ "dataDirectoryPaths": [
+ {
+ "type": "Data",
+ "path": "F:\\DATA\\"
+ },
+ {
+ "type": "Log",
+ "path": "F:\\LOG\\"
+ }
+ ],
+ "parentName": "MSSQLSERVER",
+ "serverName": "sqlserver-1.contoso.com",
+ "isAutoProtectable": true,
+ "subinquireditemcount": 0,
+ "subWorkloadItemCount": 3,
+ "backupManagementType": "AzureWorkload",
+ "workloadType": "SQL",
+ "workloadItemType": "SQLInstance",
+ "friendlyName": "MSSQLSERVER",
+ "protectionState": "NotProtected"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/ProtectionContainers_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/ProtectionContainers_Get.json
new file mode 100644
index 000000000000..689c88467f3c
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/ProtectionContainers_Get.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRg",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "VMAppContainer;Compute;testRG;testSQL",
+ "api-version": "2023-06-01",
+ "$filter": "backupManagementType eq 'AzureWorkload'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "VMAppContainer;Compute;testRG;testSQL",
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers",
+ "properties": {
+ "extendedInfo": {
+ "hostServerName": "testsql",
+ "nodesList": [],
+ "inquiryInfo": {
+ "status": "Success",
+ "errorDetail": {
+ "code": "Success",
+ "message": "Not Available",
+ "recommendations": [
+ "Not Available"
+ ]
+ },
+ "inquiryDetails": [
+ {
+ "type": "sql",
+ "itemCount": 14,
+ "inquiryValidation": {
+ "status": "Success",
+ "errorDetail": {
+ "code": "Success",
+ "message": "Not Available",
+ "recommendations": [
+ "Not Available"
+ ]
+ }
+ }
+ }
+ ]
+ }
+ },
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL",
+ "backupManagementType": "AzureWorkload",
+ "workloadType": null,
+ "containerType": "VMAppContainer",
+ "friendlyName": "testSQL"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/ProtectionContainers_Unregister.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/ProtectionContainers_Unregister.json
new file mode 100644
index 000000000000..484d34263a6d
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/ProtectionContainers_Unregister.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRg",
+ "vaultName": "testVault",
+ "api-version": "2023-06-01",
+ "fabricName": "Azure",
+ "containerName": "storagecontainer;Storage;test-rg;teststorage"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json
new file mode 100644
index 000000000000..2cc138e66993
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json
@@ -0,0 +1,260 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "backupManagementType": "AzureWorkload",
+ "workLoadType": "SQLDataBase",
+ "settings": {
+ "timeZone": "Pacific Standard Time",
+ "issqlcompression": false
+ },
+ "subProtectionPolicy": [
+ {
+ "policyType": "Full",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleRunDays": [
+ "Sunday",
+ "Tuesday"
+ ]
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Sunday",
+ "Tuesday"
+ ],
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 2,
+ "durationType": "Weeks"
+ }
+ },
+ "monthlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "Second"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Months"
+ }
+ },
+ "yearlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "monthsOfYear": [
+ "January",
+ "June",
+ "December"
+ ],
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "Last"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Years"
+ }
+ }
+ }
+ },
+ {
+ "policyType": "Differential",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleRunDays": [
+ "Friday"
+ ]
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "SimpleRetentionPolicy",
+ "retentionDuration": {
+ "count": 8,
+ "durationType": "Days"
+ }
+ }
+ },
+ {
+ "policyType": "Log",
+ "schedulePolicy": {
+ "schedulePolicyType": "LogSchedulePolicy",
+ "scheduleFrequencyInMins": 60
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "SimpleRetentionPolicy",
+ "retentionDuration": {
+ "count": 7,
+ "durationType": "Days"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureWorkload",
+ "workLoadType": "SQLDataBase",
+ "settings": {
+ "timeZone": "Pacific Standard Time",
+ "issqlcompression": false
+ },
+ "subProtectionPolicy": [
+ {
+ "policyType": "Full",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunDays": [
+ "Sunday",
+ "Tuesday"
+ ],
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Sunday",
+ "Tuesday"
+ ],
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 2,
+ "durationType": "Weeks"
+ }
+ },
+ "monthlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "Second"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Months"
+ }
+ },
+ "yearlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "monthsOfYear": [
+ "January",
+ "June",
+ "December"
+ ],
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "Last"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Years"
+ }
+ }
+ }
+ },
+ {
+ "policyType": "Differential",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunDays": [
+ "Friday"
+ ],
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "SimpleRetentionPolicy",
+ "retentionDuration": {
+ "count": 8,
+ "durationType": "Days"
+ }
+ }
+ },
+ {
+ "policyType": "Log",
+ "schedulePolicy": {
+ "schedulePolicyType": "LogSchedulePolicy",
+ "scheduleFrequencyInMins": 60
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "SimpleRetentionPolicy",
+ "retentionDuration": {
+ "count": 7,
+ "durationType": "Days"
+ }
+ }
+ }
+ ],
+ "protectedItemsCount": 0
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json
new file mode 100644
index 000000000000..be178b695ffa
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "sourceRG",
+ "vaultName": "source-rsv",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "0f48183b-0a44-4dca-aec1-bba5daab888a",
+ "name": "0f48183b-0a44-4dca-aec1-bba5daab888a",
+ "status": "Succeeded",
+ "startTime": "2020-02-27T11:59:47.5901592Z",
+ "endTime": "2020-02-27T11:59:47.5901592Z"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json
new file mode 100644
index 000000000000..dc8fcdbea8cb
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "sourceRG",
+ "vaultName": "source-rsv",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/operationResult/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview",
+ "Retry-After": 60
+ }
+ },
+ "200": {
+ "body": {
+ "objectType": "PrepareDataMoveResponse"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/BackupDataMove/PrepareDataMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/BackupDataMove/PrepareDataMove_Post.json
new file mode 100644
index 000000000000..302a584c520d
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/BackupDataMove/PrepareDataMove_Post.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "sourceRG",
+ "vaultName": "source-rsv",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "targetResourceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/targetRG/providers/Microsoft.RecoveryServices/vaults/target-rsv",
+ "targetRegion": "USGov Virginia",
+ "dataMoveLevel": "Vault"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/prepareDataMove/operationResult/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/backupDataMove/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/BackupDataMove/TriggerDataMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/BackupDataMove/TriggerDataMove_Post.json
new file mode 100644
index 000000000000..b2600ac0053c
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/BackupDataMove/TriggerDataMove_Post.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "targetRG",
+ "vaultName": "target-rsv",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "sourceResourceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv",
+ "sourceRegion": "USGov Iowa",
+ "dataMoveLevel": "Vault",
+ "correlationId": "MTg2OTcyMzM4NzYyMjc1NDY3Nzs1YmUzYmVmNi04YjJiLTRhOTItOTllYi01NTM0MDllYjk2NjE="
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/backupDataMove/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/BackupResourceEncryptionConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/BackupResourceEncryptionConfig_Get.json
new file mode 100644
index 000000000000..d79f98d50e17
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/BackupResourceEncryptionConfig_Get.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rishgrp",
+ "vaultName": "rishTestVault",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rishgrp/providers/Microsoft.RecoveryServicesBVTD2/vaults/rishTestVault/backupEncryptionConfigs/backupResourceEncryptionConfig",
+ "name": "backupResourceEncryptionConfig",
+ "type": "Microsoft.RecoveryServices/vaults/backupEncryptionConfigs",
+ "properties": {
+ "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi",
+ "useSystemAssignedIdentity": false,
+ "encryptionAtRestType": "CustomerManaged",
+ "keyUri": "https://gktestkv1.vault.azure.net/keys/Test1/ed2e8cdc7f86477ebf0c6462b504a9ed",
+ "subscriptionId": "1a2311d9-66f5-47d3-a9fb-7a37da63934b",
+ "lastUpdateStatus": "Succeeded",
+ "infrastructureEncryptionState": "Disabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/BackupResourceEncryptionConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/BackupResourceEncryptionConfig_Put.json
new file mode 100644
index 000000000000..fee236242521
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/BackupResourceEncryptionConfig_Put.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "test-rg",
+ "vaultName": "source-rsv",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "encryptionAtRestType": "CustomerManaged",
+ "keyUri": "https://gktestkv1.vault.azure.net/keys/Test1/ed2e8cdc7f86477ebf0c6462b504a9ed",
+ "subscriptionId": "1a2311d9-66f5-47d3-a9fb-7a37da63934b",
+ "infrastructureEncryptionState": "true"
+ }
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json
new file mode 100644
index 000000000000..fcb180bf1510
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRG",
+ "vaultName": "testVault",
+ "api-version": "2023-06-01",
+ "$filter": "type eq 'BackupProtectedItemCountSummary'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Count",
+ "currentValue": 7,
+ "limit": -1,
+ "name": {
+ "value": "AzureIaasVM",
+ "localizedValue": "Azure Virtual Machine"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 3,
+ "limit": -1,
+ "name": {
+ "value": "MAB",
+ "localizedValue": "Azure Backup Agent"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 1,
+ "limit": -1,
+ "name": {
+ "value": "AzureBackupServer",
+ "localizedValue": "Azure Backup Server"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 2,
+ "limit": -1,
+ "name": {
+ "value": "AzureStorage",
+ "localizedValue": "Azure Storage (Azure Files)"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 2,
+ "limit": -1,
+ "name": {
+ "value": "AzureWorkload",
+ "localizedValue": "SQL in Azure VM"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json
new file mode 100644
index 000000000000..1815c732a361
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRG",
+ "vaultName": "testVault",
+ "api-version": "2023-06-01",
+ "$filter": "type eq 'BackupProtectionContainerCountSummary'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Count",
+ "currentValue": 2,
+ "limit": -1,
+ "name": {
+ "value": "AzureBackupServer",
+ "localizedValue": "Azure Backup Server"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 3,
+ "limit": -1,
+ "name": {
+ "value": "MAB",
+ "localizedValue": "Azure Backup Agent"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 1,
+ "limit": -1,
+ "name": {
+ "value": "AzureWorkload",
+ "localizedValue": "SQL in Azure VM"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupResourceVaultConfigs_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupResourceVaultConfigs_Get.json
new file mode 100644
index 000000000000..bf3ef9c5b2c9
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupResourceVaultConfigs_Get.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "SwaggerTest",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig",
+ "name": "vaultconfig",
+ "type": "Microsoft.RecoveryServices/vaults/backupconfig",
+ "properties": {
+ "enhancedSecurityState": "Enabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupResourceVaultConfigs_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupResourceVaultConfigs_Patch.json
new file mode 100644
index 000000000000..e2b9c63960d0
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupResourceVaultConfigs_Patch.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "SwaggerTest",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "enhancedSecurityState": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig",
+ "name": "vaultconfig",
+ "type": "Microsoft.RecoveryServices/vaults/backupconfig",
+ "properties": {
+ "enhancedSecurityState": "Enabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupResourceVaultConfigs_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupResourceVaultConfigs_Put.json
new file mode 100644
index 000000000000..a75411ff4a6e
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupResourceVaultConfigs_Put.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "SwaggerTest",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "enhancedSecurityState": "Enabled",
+ "softDeleteFeatureState": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig",
+ "name": "vaultconfig",
+ "type": "Microsoft.RecoveryServices/vaults/backupconfig",
+ "properties": {
+ "enhancedSecurityState": "Enabled",
+ "softDeleteFeatureState": "Enabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupSecurityPin_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupSecurityPin_Get.json
new file mode 100644
index 000000000000..5be085852444
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupSecurityPin_Get.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "SwaggerTest",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "token": "200432",
+ "expiryTimeInUtcTicks": 636495150137443121,
+ "securityPIN": "200432"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupStorageConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupStorageConfig_Get.json
new file mode 100644
index 000000000000..a50159207e03
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupStorageConfig_Get.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig",
+ "name": "vaultstorageconfig",
+ "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig",
+ "properties": {
+ "storageModelType": "GeoRedundant",
+ "storageType": "GeoRedundant",
+ "storageTypeState": "Locked"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupStorageConfig_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupStorageConfig_Patch.json
new file mode 100644
index 000000000000..8afb23ef5376
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupStorageConfig_Patch.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "storageType": "LocallyRedundant",
+ "storageTypeState": "Unlocked"
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupStorageConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupStorageConfig_Put.json
new file mode 100644
index 000000000000..28173ac861ac
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/BackupStorageConfig_Put.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "storageType": "LocallyRedundant",
+ "storageTypeState": "Unlocked"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig",
+ "name": "vaultstorageconfig",
+ "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig",
+ "properties": {
+ "storageModelType": "LocallyRedundant",
+ "storageType": "LocallyRedundant",
+ "storageTypeState": "Unlocked"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/CancelJobOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/CancelJobOperationResult.json
new file mode 100644
index 000000000000..557efcbbd736
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/CancelJobOperationResult.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "jobName": "00000000-0000-0000-0000-000000000000",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "204": {},
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/ExportJobsOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/ExportJobsOperationResult.json
new file mode 100644
index 000000000000..7e59c86dd28c
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/ExportJobsOperationResult.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "operation": {
+ "objectType": "ExportJobsOperationResultInfo",
+ "blobUrl": "https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreportc00000000-0000-0000-0000-000000000000",
+ "blobSasKey": "?sv=2014-02-14&sr=b&sig=&st=2017-11-29T07%3A53%3A34Z&se=2017-11-29T08%3A03%3A34Z&sp=r"
+ },
+ "headers": {}
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 60,
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01"
+ },
+ "body": {
+ "operation": {
+ "objectType": "ExportJobsOperationResultInfo"
+ },
+ "headers": {
+ "Location": [
+ "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01"
+ ],
+ "Retry-After": [
+ "60"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/GetJobDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/GetJobDetails.json
new file mode 100644
index 000000000000..b9b8e6763c12
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/GetJobDetails.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "jobName": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT9.8782791S",
+ "virtualMachineVersion": "Compute",
+ "extendedInfo": {
+ "tasksList": [
+ {
+ "taskId": "Take Snapshot",
+ "duration": "PT0S",
+ "status": "InProgress"
+ },
+ {
+ "taskId": "Transfer data to vault",
+ "duration": "PT0S",
+ "status": "NotStarted"
+ }
+ ],
+ "propertyBag": {
+ "VM Name": "testvm"
+ }
+ },
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "Backup",
+ "status": "InProgress",
+ "startTime": "2017-08-03T05:31:07.014604Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/ListJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/ListJobs.json
new file mode 100644
index 000000000000..ab909bfddd2b
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/ListJobs.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT12.4272909S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "Backup",
+ "status": "InProgress",
+ "startTime": "2017-08-03T05:31:07.014604Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT31.3066291S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "ConfigureBackup",
+ "status": "Completed",
+ "startTime": "2017-08-03T05:30:32.4487085Z",
+ "endTime": "2017-08-03T05:31:03.7553376Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/ListJobsWithAllSupportedFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/ListJobsWithAllSupportedFilters.json
new file mode 100644
index 000000000000..15d6d5713705
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/ListJobsWithAllSupportedFilters.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2023-06-01",
+ "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM' and operation eq 'Backup' and backupManagementType eq 'AzureIaasVM' and status eq 'InProgress'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT12.4272909S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "Backup",
+ "status": "InProgress",
+ "startTime": "2017-08-03T05:31:07.014604Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json
new file mode 100644
index 000000000000..7d87be16d80b
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2023-06-01",
+ "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT12.4272909S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "Backup",
+ "status": "InProgress",
+ "startTime": "2017-08-03T05:31:07.014604Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT31.3066291S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "ConfigureBackup",
+ "status": "Completed",
+ "startTime": "2017-08-03T05:30:32.4487085Z",
+ "endTime": "2017-08-03T05:31:03.7553376Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs?api-version=2017-07-01&%24filter=startTime+eq+%272016-01-01+00%3a00%3a00+AM%27+and+endTime+eq+%272017-11-29+00%3a00%3a00+AM%27&%24skiptoken=%3c%3fxml+version%3d%221.0%22+encoding%3d%22utf-16%22%3f%3e%0d%0a%3cContinuationToken%3e%0d%0a++%3cContinuationToken%3e%0d%0a++++%3cVersion%3e2.0%3c%2fVersion%3e%0d%0a++++%3cType%3eTable%3c%2fType%3e%0d%0a++++%3cNextPartitionKey%3e1!28!NzI5MTk0OTM1MDkwNjEwODQzMA--%3c%2fNextPartitionKey%3e%0d%0a++++%3cNextRowKey%3e1!108!am9ic3N0YXJ0dGltZWluZGV4XzBfMjUxODkxNDYzNTI2NjE5Nzg5OF8wXzYwOWZkM2JmLTU4MzctNDFkYi1iMjExLTY1MzliNDNlZjM1OA--%3c%2fNextRowKey%3e%0d%0a++++%3cTargetLocation%3ePrimary%3c%2fTargetLocation%3e%0d%0a++%3c%2fContinuationToken%3e%0d%0a%3c%2fContinuationToken%3e"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/ProtectedItem_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/ProtectedItem_Delete.json
new file mode 100644
index 000000000000..cc87a2f22d0d
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/ProtectedItem_Delete.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
+ "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperations/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/ProtectedItem_Delete_OperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/ProtectedItem_Delete_OperationResult.json
new file mode 100644
index 000000000000..9fa0638a3c02
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/ProtectedItem_Delete_OperationResult.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperations/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ },
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/ProtectedItem_Delete_OperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/ProtectedItem_Delete_OperationStatus.json
new file mode 100644
index 000000000000..d07b8cda66f9
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/ProtectedItem_Delete_OperationStatus.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "status": "InProgress",
+ "startTime": "2017-08-03T06:52:53.886027Z",
+ "endTime": "0001-01-01T00:00:00.00000Z"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/RefreshContainers.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/RefreshContainers.json
new file mode 100644
index 000000000000..4fba5cf24b34
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/RefreshContainers.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "fabricName": "Azure",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/RefreshContainers_OperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/RefreshContainers_OperationResults.json
new file mode 100644
index 000000000000..5116e9f05056
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/RefreshContainers_OperationResults.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "fabricName": "Azure",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/TriggerBackup_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/TriggerBackup_Post.json
new file mode 100644
index 000000000000..65a1a4bfd13a
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/TriggerBackup_Post.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "linuxRsVaultRG",
+ "vaultName": "linuxRsVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;testrg;v1win2012r",
+ "protectedItemName": "VM;iaasvmcontainerv2;testrg;v1win2012r",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "objectType": "IaasVMBackupRequest"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/TriggerCancelJob.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/TriggerCancelJob.json
new file mode 100644
index 000000000000..6c9f06203895
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/TriggerCancelJob.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "jobName": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/TriggerExportJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/TriggerExportJobs.json
new file mode 100644
index 000000000000..5515deb033d6
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Common/TriggerExportJobs.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Dpm/BackupEngines_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Dpm/BackupEngines_Get.json
new file mode 100644
index 000000000000..8ddd91decf39
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Dpm/BackupEngines_Get.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRG",
+ "vaultName": "testVault",
+ "backupEngineName": "testServer",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer",
+ "name": "testServer",
+ "type": "Microsoft.RecoveryServices/vaults/backupEngines",
+ "properties": {
+ "backupEngineType": "DpmBackupEngine",
+ "dpmVersion": "5.1.348.0",
+ "isDpmUpgradeAvailable": false,
+ "azureBackupAgentVersion": "2.0.9532.0",
+ "isAzureBackupAgentUpgradeAvailable": false,
+ "registrationStatus": "Registered",
+ "backupEngineState": "Active",
+ "friendlyName": "testServer",
+ "extendedInfo": {
+ "protectedItemsCount": 35,
+ "protectedServersCount": 21,
+ "diskCount": 5,
+ "availableDiskSpace": 50,
+ "usedDiskSpace": 20
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Dpm/BackupEngines_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Dpm/BackupEngines_List.json
new file mode 100644
index 000000000000..14fac6325811
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/Dpm/BackupEngines_List.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRG",
+ "vaultName": "testVault",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer1",
+ "name": "testServer1",
+ "type": "Microsoft.RecoveryServices/vaults/backupEngines",
+ "properties": {
+ "backupEngineType": "DpmBackupEngine",
+ "dpmVersion": "5.1.348.0",
+ "isDpmUpgradeAvailable": false,
+ "azureBackupAgentVersion": "2.0.9532.0",
+ "isAzureBackupAgentUpgradeAvailable": false,
+ "registrationStatus": "Registered",
+ "backupEngineState": "Active",
+ "friendlyName": "testServer1",
+ "extendedInfo": {
+ "protectedItemsCount": 35,
+ "protectedServersCount": 21,
+ "diskCount": 5,
+ "availableDiskSpace": 50,
+ "usedDiskSpace": 20
+ }
+ }
+ },
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer5",
+ "name": "testServer5",
+ "type": "Microsoft.RecoveryServices/vaults/backupEngines",
+ "properties": {
+ "backupEngineType": "DpmBackupEngine",
+ "dpmVersion": "5.1.348.0",
+ "isDpmUpgradeAvailable": false,
+ "azureBackupAgentVersion": "2.0.9530.0",
+ "isAzureBackupAgentUpgradeAvailable": false,
+ "registrationStatus": "Registered",
+ "backupEngineState": "Active",
+ "friendlyName": "testServer5",
+ "extendedInfo": {
+ "protectedItemsCount": 35,
+ "protectedServersCount": 21,
+ "diskCount": 5,
+ "availableDiskSpace": 50,
+ "usedDiskSpace": 20
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/ListOperations.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/ListOperations.json
new file mode 100644
index 000000000000..647262fbb4dd
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/ListOperations.json
@@ -0,0 +1,463 @@
+{
+ "parameters": {
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "microsoft.recoveryservices/vaults/usages/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Usage",
+ "operation": "Recovery Services Vault usage details.",
+ "description": "Returns usage details for a Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupUsageSummaries/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Usages Summaries",
+ "operation": "Recovery Services Protected Items and Protected Servers usage summaries details.",
+ "description": "Returns summaries for Protected Items and Protected Servers for a Recovery Services ."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/storageConfig/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Storage Config",
+ "operation": "Get Resource Storage Config",
+ "description": "Returns Storage Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/storageConfig/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Storage Config",
+ "operation": "Write Resource Storage Config",
+ "description": "Updates Storage Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Config",
+ "operation": "Get Resource Config",
+ "description": "Returns Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Config",
+ "operation": "Update Resource Config",
+ "description": "Updates Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/tokenInfo/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Token Info",
+ "operation": "Get Vault Token Info",
+ "description": "Returns token information for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupSecurityPIN/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "SecurityPINInfo",
+ "operation": "Get Security PIN Info",
+ "description": "Returns Security PIN Information for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupManagementMetaData/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Management Metadata",
+ "operation": "Get Backup Management Metadata",
+ "description": "Returns Backup Management Metadata for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupOperationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Operation Results",
+ "operation": "Get Backup Operation Result",
+ "description": "Returns Backup Operation Result for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupOperations/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Operation Status",
+ "operation": "Get Backup Operation Status",
+ "description": "Returns Backup Operation Status for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupJobs/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Jobs",
+ "operation": "Get Jobs",
+ "description": "Returns all Job Objects"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupJobs/cancel/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Jobs",
+ "operation": "Cancel Jobs",
+ "description": "Cancel the Job"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupJobsExport/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Export Backup Jobs",
+ "operation": "Export Jobs",
+ "description": "Export Jobs"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupJobs/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Jobs Operation Results",
+ "operation": "Get Job Operation Result",
+ "description": "Returns the Result of Job Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupJobsExport/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Export Backup Jobs Operation Results",
+ "operation": "Get Export Job Operation Result",
+ "description": "Returns the Result of Export Job Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Recovery Points",
+ "operation": "Get Recovery Points",
+ "description": "Get Recovery Points for Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Recovery Points",
+ "operation": "Restore Recovery Points",
+ "description": "Restore Recovery Points for Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Recovery Points",
+ "operation": "Provision Instant Item Recovery for Protected Item",
+ "description": "Provision Instant Item Recovery for Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Recovery Points",
+ "operation": "Revoke Instant Item Recovery for Protected Item",
+ "description": "Revoke Instant Item Recovery for Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policies",
+ "operation": "Get Protection Policy",
+ "description": "Returns all Protection Policies"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policies",
+ "operation": "Create Protection Policy",
+ "description": "Creates Protection Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/delete",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policies",
+ "operation": "Delete Protection Policy",
+ "description": "Delete a Protection Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policy Operation Results",
+ "operation": "Get Policy Operation Results",
+ "description": "Get Results of Policy Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/operationsStatus/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policy Operation Status",
+ "operation": "Get Policy Operation Status",
+ "description": "Get Status of Policy Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Get Protected Item Details",
+ "description": "Returns object details of the Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupProtectedItems/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Get All Protected Items",
+ "description": "Returns the list of all Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Create Backup Protected Item",
+ "description": "Create a backup Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/delete",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Delete Protected Items",
+ "description": "Deletes Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Item Operation Results",
+ "operation": "Get Protected Items Operation Results",
+ "description": "Gets Result of Operation Performed on Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationsStatus/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Item Operation Status",
+ "operation": "Get Protected Items operation status",
+ "description": "Returns the status of Operation performed on Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/backup/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Backup Protected Item",
+ "description": "Performs Backup for Protected Item."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupProtectableItems/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Protectable Items",
+ "operation": "Get Protectable Items",
+ "description": "Returns list of all Protectable Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/refreshContainers/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Refresh Containers",
+ "operation": "Refresh container",
+ "description": "Refreshes the container list"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Refresh Containers Operation Results",
+ "operation": "Get Operation Results",
+ "description": "Returns status of the operation"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupProtectionContainers/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Protection Containers",
+ "operation": "Get Containers In Subscription",
+ "description": "Returns all containers belonging to the subscription"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protection Containers",
+ "operation": "Get Registered Container",
+ "description": "Returns all registered containers"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protection Containers Operation Results",
+ "operation": "Get Container Operation Results",
+ "description": "Gets result of Operation performed on Protection Container."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupEngines",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Engines",
+ "operation": "List of backup management servers.",
+ "description": "Returns all the backup management servers registered with vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupStatus",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Status",
+ "operation": "Check Backup Status for Vault",
+ "description": "Check Backup Status for Recovery Services Vaults"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupPreValidateProtection",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "PreValidate Protection",
+ "operation": "Pre Validate Enable Protection",
+ "description": ""
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupValidateFeatures",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Validate Features",
+ "operation": "Validate Features",
+ "description": "Validate Features"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/backupProtectionIntent/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protection Intent",
+ "operation": "Create backup Protection Intent",
+ "description": "Create a backup Protection Intent"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/{fabricName}/protectionContainers/{containerName}/items/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Workload Items",
+ "operation": "Get all items in a container",
+ "description": "Get all items in a container"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/inquire/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protection Containers Inquire",
+ "operation": "Get all items in a container",
+ "description": "Get all items in a container"
+ },
+ "origin": "user"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json
new file mode 100644
index 000000000000..461507b795f0
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "gaallaRG",
+ "vaultName": "gaallavaultbvtd2msi",
+ "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/backupadminrg/providers/Microsoft.RecoveryServices/Vaults/demo-pevault-2/privateEndpointConnections/autoapprovalpeecy4.3679789459502941542.backup.5ede856d-d9f0-461e-a15b-370c84525817/operationsStatus/2908a25d-8036-48d2-bdcc-fdce26b9771f?api-versi",
+ "Retry-After": "60"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json
new file mode 100644
index 000000000000..f1478327f969
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "gaallaRG",
+ "vaultName": "gaallavaultbvtd2msi",
+ "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b",
+ "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b",
+ "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Pending",
+ "privateEndpoint": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@company.com"
+ },
+ "groupIds": [
+ "AzureBackup_secondary"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json
new file mode 100644
index 000000000000..a2fdbf4131ce
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "gaallaRG",
+ "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b",
+ "vaultName": "gaallavaultbvtd2msi",
+ "operationId": "0f48183b-0a44-4dca-aec1-bba5daab888a",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "0f48183b-0a44-4dca-aec1-bba5daab888a",
+ "name": "0f48183b-0a44-4dca-aec1-bba5daab888a",
+ "status": "Succeeded",
+ "startTime": "2020-02-27T11:59:47.5901592Z",
+ "endTime": "2020-02-27T11:59:47.5901592Z"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json
new file mode 100644
index 000000000000..1040cf212c2f
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "gaallaRG",
+ "vaultName": "gaallavaultbvtd2msi",
+ "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@company.com"
+ },
+ "groupIds": [
+ "AzureBackup_secondary"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b",
+ "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b",
+ "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Pending",
+ "privateEndpoint": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@company.com"
+ },
+ "groupIds": [
+ "AzureBackup_secondary"
+ ]
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/backupadminrg/providers/Microsoft.RecoveryServices/Vaults/demo-pevault-2/privateEndpointConnections/autoapprovalpeecy4.3679789459502941542.backup.5ede856d-d9f0-461e-a15b-370c84525817/operationsStatus/2908a25d-8036-48d2-bdcc-fdce26b9771f?api-versi",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b",
+ "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b",
+ "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@company.com"
+ },
+ "groupIds": [
+ "AzureBackup_secondary"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json
new file mode 100644
index 000000000000..ceabe09c0ecf
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "vaultName": "sampleVault",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardProxyName": "swaggerExample",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json
new file mode 100644
index 000000000000..acbbb923d560
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "vaultName": "sampleVault",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardProxyName": "swaggerExample",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies",
+ "properties": {
+ "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew",
+ "resourceGuardOperationDetails": [
+ {
+ "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests",
+ "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default"
+ },
+ {
+ "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests",
+ "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/resourceguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default"
+ }
+ ],
+ "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z",
+ "description": "Please take JIT access before performing any of the critical operation"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json
new file mode 100644
index 000000000000..4e14c2ffb76d
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "vaultName": "sampleVault",
+ "resourceGroupName": "SampleResourceGroup",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies",
+ "properties": {
+ "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew",
+ "resourceGuardOperationDetails": [
+ {
+ "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests",
+ "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default"
+ },
+ {
+ "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests",
+ "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default"
+ }
+ ],
+ "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z",
+ "description": "Please take JIT access before performing any of the critical operation"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json
new file mode 100644
index 000000000000..6f5aac270e71
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "vaultName": "sampleVault",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardProxyName": "swaggerExample",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "properties": {
+ "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies",
+ "properties": {
+ "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew",
+ "resourceGuardOperationDetails": [
+ {
+ "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests",
+ "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default"
+ },
+ {
+ "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests",
+ "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default"
+ }
+ ],
+ "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z",
+ "description": "Please take JIT access before performing any of the critical operation"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json
new file mode 100644
index 000000000000..f976ebdefac4
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "vaultName": "sampleVault",
+ "resourceGroupName": "SampleResourceGroup",
+ "resourceGuardProxyName": "swaggerExample",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "resourceGuardOperationRequests": [
+ "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteProtectedItemRequests/default"
+ ],
+ "resourceToBeDeleted": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/gaallarg/providers/Microsoft.RecoveryServices/vaults/MercuryCrrVault/backupFabrics/Azure/protectionContainers/VMAppContainer;compute;crrtestrg;crrtestvm/protectedItems/SQLDataBase;mssqlserver;testdb"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "unlockDeleteExpiryTime": "2021-02-11T13:12:27.7870742Z"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/TieringCost/FetchTieringCostForPolicy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/TieringCost/FetchTieringCostForPolicy.json
new file mode 100644
index 000000000000..16209f382f66
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/TieringCost/FetchTieringCostForPolicy.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "objectType": "FetchTieringCostSavingsInfoForPolicyRequest",
+ "policyName": "monthly",
+ "sourceTierType": "HardenedRP",
+ "targetTierType": "ArchivedRP"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-06-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2023-06-01",
+ "Retry-After": 60
+ }
+ },
+ "200": {
+ "body": {
+ "objectType": "TieringCostSavingInfo",
+ "sourceTierSizeReductionInBytes": 1204000,
+ "targetTierSizeIncreaseInBytes": 1892,
+ "retailSourceTierCostPerGBPerMonth": 0.02,
+ "retailTargetTierCostPerGBPerMonth": 0.003
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/TieringCost/FetchTieringCostForProtectedItem.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/TieringCost/FetchTieringCostForProtectedItem.json
new file mode 100644
index 000000000000..28746f683332
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/TieringCost/FetchTieringCostForProtectedItem.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "objectType": "FetchTieringCostSavingsInfoForProtectedItemRequest",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "sourceTierType": "HardenedRP",
+ "targetTierType": "ArchivedRP"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "objectType": "TieringCostSavingInfo",
+ "sourceTierSizeReductionInBytes": 1204000,
+ "targetTierSizeIncreaseInBytes": 1892,
+ "retailSourceTierCostPerGBPerMonth": 0.02,
+ "retailTargetTierCostPerGBPerMonth": 0.003
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-06-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2023-06-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/TieringCost/FetchTieringCostForRehydrate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/TieringCost/FetchTieringCostForRehydrate.json
new file mode 100644
index 000000000000..8408f8b5503e
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/TieringCost/FetchTieringCostForRehydrate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "objectType": "FetchTieringCostInfoForRehydrationRequest",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "recoveryPointId": "1222343434",
+ "rehydrationPriority": "High",
+ "sourceTierType": "ArchivedRP",
+ "targetTierType": "HardenedRP"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "objectType": "TieringCostRehydrationInfo",
+ "rehydrationSizeInBytes": 1204000,
+ "retailRehydrationCostPerGBPerMonth": 0.02
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-06-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2023-06-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/TieringCost/FetchTieringCostForVault.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/TieringCost/FetchTieringCostForVault.json
new file mode 100644
index 000000000000..65cee526c65a
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/TieringCost/FetchTieringCostForVault.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "objectType": "FetchTieringCostSavingsInfoForVaultRequest",
+ "sourceTierType": "HardenedRP",
+ "targetTierType": "ArchivedRP"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "objectType": "TieringCostSavingInfo",
+ "sourceTierSizeReductionInBytes": 1204000,
+ "targetTierSizeIncreaseInBytes": 1892,
+ "retailSourceTierCostPerGBPerMonth": 0.02,
+ "retailTargetTierCostPerGBPerMonth": 0.003
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-06-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2023-06-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/TieringCost/GetTieringCostOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/TieringCost/GetTieringCostOperationResult.json
new file mode 100644
index 000000000000..81d841803f67
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/TieringCost/GetTieringCostOperationResult.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "gaallaRG",
+ "vaultName": "gaallavaultbvtd2msi",
+ "operationId": "0f48183b-0a44-4dca-aec1-bba5daab888a",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "objectType": "TieringCostSavingInfo",
+ "sourceTierSizeReductionInBytes": 1204000,
+ "targetTierSizeIncreaseInBytes": 1892,
+ "retailSourceTierCostPerGBPerMonth": 0.02,
+ "retailTargetTierCostPerGBPerMonth": 0.003
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/TieringCost/GetTieringCostOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/TieringCost/GetTieringCostOperationStatus.json
new file mode 100644
index 000000000000..a2fdbf4131ce
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/TieringCost/GetTieringCostOperationStatus.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "gaallaRG",
+ "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b",
+ "vaultName": "gaallavaultbvtd2msi",
+ "operationId": "0f48183b-0a44-4dca-aec1-bba5daab888a",
+ "api-version": "2023-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "0f48183b-0a44-4dca-aec1-bba5daab888a",
+ "name": "0f48183b-0a44-4dca-aec1-bba5daab888a",
+ "status": "Succeeded",
+ "startTime": "2020-02-27T11:59:47.5901592Z",
+ "endTime": "2020-02-27T11:59:47.5901592Z"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/TriggerRecoveryPointMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/TriggerRecoveryPointMove_Post.json
new file mode 100644
index 000000000000..28595254d104
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-06-01/examples/TriggerRecoveryPointMove_Post.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2023-06-01",
+ "parameters": {
+ "objectType": "MoveRPAcrossTiersRequest",
+ "sourceTierType": "HardenedRP",
+ "targetTierType": "ArchivedRP"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01",
+ "Retry-After": 60
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicesbackup/resource-manager/readme.md b/specification/recoveryservicesbackup/resource-manager/readme.md
index c7f10ecf6424..8bbffc821459 100644
--- a/specification/recoveryservicesbackup/resource-manager/readme.md
+++ b/specification/recoveryservicesbackup/resource-manager/readme.md
@@ -28,7 +28,7 @@ These are the global settings for the RecoveryServicesBackup API.
title: Recovery Services Backup Client
description: Open API 2.0 Specs for Azure RecoveryServices Backup service
openapi-type: arm
-tag: package-2023-04
+tag: package-2023-06
csharp-sdks-folder: ./Generated/CSharp
python-sdks-folder: ./Generated/Python
go-sdk-folder: ./Generated/Golang
@@ -41,7 +41,7 @@ tag: package-passivestamp-2023-01-15
```
``` yaml $(package-activestamp)
-tag: package-2023-04
+tag: package-2023-06
```
### Validations
@@ -56,22 +56,32 @@ message-format: json
```
+### Tag: package-2023-06
+
+These settings apply only when `--tag=package-2023-06` is specified on the command line.
+
+```yaml $(tag) == 'package-2023-06'
+input-file:
+ - Microsoft.RecoveryServices/stable/2023-06-01/bms.json
+```
### Tag: package-2023-04
These settings apply only when `--tag=package-2023-04` is specified on the command line.
-```yaml $(tag) == 'package-2023-04'
+``` yaml $(tag) == 'package-2023-04'
input-file:
- Microsoft.RecoveryServices/stable/2023-04-01/bms.json
```
+
### Tag: package-2023-02
These settings apply only when `--tag=package-2023-02` is specified on the command line.
-```yaml $(tag) == 'package-2023-02'
+``` yaml $(tag) == 'package-2023-02'
input-file:
- Microsoft.RecoveryServices/stable/2023-02-01/bms.json
```
+
### Tag: package-passivestamp-2023-01-15
These settings apply only when `--tag=package-passivestamp-2023-01-15` is specified on the command line.
@@ -103,7 +113,7 @@ input-file:
These settings apply only when `--tag=package-preview-2022-09` is specified on the command line.
-```yaml $(tag) == 'package-preview-2022-09'
+``` yaml $(tag) == 'package-preview-2022-09'
input-file:
- Microsoft.RecoveryServices/preview/2022-09-30-preview/bms.json
```
@@ -444,4 +454,8 @@ directive:
from: bms.json
where: $.definitions.RecoveryPointResource
reason: This is an existing resource in our service and is present across API version. Suppressing for API versions 2021-11-15, 2023-01-15 for fixing completeness for CRR Get recoverypoints API.
+ - suppress: LroErrorContent
+ from: bms.json
+ reason: The azure backup service's API infra handles the conversation from execptions to custom error CloudError. Changing this would be breaking change for our service.
+
```
diff --git a/specification/recoveryservicesdatareplication/resource-manager/readme.java.md b/specification/recoveryservicesdatareplication/resource-manager/readme.java.md
new file mode 100644
index 000000000000..c3100f7ac08e
--- /dev/null
+++ b/specification/recoveryservicesdatareplication/resource-manager/readme.java.md
@@ -0,0 +1,12 @@
+## Java
+
+These settings apply only when `--java` is specified on the command line.
+
+``` yaml $(java)
+title: DataReplicationMgmtClient
+service-name: Recovery Services Data Replication
+
+graal-vm-config: false
+remove-operation-group: ReplicationExtensionOperationStatus
+rename-model: ProtectedItemModelPropertiesLastFailedPlannedFailoverJob:LastFailedPlannedFailoverJob,ProtectedItemModelPropertiesLastFailedEnableProtectionJob:LastFailedEnableProtectionJob,HyperVToAzStackHciReplicationExtensionModelCustomProperties:HyperVToAzStackHciRepExtnCustomProps,VMwareToAzStackHciPlannedFailoverModelCustomProperties:VMwareToAzStackHciPlannedFailoverCustomProps,VMwareToAzStackHciReplicationExtensionModelCustomProperties:VMwareToAzStackHciRepExtnCustomProps,HyperVToAzStackHciRecoveryPointModelCustomProperties:HyperVToAzStackHciRecoveryPointCustomProps,HyperVToAzStackHciPlannedFailoverModelCustomProperties:HyperVToAzStackHciPlannedFailoverCustomProps,VMwareToAzStackHciProtectedItemModelCustomProperties:VMwareToAzStackHciProtectedItemCustomProps,HyperVToAzStackHciProtectedItemModelCustomProperties:HyperVToAzStackHciProtectedItemCustomProps
+```
diff --git a/specification/recoveryservicesdatareplication/resource-manager/readme.md b/specification/recoveryservicesdatareplication/resource-manager/readme.md
index 9c291b98b92c..39a4acfc8ca8 100644
--- a/specification/recoveryservicesdatareplication/resource-manager/readme.md
+++ b/specification/recoveryservicesdatareplication/resource-manager/readme.md
@@ -76,3 +76,7 @@ See configuration in [readme.typescript.md](./readme.typescript.md)
## CSharp
See configuration in [readme.csharp.md](./readme.csharp.md)
+
+## Java
+
+See configuration in [readme.java.md](./readme.java.md)
diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2022-11-01-preview/examples/RedisEnterpriseSkusList.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2022-11-01-preview/examples/RedisEnterpriseSkusList.json
deleted file mode 100644
index 64eada33b128..000000000000
--- a/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2022-11-01-preview/examples/RedisEnterpriseSkusList.json
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "parameters": {
- "api-version": "2022-11-01-preview",
- "subscriptionId": "subid",
- "location": "westus2"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "Enterprise_E1"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "Enterprise_E10"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "Enterprise_E20"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "Enterprise_E50"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "Enterprise_E100"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "EnterpriseFlash_F300"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "EnterpriseFlash_F700"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "EnterpriseFlash_F1500"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2022-11-01-preview/redisenterprise.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2022-11-01-preview/redisenterprise.json
index aad09fed051b..690921f6ba5c 100644
--- a/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2022-11-01-preview/redisenterprise.json
+++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2022-11-01-preview/redisenterprise.json
@@ -1198,48 +1198,6 @@
}
}
}
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Cache/locations/{location}/skus": {
- "get": {
- "tags": [
- "SKU"
- ],
- "operationId": "Skus_List",
- "description": "Gets information about skus in specified location for the given subscription id",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
- }
- ],
- "x-ms-examples": {
- "SkusList": {
- "$ref": "./examples/RedisEnterpriseSkusList.json"
- }
- },
- "responses": {
- "200": {
- "description": "The request succeeded, response body contains the requested details.",
- "schema": {
- "$ref": "#/definitions/RegionSkuDetails"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
}
},
"definitions": {
@@ -1847,97 +1805,6 @@
}
}
},
- "RegionSkuDetails": {
- "title": "Region Sku Details",
- "description": "List of details about all the available SKUs",
- "type": "object",
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/RegionSkuDetail"
- },
- "description": "List of Sku Detail",
- "x-ms-identifiers": []
- }
- }
- },
- "LocationInfo": {
- "type": "object",
- "description": "Information about location (for example: features that it supports)",
- "properties": {
- "location": {
- "type": "string",
- "description": "Location name"
- },
- "capabilities": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Capability"
- },
- "description": "List of capabilities",
- "x-ms-identifiers": []
- }
- }
- },
- "SkuDetail": {
- "type": "object",
- "title": "Sku Detail",
- "description": "Information about Sku",
- "properties": {
- "name": {
- "type": "string",
- "description": "The type of RedisEnterprise cluster to deploy. Possible values: (Enterprise_E10, EnterpriseFlash_F300 etc.)",
- "enum": [
- "Enterprise_E10",
- "Enterprise_E20",
- "Enterprise_E50",
- "Enterprise_E100",
- "EnterpriseFlash_F300",
- "EnterpriseFlash_F700",
- "EnterpriseFlash_F1500"
- ],
- "x-ms-enum": {
- "name": "name",
- "modelAsString": true
- }
- }
- }
- },
- "Capability": {
- "type": "object",
- "title": "Capability",
- "description": "Information about the features the location supports",
- "properties": {
- "name": {
- "type": "string",
- "description": "Feature name"
- },
- "value": {
- "type": "boolean",
- "description": "Indicates whether feature is supported or not"
- }
- }
- },
- "RegionSkuDetail": {
- "title": "Region Sku Detail",
- "description": "Details about the location requested and the available skus in the location",
- "type": "object",
- "properties": {
- "resourceType": {
- "type": "string",
- "description": "Resource type which has the SKU, such as Microsoft.Cache/redisEnterprise"
- },
- "locationInfo": {
- "$ref": "#/definitions/LocationInfo",
- "description": "Details about location and its capabilities"
- },
- "skuDetails": {
- "$ref": "#/definitions/SkuDetail",
- "description": "Details about available skus"
- }
- }
- },
"ForceUnlinkParameters": {
"title": "Forcibly unlink another database from this database.",
"type": "object",
diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2023-03-01-preview/examples/RedisEnterpriseSkusList.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2023-03-01-preview/examples/RedisEnterpriseSkusList.json
deleted file mode 100644
index 242c44608fa9..000000000000
--- a/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2023-03-01-preview/examples/RedisEnterpriseSkusList.json
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "parameters": {
- "api-version": "2023-03-01-preview",
- "subscriptionId": "subid",
- "location": "westus2"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "Enterprise_E1"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "Enterprise_E10"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "Enterprise_E20"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "Enterprise_E50"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "Enterprise_E100"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "EnterpriseFlash_F300"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "EnterpriseFlash_F700"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "EnterpriseFlash_F1500"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2023-03-01-preview/redisenterprise.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2023-03-01-preview/redisenterprise.json
index c0c96dfb2440..6c4a98c9d970 100644
--- a/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2023-03-01-preview/redisenterprise.json
+++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2023-03-01-preview/redisenterprise.json
@@ -1267,48 +1267,6 @@
}
}
}
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Cache/locations/{location}/skus": {
- "get": {
- "tags": [
- "SKU"
- ],
- "operationId": "Skus_List",
- "description": "Gets information about skus in specified location for the given subscription id",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
- }
- ],
- "x-ms-examples": {
- "SkusList": {
- "$ref": "./examples/RedisEnterpriseSkusList.json"
- }
- },
- "responses": {
- "200": {
- "description": "The request succeeded, response body contains the requested details.",
- "schema": {
- "$ref": "#/definitions/RegionSkuDetails"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
}
},
"definitions": {
@@ -1903,50 +1861,6 @@
}
}
},
- "RegionSkuDetails": {
- "title": "Region Sku Details",
- "description": "List of details about all the available SKUs",
- "type": "object",
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/RegionSkuDetail"
- },
- "description": "List of Sku Detail",
- "x-ms-identifiers": []
- }
- }
- },
- "LocationInfo": {
- "type": "object",
- "description": "Information about location (for example: features that it supports)",
- "properties": {
- "location": {
- "type": "string",
- "description": "Location name"
- },
- "capabilities": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Capability"
- },
- "description": "List of capabilities",
- "x-ms-identifiers": []
- }
- }
- },
- "SkuDetail": {
- "type": "object",
- "title": "Sku Detail",
- "description": "Information about Sku",
- "properties": {
- "name": {
- "$ref": "#/definitions/SkuName",
- "description": "The type of RedisEnterprise cluster to deploy. Possible values: (Enterprise_E10, EnterpriseFlash_F300 etc.)"
- }
- }
- },
"SkuName": {
"type": "string",
"enum": [
@@ -1963,40 +1877,6 @@
"modelAsString": true
}
},
- "Capability": {
- "type": "object",
- "title": "Capability",
- "description": "Information about the features the location supports",
- "properties": {
- "name": {
- "type": "string",
- "description": "Feature name"
- },
- "value": {
- "type": "boolean",
- "description": "Indicates whether feature is supported or not"
- }
- }
- },
- "RegionSkuDetail": {
- "title": "Region Sku Detail",
- "description": "Details about the location requested and the available skus in the location",
- "type": "object",
- "properties": {
- "resourceType": {
- "type": "string",
- "description": "Resource type which has the SKU, such as Microsoft.Cache/redisEnterprise"
- },
- "locationInfo": {
- "$ref": "#/definitions/LocationInfo",
- "description": "Details about location and its capabilities"
- },
- "skuDetails": {
- "$ref": "#/definitions/SkuDetail",
- "description": "Details about available skus"
- }
- }
- },
"FlushParameters": {
"title": "Flush all the keys from the current and all its linked databases",
"type": "object",
diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2023-08-01-preview/examples/RedisEnterpriseSkusList.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2023-08-01-preview/examples/RedisEnterpriseSkusList.json
deleted file mode 100644
index 9de17aefc669..000000000000
--- a/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2023-08-01-preview/examples/RedisEnterpriseSkusList.json
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "parameters": {
- "api-version": "2023-08-01-preview",
- "subscriptionId": "subid",
- "location": "westus2"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "Enterprise_E1"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "Enterprise_E10"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "Enterprise_E20"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "Enterprise_E50"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "Enterprise_E100"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "EnterpriseFlash_F300"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "EnterpriseFlash_F700"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "EnterpriseFlash_F1500"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2023-08-01-preview/redisenterprise.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2023-08-01-preview/redisenterprise.json
index 8a122022e78e..241e082a8230 100644
--- a/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2023-08-01-preview/redisenterprise.json
+++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2023-08-01-preview/redisenterprise.json
@@ -1268,48 +1268,6 @@
}
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.Cache/locations/{location}/skus": {
- "get": {
- "tags": [
- "SKU"
- ],
- "operationId": "Skus_List",
- "description": "Gets information about skus in specified location for the given subscription id",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
- }
- ],
- "x-ms-examples": {
- "SkusList": {
- "$ref": "./examples/RedisEnterpriseSkusList.json"
- }
- },
- "responses": {
- "200": {
- "description": "The request succeeded, response body contains the requested details.",
- "schema": {
- "$ref": "#/definitions/RegionSkuDetails"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
"/subscriptions/{subscriptionId}/providers/Microsoft.Cache/checkNameAvailability": {
"post": {
"tags": [
@@ -1947,50 +1905,6 @@
}
}
},
- "RegionSkuDetails": {
- "title": "Region Sku Details",
- "description": "List of details about all the available SKUs",
- "type": "object",
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/RegionSkuDetail"
- },
- "description": "List of Sku Detail",
- "x-ms-identifiers": []
- }
- }
- },
- "LocationInfo": {
- "type": "object",
- "description": "Information about location (for example: features that it supports)",
- "properties": {
- "location": {
- "type": "string",
- "description": "Location name"
- },
- "capabilities": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Capability"
- },
- "description": "List of capabilities",
- "x-ms-identifiers": []
- }
- }
- },
- "SkuDetail": {
- "type": "object",
- "title": "Sku Detail",
- "description": "Information about Sku",
- "properties": {
- "name": {
- "$ref": "#/definitions/SkuName",
- "description": "The type of RedisEnterprise cluster to deploy. Possible values: (Enterprise_E10, EnterpriseFlash_F300 etc.)"
- }
- }
- },
"SkuName": {
"type": "string",
"enum": [
@@ -2007,40 +1921,6 @@
"modelAsString": true
}
},
- "Capability": {
- "type": "object",
- "title": "Capability",
- "description": "Information about the features the location supports",
- "properties": {
- "name": {
- "type": "string",
- "description": "Feature name"
- },
- "value": {
- "type": "boolean",
- "description": "Indicates whether feature is supported or not"
- }
- }
- },
- "RegionSkuDetail": {
- "title": "Region Sku Detail",
- "description": "Details about the location requested and the available skus in the location",
- "type": "object",
- "properties": {
- "resourceType": {
- "type": "string",
- "description": "Resource type which has the SKU, such as Microsoft.Cache/redisEnterprise"
- },
- "locationInfo": {
- "$ref": "#/definitions/LocationInfo",
- "description": "Details about location and its capabilities"
- },
- "skuDetails": {
- "$ref": "#/definitions/SkuDetail",
- "description": "Details about available skus"
- }
- }
- },
"FlushParameters": {
"title": "Flush all the keys from the current and all its linked databases.",
"type": "object",
diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2023-10-01-preview/examples/RedisEnterpriseSkusList.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2023-10-01-preview/examples/RedisEnterpriseSkusList.json
deleted file mode 100644
index faeca7fab841..000000000000
--- a/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2023-10-01-preview/examples/RedisEnterpriseSkusList.json
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "parameters": {
- "api-version": "2023-10-01-preview",
- "subscriptionId": "subid",
- "location": "westus2"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "Enterprise_E1"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "Enterprise_E10"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "Enterprise_E20"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "Enterprise_E50"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "Enterprise_E100"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "EnterpriseFlash_F300"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "EnterpriseFlash_F700"
- }
- },
- {
- "resourceType": "Microsoft.Cache/redisEnterprise",
- "locationInfo": {
- "location": "westus2",
- "capabilities": [
- {
- "name": "ZoneAware",
- "value": true
- },
- {
- "name": "FDsAvailable",
- "value": true
- }
- ]
- },
- "skuDetails": {
- "name": "EnterpriseFlash_F1500"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2023-10-01-preview/redisenterprise.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2023-10-01-preview/redisenterprise.json
index 8a5415107511..37a57f4ffec6 100644
--- a/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2023-10-01-preview/redisenterprise.json
+++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/preview/2023-10-01-preview/redisenterprise.json
@@ -1268,48 +1268,6 @@
}
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.Cache/locations/{location}/skus": {
- "get": {
- "tags": [
- "SKU"
- ],
- "operationId": "Skus_List",
- "description": "Gets information about skus in specified location for the given subscription id",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
- }
- ],
- "x-ms-examples": {
- "SkusList": {
- "$ref": "./examples/RedisEnterpriseSkusList.json"
- }
- },
- "responses": {
- "200": {
- "description": "The request succeeded, response body contains the requested details.",
- "schema": {
- "$ref": "#/definitions/RegionSkuDetails"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
"/subscriptions/{subscriptionId}/providers/Microsoft.Cache/checkNameAvailability": {
"post": {
"tags": [
@@ -1955,50 +1913,6 @@
}
}
},
- "RegionSkuDetails": {
- "title": "Region Sku Details",
- "description": "List of details about all the available SKUs",
- "type": "object",
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/RegionSkuDetail"
- },
- "description": "List of Sku Detail",
- "x-ms-identifiers": []
- }
- }
- },
- "LocationInfo": {
- "type": "object",
- "description": "Information about location (for example: features that it supports)",
- "properties": {
- "location": {
- "type": "string",
- "description": "Location name"
- },
- "capabilities": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Capability"
- },
- "description": "List of capabilities",
- "x-ms-identifiers": []
- }
- }
- },
- "SkuDetail": {
- "type": "object",
- "title": "Sku Detail",
- "description": "Information about Sku",
- "properties": {
- "name": {
- "$ref": "#/definitions/SkuName",
- "description": "The type of RedisEnterprise cluster to deploy. Possible values: (Enterprise_E10, EnterpriseFlash_F300 etc.)"
- }
- }
- },
"SkuName": {
"type": "string",
"enum": [
@@ -2018,40 +1932,6 @@
"modelAsString": true
}
},
- "Capability": {
- "type": "object",
- "title": "Capability",
- "description": "Information about the features the location supports",
- "properties": {
- "name": {
- "type": "string",
- "description": "Feature name"
- },
- "value": {
- "type": "boolean",
- "description": "Indicates whether feature is supported or not"
- }
- }
- },
- "RegionSkuDetail": {
- "title": "Region Sku Detail",
- "description": "Details about the location requested and the available skus in the location",
- "type": "object",
- "properties": {
- "resourceType": {
- "type": "string",
- "description": "Resource type which has the SKU, such as Microsoft.Cache/redisEnterprise"
- },
- "locationInfo": {
- "$ref": "#/definitions/LocationInfo",
- "description": "Details about location and its capabilities"
- },
- "skuDetails": {
- "$ref": "#/definitions/SkuDetail",
- "description": "Details about available skus"
- }
- }
- },
"FlushParameters": {
"title": "Flush all the keys from the current and all its linked databases.",
"type": "object",
diff --git a/specification/riskiq/Easm/tspconfig.yaml b/specification/riskiq/Easm/tspconfig.yaml
index 3b2114e323fc..54c224af20ca 100644
--- a/specification/riskiq/Easm/tspconfig.yaml
+++ b/specification/riskiq/Easm/tspconfig.yaml
@@ -24,4 +24,5 @@ options:
"@azure-tools/typespec-java":
package-dir: "azure-analytics-defender-easm"
namespace: com.azure.analytics.defender.easm
+ partial-update: true
\ No newline at end of file
diff --git a/specification/search/data-plane/Azure.Search/preview/2023-10-01-Preview/examples/SearchServiceCreateIndex.json b/specification/search/data-plane/Azure.Search/preview/2023-10-01-Preview/examples/SearchServiceCreateIndex.json
index bb6c74285305..5ba39a1a62b3 100644
--- a/specification/search/data-plane/Azure.Search/preview/2023-10-01-Preview/examples/SearchServiceCreateIndex.json
+++ b/specification/search/data-plane/Azure.Search/preview/2023-10-01-Preview/examples/SearchServiceCreateIndex.json
@@ -188,6 +188,15 @@
"kind": "hnsw",
"hnswParameters": {
"m": 4,
+ "metric": "cosine",
+ "efConstruction": 400,
+ "efSearch": 500
+ }
+ },
+ {
+ "name": "myExhaustiveKnn",
+ "kind": "exhaustiveKnn",
+ "exhaustiveKnnParameters": {
"metric": "cosine"
}
}
@@ -541,6 +550,13 @@
"efConstruction": 400,
"efSearch": 500
}
+ },
+ {
+ "name": "myExhaustiveKnn",
+ "kind": "exhaustiveKnn",
+ "exhaustiveKnnParameters": {
+ "metric": "cosine"
+ }
}
],
"profiles": [
diff --git a/specification/search/data-plane/Azure.Search/preview/2023-10-01-Preview/examples/SearchServiceCreateOrUpdateIndex.json b/specification/search/data-plane/Azure.Search/preview/2023-10-01-Preview/examples/SearchServiceCreateOrUpdateIndex.json
index 5338c622776f..3117be459bb3 100644
--- a/specification/search/data-plane/Azure.Search/preview/2023-10-01-Preview/examples/SearchServiceCreateOrUpdateIndex.json
+++ b/specification/search/data-plane/Azure.Search/preview/2023-10-01-Preview/examples/SearchServiceCreateOrUpdateIndex.json
@@ -186,6 +186,15 @@
"kind": "hnsw",
"hnswParameters": {
"m": 4,
+ "metric": "cosine",
+ "efConstruction": 400,
+ "efSearch": 500
+ }
+ },
+ {
+ "name": "myExhaustiveKnn",
+ "kind": "exhaustiveKnn",
+ "exhaustiveKnnParameters": {
"metric": "cosine"
}
}
@@ -539,6 +548,13 @@
"efConstruction": 400,
"efSearch": 500
}
+ },
+ {
+ "name": "myExhaustiveKnn",
+ "kind": "exhaustiveKnn",
+ "exhaustiveKnnParameters": {
+ "metric": "cosine"
+ }
}
],
"profiles": [
@@ -893,6 +909,13 @@
"efConstruction": 400,
"efSearch": 500
}
+ },
+ {
+ "name": "myExhaustiveKnn",
+ "kind": "exhaustiveKnn",
+ "exhaustiveKnnParameters": {
+ "metric": "cosine"
+ }
}
],
"profiles": [
diff --git a/specification/search/data-plane/Azure.Search/preview/2023-10-01-Preview/examples/SearchServiceGetIndex.json b/specification/search/data-plane/Azure.Search/preview/2023-10-01-Preview/examples/SearchServiceGetIndex.json
index 4f282415b8ea..f9cc39d94aa1 100644
--- a/specification/search/data-plane/Azure.Search/preview/2023-10-01-Preview/examples/SearchServiceGetIndex.json
+++ b/specification/search/data-plane/Azure.Search/preview/2023-10-01-Preview/examples/SearchServiceGetIndex.json
@@ -339,6 +339,13 @@
"efConstruction": 400,
"efSearch": 500
}
+ },
+ {
+ "name": "myExhaustiveKnn",
+ "kind": "exhaustiveKnn",
+ "exhaustiveKnnParameters": {
+ "metric": "cosine"
+ }
}
],
"profiles": [
diff --git a/specification/search/data-plane/Azure.Search/preview/2023-10-01-Preview/searchindex.json b/specification/search/data-plane/Azure.Search/preview/2023-10-01-Preview/searchindex.json
index f23cbab3a43a..e398af2937e7 100644
--- a/specification/search/data-plane/Azure.Search/preview/2023-10-01-Preview/searchindex.json
+++ b/specification/search/data-plane/Azure.Search/preview/2023-10-01-Preview/searchindex.json
@@ -266,7 +266,7 @@
"fail"
],
"x-ms-enum": {
- "name": "SemanticErrorHandling",
+ "name": "SemanticErrorMode",
"modelAsString": true,
"values": [
{
@@ -405,7 +405,7 @@
"extractive"
],
"x-ms-enum": {
- "name": "Answers",
+ "name": "QueryAnswerType",
"modelAsString": true,
"values": [
{
@@ -535,7 +535,7 @@
"extractive"
],
"x-ms-enum": {
- "name": "Captions",
+ "name": "QueryCaptionType",
"modelAsString": true,
"values": [
{
@@ -1214,6 +1214,7 @@
"description": "A single bucket of a facet query result. Reports the number of documents with a field value falling within a particular range or having a particular value or interval."
},
"AnswerResult": {
+ "x-ms-client-name": "QueryAnswerResult",
"properties": {
"score": {
"type": "number",
@@ -1242,6 +1243,7 @@
"description": "An answer is a text passage extracted from the contents of the most relevant documents that matched the query. Answers are extracted from the top search results. Answer candidates are scored and the top answers are selected."
},
"CaptionResult": {
+ "x-ms-client-name": "QueryCaptionResult",
"properties": {
"text": {
"type": "string",
@@ -1266,7 +1268,7 @@
"transient"
],
"x-ms-enum": {
- "name": "SemanticPartialResponseReason",
+ "name": "SemanticErrorReason",
"modelAsString": true,
"values": [
{
@@ -1295,7 +1297,7 @@
"rerankedResults"
],
"x-ms-enum": {
- "name": "SemanticPartialResponseType",
+ "name": "SemanticSearchResultsType",
"modelAsString": true,
"values": [
{
@@ -1378,7 +1380,7 @@
"partial"
],
"x-ms-enum": {
- "name": "QueryResultDocumentSemanticFieldState",
+ "name": "SemanticFieldState",
"modelAsString": true,
"values": [
{
@@ -1678,7 +1680,7 @@
"fail"
],
"x-ms-enum": {
- "name": "SemanticErrorHandling",
+ "name": "SemanticErrorMode",
"modelAsString": true,
"values": [
{
@@ -1891,6 +1893,9 @@
"description": "The vector representation of a search query."
}
},
+ "required": [
+ "vector"
+ ],
"description": "The query parameters to use for vector search when a raw vector value is provided."
},
"VectorizableTextQuery": {
@@ -1907,6 +1912,9 @@
"description": "The text to be vectorized to perform a vector search query."
}
},
+ "required": [
+ "text"
+ ],
"description": "The query parameters to use for vector search when a text value that needs to be vectorized is provided."
},
"VectorQueryKind": {
diff --git a/specification/search/data-plane/Azure.Search/preview/2023-10-01-Preview/searchservice.json b/specification/search/data-plane/Azure.Search/preview/2023-10-01-Preview/searchservice.json
index c2f7dd72000c..63b62a564d18 100644
--- a/specification/search/data-plane/Azure.Search/preview/2023-10-01-Preview/searchservice.json
+++ b/specification/search/data-plane/Azure.Search/preview/2023-10-01-Preview/searchservice.json
@@ -6049,8 +6049,10 @@
"description": "Ranking function based on the Okapi BM25 similarity algorithm. BM25 is a TF-IDF-like algorithm that includes length normalization (controlled by the 'b' parameter) as well as term frequency saturation (controlled by the 'k1' parameter)."
},
"SemanticSettings": {
+ "x-ms-client-name": "SemanticSearch",
"properties": {
"defaultConfiguration": {
+ "x-ms-client-name": "defaultConfigurationName",
"type": "string",
"description": "Allows you to set the name of a default semantic configuration in your index, making it optional to pass it on as a query parameter every time."
},
@@ -6093,12 +6095,14 @@
"description": "Defines a specific configuration to be used in the context of semantic capabilities."
},
"PrioritizedFields": {
+ "x-ms-client-name": "SemanticPrioritizedFields",
"properties": {
"titleField": {
"$ref": "#/definitions/SemanticField",
"description": "Defines the title field to be used for semantic ranking, captions, highlights, and answers. If you don't have a title field in your index, leave this blank."
},
"prioritizedContentFields": {
+ "x-ms-client-name": "contentFields",
"type": "array",
"items": {
"$ref": "#/definitions/SemanticField"
@@ -6106,6 +6110,7 @@
"description": "Defines the content fields to be used for semantic ranking, captions, highlights, and answers. For the best result, the selected fields should contain text in natural language form. The order of the fields in the array represents their priority. Fields with lower priority may get truncated if the content is long."
},
"prioritizedKeywordsFields": {
+ "x-ms-client-name": "keywordsFields",
"type": "array",
"items": {
"$ref": "#/definitions/SemanticField"
@@ -6126,6 +6131,9 @@
"x-nullable": false
}
},
+ "required": [
+ "fieldName"
+ ],
"description": "A field that is used as part of the semantic configuration."
},
"VectorSearch": {
@@ -6143,7 +6151,7 @@
"items": {
"$ref": "#/definitions/VectorSearchAlgorithmConfiguration"
},
- "description": "Contains configuration options specific to the algorithm used during indexing and/or querying."
+ "description": "Contains configuration options specific to the algorithm used during indexing or querying."
},
"vectorizers": {
"type": "array",
@@ -6167,6 +6175,7 @@
"x-nullable": false
},
"algorithm": {
+ "x-ms-client-name": "algorithmConfigurationName",
"type": "string",
"description": "The name of the vector search algorithm configuration that specifies the algorithm and optional parameters.",
"x-nullable": false
@@ -6205,9 +6214,10 @@
"name",
"kind"
],
- "description": "Contains configuration options specific to the algorithm used during indexing and/or querying."
+ "description": "Contains configuration options specific to the algorithm used during indexing or querying."
},
"HnswVectorSearchAlgorithmConfiguration": {
+ "x-ms-client-name": "HnswAlgorithmConfiguration",
"type": "object",
"x-ms-discriminator-value": "hnsw",
"allOf": [
@@ -6219,10 +6229,10 @@
"hnswParameters": {
"x-ms-client-name": "Parameters",
"$ref": "#/definitions/HnswParameters",
- "description": "Contains the parameters specific to hnsw algorithm."
+ "description": "Contains the parameters specific to HNSW algorithm."
}
},
- "description": "Contains configuration options specific to the hnsw approximate nearest neighbors algorithm used during indexing and querying. The hnsw algorithm offers a tunable trade-off between search speed and accuracy."
+ "description": "Contains configuration options specific to the HNSW approximate nearest neighbors algorithm used during indexing and querying. The HNSW algorithm offers a tunable trade-off between search speed and accuracy."
},
"HnswParameters": {
"type": "object",
@@ -6260,9 +6270,10 @@
"description": "The similarity metric to use for vector comparisons."
}
},
- "description": "Contains the parameters specific to hnsw algorithm."
+ "description": "Contains the parameters specific to the HNSW algorithm."
},
"ExhaustiveKnnVectorSearchAlgorithmConfiguration": {
+ "x-ms-client-name": "ExhaustiveKnnAlgorithmConfiguration",
"type": "object",
"x-ms-discriminator-value": "exhaustiveKnn",
"allOf": [
@@ -6330,7 +6341,7 @@
{
"value": "hnsw",
"name": "Hnsw",
- "description": "Hnsw (Hierarchical Navigable Small World), a type of approximate nearest neighbors algorithm."
+ "description": "HNSW (Hierarchical Navigable Small World), a type of approximate nearest neighbors algorithm."
},
{
"value": "exhaustiveKnn",
@@ -6363,7 +6374,7 @@
"name",
"kind"
],
- "description": "Contains specific details for a vectorization method to be used during query time."
+ "description": "Specifies the vectorization method to be used during query time."
},
"AzureOpenAIVectorizer": {
"type": "object",
@@ -6377,10 +6388,10 @@
"azureOpenAIParameters": {
"x-ms-client-name": "AzureOpenAIParameters",
"$ref": "#/definitions/AzureOpenAIParameters",
- "description": "Contains the parameters specific to Azure Open AI embedding vectorization."
+ "description": "Contains the parameters specific to Azure OpenAI embedding vectorization."
}
},
- "description": "Contains the parameters specific to using an Azure Open AI service for vectorization at query time."
+ "description": "Specifies the Azure OpenAI resource used to vectorize a query string."
},
"AzureOpenAIParameters": {
"type": "object",
@@ -6388,15 +6399,15 @@
"resourceUri": {
"type": "string",
"format": "uri",
- "description": "The resource uri for your Azure Open AI resource."
+ "description": "The resource URI of the Azure OpenAI resource."
},
"deploymentId": {
"type": "string",
- "description": "ID of your Azure Open AI model deployment on the designated resource."
+ "description": "ID of the Azure OpenAI model deployment on the designated resource."
},
"apiKey": {
"type": "string",
- "description": "API key for the designated Azure Open AI resource."
+ "description": "API key of the designated Azure OpenAI resource."
},
"authIdentity": {
"$ref": "#/definitions/SearchIndexerDataIdentity",
@@ -6404,7 +6415,7 @@
"description": "The user-assigned managed identity used for outbound connections."
}
},
- "description": "Contains the parameters specific to using an Azure Open AI service for vectorization at query time."
+ "description": "Specifies the parameters for connecting to the Azure OpenAI resource."
},
"CustomVectorizer": {
"type": "object",
@@ -6415,29 +6426,29 @@
}
],
"properties": {
- "customVectorizerParameters": {
- "x-ms-client-name": "CustomVectorizerParameters",
- "$ref": "#/definitions/CustomVectorizerParameters",
- "description": "Contains the parameters specific to generating vector embeddings via a custom endpoint."
+ "customWebApiParameters": {
+ "x-ms-client-name": "CustomWebApiParameters",
+ "$ref": "#/definitions/CustomWebApiParameters",
+ "description": "Specifies the properties of the user-defined vectorizer."
}
},
- "description": "Contains the parameters specific to generating vector embeddings via a custom endpoint."
+ "description": "Specifies a user-defined vectorizer for generating the vector embedding of a query string. Integration of an external vectorizer is achieved using the custom Web API interface of a skillset."
},
- "CustomVectorizerParameters": {
+ "CustomWebApiParameters": {
"type": "object",
"properties": {
"uri": {
"type": "string",
"format": "uri",
- "description": "The uri for the Web API."
+ "description": "The URI of the Web API providing the vectorizer."
},
"httpHeaders": {
"$ref": "#/definitions/WebApiHttpHeaders",
- "description": "The headers required to make the http request."
+ "description": "The headers required to make the HTTP request."
},
"httpMethod": {
"type": "string",
- "description": "The method for the http request."
+ "description": "The method for the HTTP request."
},
"timeout": {
"type": "string",
@@ -6455,7 +6466,7 @@
"description": "The user-assigned managed identity used for outbound connections. If an authResourceId is provided and it's not specified, the system-assigned managed identity is used. On updates to the indexer, if the identity is unspecified, the value remains unchanged. If set to \"none\", the value of this property is cleared."
}
},
- "description": "Contains the parameters specific to generating vector embeddings via a custom endpoint."
+ "description": "Specifies the properties for connecting to a user-defined vectorizer."
},
"VectorSearchVectorizerKind": {
"type": "string",
@@ -6470,7 +6481,7 @@
{
"value": "azureOpenAI",
"name": "AzureOpenAI",
- "description": "Generate embeddings using an Azure Open AI service at query time."
+ "description": "Generate embeddings using an Azure OpenAI resource at query time."
},
{
"value": "customWebApi",
@@ -7646,6 +7657,7 @@
"x-nullable": true
},
"dimensions": {
+ "x-ms-client-name": "vectorSearchDimensions",
"type": "integer",
"format": "int32",
"x-nullable": true,
@@ -7654,6 +7666,7 @@
"description": "The dimensionality of the vector field."
},
"vectorSearchProfile": {
+ "x-ms-client-name": "vectorSearchProfileName",
"type": "string",
"x-nullable": true,
"description": "The name of the vector search profile that specifies the algorithm and vectorizer to use when searching the vector field."
@@ -8174,7 +8187,7 @@
"externalDocs": {
"url": "https://docs.microsoft.com/azure/search/semantic-search-overview"
},
- "x-ms-client-name": "SemanticSettings",
+ "x-ms-client-name": "SemanticSearch",
"x-nullable": true
},
"vectorSearch": {
@@ -8604,7 +8617,7 @@
]
},
"CognitiveServicesAccountKey": {
- "description": "An Azure AI service resource provisioned with a key that is attached to a skillset.",
+ "description": "The multi-region account key of an Azure AI service resource that's attached to a skillset.",
"x-ms-discriminator-value": "#Microsoft.Azure.Search.CognitiveServicesByKey",
"allOf": [
{
@@ -9158,6 +9171,7 @@
"description": "A parameter that provides various ways to mask the personal information detected in the input text. Default is 'none'."
},
"maskingCharacter": {
+ "x-ms-client-name": "mask",
"type": "string",
"x-nullable": true,
"maxLength": 1,
@@ -9376,6 +9390,7 @@
"authResourceId": {
"type": "string",
"x-nullable": true,
+ "x-ms-format": "arm-id",
"description": "Applies to custom skills that connect to external code in an Azure function or some other application that provides the transformations. This value should be the application ID created for the function or app when it was registered with Azure Active Directory. When specified, the custom skill connects to the function or app using a managed ID (either system or user-assigned) of the search service and the access token of the function or app, using this value as the resource id for creating the scope of the access token."
},
"authIdentity": {
@@ -9462,15 +9477,15 @@
"resourceUri": {
"type": "string",
"format": "uri",
- "description": "The resource uri for your Azure Open AI resource."
+ "description": "The resource URI for your Azure OpenAI resource."
},
"deploymentId": {
"type": "string",
- "description": "ID of your Azure Open AI model deployment on the designated resource."
+ "description": "ID of your Azure OpenAI model deployment on the designated resource."
},
"apiKey": {
"type": "string",
- "description": "API key for the designated Azure Open AI resource."
+ "description": "API key for the designated Azure OpenAI resource."
},
"authIdentity": {
"$ref": "#/definitions/SearchIndexerDataIdentity",
@@ -9478,7 +9493,7 @@
"description": "The user-assigned managed identity used for outbound connections."
}
},
- "description": "Allows you to generate a vector embedding for a given text input using the Azure Open AI service."
+ "description": "Allows you to generate a vector embedding for a given text input using the Azure OpenAI resource."
},
"ListSkillsetsResult": {
"properties": {
@@ -10758,20 +10773,56 @@
"SplitSkillLanguage": {
"type": "string",
"enum": [
+ "am",
+ "bs",
+ "cs",
"da",
"de",
"en",
"es",
+ "et",
"fi",
"fr",
+ "he",
+ "hi",
+ "hr",
+ "hu",
+ "id",
+ "is",
"it",
+ "ja",
"ko",
- "pt"
+ "lv",
+ "nb",
+ "nl",
+ "pl",
+ "pt",
+ "pt-br",
+ "ru",
+ "sk",
+ "sl",
+ "sr",
+ "sv",
+ "tr",
+ "ur",
+ "zh"
],
"x-ms-enum": {
"name": "SplitSkillLanguage",
"modelAsString": true,
"values": [
+ {
+ "value": "am",
+ "description": "Amharic"
+ },
+ {
+ "value": "bs",
+ "description": "Bosnian"
+ },
+ {
+ "value": "cs",
+ "description": "Czech"
+ },
{
"value": "da",
"description": "Danish"
@@ -10788,6 +10839,10 @@
"value": "es",
"description": "Spanish"
},
+ {
+ "value": "et",
+ "description": "Estonian"
+ },
{
"value": "fi",
"description": "Finnish"
@@ -10796,17 +10851,97 @@
"value": "fr",
"description": "French"
},
+ {
+ "value": "he",
+ "description": "Hebrew"
+ },
+ {
+ "value": "hi",
+ "description": "Hindi"
+ },
+ {
+ "value": "hr",
+ "description": "Croatian"
+ },
+ {
+ "value": "hu",
+ "description": "Hungarian"
+ },
+ {
+ "value": "id",
+ "description": "Indonesian"
+ },
+ {
+ "value": "is",
+ "description": "Icelandic"
+ },
{
"value": "it",
"description": "Italian"
},
+ {
+ "value": "ja",
+ "description": "Japanese"
+ },
{
"value": "ko",
"description": "Korean"
},
+ {
+ "value": "lv",
+ "description": "Latvian"
+ },
+ {
+ "value": "nb",
+ "description": "Norwegian"
+ },
+ {
+ "value": "nl",
+ "description": "Dutch"
+ },
+ {
+ "value": "pl",
+ "description": "Polish"
+ },
{
"value": "pt",
- "description": "Portuguese"
+ "description": "Portuguese (Portugal)"
+ },
+ {
+ "value": "pt-br",
+ "description": "Portuguese (Brazil)"
+ },
+ {
+ "value": "ru",
+ "description": "Russian"
+ },
+ {
+ "value": "sk",
+ "description": "Slovak"
+ },
+ {
+ "value": "sl",
+ "description": "Slovenian"
+ },
+ {
+ "value": "sr",
+ "description": "Serbian"
+ },
+ {
+ "value": "sv",
+ "description": "Swedish"
+ },
+ {
+ "value": "tr",
+ "description": "Turkish"
+ },
+ {
+ "value": "ur",
+ "description": "Urdu"
+ },
+ {
+ "value": "zh",
+ "description": "Chinese (Simplified)"
}
]
},
diff --git a/specification/search/data-plane/Azure.Search/stable/2023-11-01/searchindex.json b/specification/search/data-plane/Azure.Search/stable/2023-11-01/searchindex.json
index ff33ef55c246..c1585cbe472d 100644
--- a/specification/search/data-plane/Azure.Search/stable/2023-11-01/searchindex.json
+++ b/specification/search/data-plane/Azure.Search/stable/2023-11-01/searchindex.json
@@ -379,7 +379,7 @@
"fail"
],
"x-ms-enum": {
- "name": "SemanticErrorHandling",
+ "name": "SemanticErrorMode",
"modelAsString": true,
"values": [
{
@@ -419,7 +419,7 @@
"extractive"
],
"x-ms-enum": {
- "name": "Answers",
+ "name": "QueryAnswerType",
"modelAsString": true,
"values": [
{
@@ -448,7 +448,7 @@
"extractive"
],
"x-ms-enum": {
- "name": "Captions",
+ "name": "QueryCaptionType",
"modelAsString": true,
"values": [
{
@@ -1451,6 +1451,9 @@
"description": "The vector representation of a search query."
}
},
+ "required": [
+ "vector"
+ ],
"description": "The query parameters to use for vector search when a raw vector value is provided."
},
"VectorQueryKind": {
@@ -1870,6 +1873,7 @@
"description": "Describes an error condition for the API."
},
"AnswerResult": {
+ "x-ms-client-name": "QueryAnswerResult",
"properties": {
"score": {
"type": "number",
@@ -1898,6 +1902,7 @@
"description": "An answer is a text passage extracted from the contents of the most relevant documents that matched the query. Answers are extracted from the top search results. Answer candidates are scored and the top answers are selected."
},
"CaptionResult": {
+ "x-ms-client-name": "QueryCaptionResult",
"properties": {
"text": {
"type": "string",
@@ -1922,7 +1927,7 @@
"transient"
],
"x-ms-enum": {
- "name": "SemanticPartialResponseReason",
+ "name": "SemanticErrorReason",
"modelAsString": true,
"values": [
{
@@ -1951,7 +1956,7 @@
"rerankedResults"
],
"x-ms-enum": {
- "name": "SemanticPartialResponseType",
+ "name": "SemanticSearchResultsType",
"modelAsString": true,
"values": [
{
@@ -1975,7 +1980,7 @@
"fail"
],
"x-ms-enum": {
- "name": "SemanticErrorHandling",
+ "name": "SemanticErrorMode",
"modelAsString": true,
"values": [
{
diff --git a/specification/search/data-plane/Azure.Search/stable/2023-11-01/searchservice.json b/specification/search/data-plane/Azure.Search/stable/2023-11-01/searchservice.json
index 4b3b0a895169..38937e3f9c8b 100644
--- a/specification/search/data-plane/Azure.Search/stable/2023-11-01/searchservice.json
+++ b/specification/search/data-plane/Azure.Search/stable/2023-11-01/searchservice.json
@@ -2683,7 +2683,8 @@
"Edm.Boolean",
"Edm.DateTimeOffset",
"Edm.GeographyPoint",
- "Edm.ComplexType"
+ "Edm.ComplexType",
+ "Edm.Single"
],
"x-ms-enum": {
"name": "SearchFieldDataType",
@@ -2728,6 +2729,11 @@
"value": "Edm.ComplexType",
"name": "Complex",
"description": "Indicates that a field contains one or more complex objects that in turn have sub-fields of other types."
+ },
+ {
+ "value": "Edm.Single",
+ "name": "Single",
+ "description": "Indicates that a field contains a single-precision floating point number. This is only valid when used with Collection(Edm.Single)."
}
]
},
@@ -5545,7 +5551,7 @@
"items": {
"$ref": "#/definitions/VectorSearchAlgorithmConfiguration"
},
- "description": "Contains configuration options specific to the algorithm used during indexing and/or querying."
+ "description": "Contains configuration options specific to the algorithm used during indexing or querying."
}
},
"description": "Contains configuration options related to vector search."
@@ -5562,6 +5568,7 @@
"x-nullable": false
},
"algorithm": {
+ "x-ms-client-name": "algorithmConfigurationName",
"type": "string",
"description": "The name of the vector search algorithm configuration that specifies the algorithm and optional parameters.",
"x-nullable": false
@@ -5595,9 +5602,10 @@
"name",
"kind"
],
- "description": "Contains configuration options specific to the algorithm used during indexing and/or querying."
+ "description": "Contains configuration options specific to the algorithm used during indexing or querying."
},
"HnswVectorSearchAlgorithmConfiguration": {
+ "x-ms-client-name": "HnswAlgorithmConfiguration",
"type": "object",
"x-ms-discriminator-value": "hnsw",
"allOf": [
@@ -5609,10 +5617,10 @@
"hnswParameters": {
"x-ms-client-name": "Parameters",
"$ref": "#/definitions/HnswParameters",
- "description": "Contains the parameters specific to hnsw algorithm."
+ "description": "Contains the parameters specific to HNSW algorithm."
}
},
- "description": "Contains configuration options specific to the hnsw approximate nearest neighbors algorithm used during indexing and querying. The hnsw algorithm offers a tunable trade-off between search speed and accuracy."
+ "description": "Contains configuration options specific to the HNSW approximate nearest neighbors algorithm used during indexing and querying. The HNSW algorithm offers a tunable trade-off between search speed and accuracy."
},
"HnswParameters": {
"type": "object",
@@ -5650,9 +5658,10 @@
"description": "The similarity metric to use for vector comparisons."
}
},
- "description": "Contains the parameters specific to hnsw algorithm."
+ "description": "Contains the parameters specific to the HNSW algorithm."
},
"ExhaustiveKnnVectorSearchAlgorithmConfiguration": {
+ "x-ms-client-name": "ExhaustiveKnnAlgorithmConfiguration",
"type": "object",
"x-ms-discriminator-value": "exhaustiveKnn",
"allOf": [
@@ -5720,7 +5729,7 @@
{
"value": "hnsw",
"name": "Hnsw",
- "description": "Hnsw (Hierarchical Navigable Small World), a type of approximate nearest neighbors algorithm."
+ "description": "HNSW (Hierarchical Navigable Small World), a type of approximate nearest neighbors algorithm."
},
{
"value": "exhaustiveKnn",
@@ -6726,6 +6735,7 @@
"x-nullable": true
},
"dimensions": {
+ "x-ms-client-name": "vectorSearchDimensions",
"type": "integer",
"format": "int32",
"x-nullable": true,
@@ -6734,6 +6744,7 @@
"description": "The dimensionality of the vector field."
},
"vectorSearchProfile": {
+ "x-ms-client-name": "vectorSearchProfileName",
"type": "string",
"x-nullable": true,
"description": "The name of the vector search profile that specifies the algorithm to use when searching the vector field."
@@ -7244,7 +7255,7 @@
"externalDocs": {
"url": "https://learn.microsoft.com/azure/search/semantic-search-overview"
},
- "x-ms-client-name": "SemanticSettings",
+ "x-ms-client-name": "SemanticSearch",
"x-nullable": true
},
"vectorSearch": {
@@ -8068,6 +8079,7 @@
"description": "A parameter that provides various ways to mask the personal information detected in the input text. Default is 'none'."
},
"maskingCharacter": {
+ "x-ms-client-name": "mask",
"type": "string",
"x-nullable": true,
"maxLength": 1,
@@ -9528,20 +9540,56 @@
"SplitSkillLanguage": {
"type": "string",
"enum": [
+ "am",
+ "bs",
+ "cs",
"da",
"de",
"en",
"es",
+ "et",
"fi",
"fr",
+ "he",
+ "hi",
+ "hr",
+ "hu",
+ "id",
+ "is",
"it",
+ "ja",
"ko",
- "pt"
+ "lv",
+ "nb",
+ "nl",
+ "pl",
+ "pt",
+ "pt-br",
+ "ru",
+ "sk",
+ "sl",
+ "sr",
+ "sv",
+ "tr",
+ "ur",
+ "zh"
],
"x-ms-enum": {
"name": "SplitSkillLanguage",
"modelAsString": true,
"values": [
+ {
+ "value": "am",
+ "description": "Amharic"
+ },
+ {
+ "value": "bs",
+ "description": "Bosnian"
+ },
+ {
+ "value": "cs",
+ "description": "Czech"
+ },
{
"value": "da",
"description": "Danish"
@@ -9558,6 +9606,10 @@
"value": "es",
"description": "Spanish"
},
+ {
+ "value": "et",
+ "description": "Estonian"
+ },
{
"value": "fi",
"description": "Finnish"
@@ -9566,17 +9618,97 @@
"value": "fr",
"description": "French"
},
+ {
+ "value": "he",
+ "description": "Hebrew"
+ },
+ {
+ "value": "hi",
+ "description": "Hindi"
+ },
+ {
+ "value": "hr",
+ "description": "Croatian"
+ },
+ {
+ "value": "hu",
+ "description": "Hungarian"
+ },
+ {
+ "value": "id",
+ "description": "Indonesian"
+ },
+ {
+ "value": "is",
+ "description": "Icelandic"
+ },
{
"value": "it",
"description": "Italian"
},
+ {
+ "value": "ja",
+ "description": "Japanese"
+ },
{
"value": "ko",
"description": "Korean"
},
+ {
+ "value": "lv",
+ "description": "Latvian"
+ },
+ {
+ "value": "nb",
+ "description": "Norwegian"
+ },
+ {
+ "value": "nl",
+ "description": "Dutch"
+ },
+ {
+ "value": "pl",
+ "description": "Polish"
+ },
{
"value": "pt",
- "description": "Portuguese"
+ "description": "Portuguese (Portugal)"
+ },
+ {
+ "value": "pt-br",
+ "description": "Portuguese (Brazil)"
+ },
+ {
+ "value": "ru",
+ "description": "Russian"
+ },
+ {
+ "value": "sk",
+ "description": "Slovak"
+ },
+ {
+ "value": "sl",
+ "description": "Slovenian"
+ },
+ {
+ "value": "sr",
+ "description": "Serbian"
+ },
+ {
+ "value": "sv",
+ "description": "Swedish"
+ },
+ {
+ "value": "tr",
+ "description": "Turkish"
+ },
+ {
+ "value": "ur",
+ "description": "Urdu"
+ },
+ {
+ "value": "zh",
+ "description": "Chinese (Simplified)"
}
]
},
@@ -10632,8 +10764,10 @@
"description": "Describes an error condition for the API."
},
"SemanticSettings": {
+ "x-ms-client-name": "SemanticSearch",
"properties": {
"defaultConfiguration": {
+ "x-ms-client-name": "defaultConfigurationName",
"type": "string",
"description": "Allows you to set the name of a default semantic configuration in your index, making it optional to pass it on as a query parameter every time."
},
@@ -10676,12 +10810,14 @@
"description": "Defines a specific configuration to be used in the context of semantic capabilities."
},
"PrioritizedFields": {
+ "x-ms-client-name": "SemanticPrioritizedFields",
"properties": {
"titleField": {
"$ref": "#/definitions/SemanticField",
"description": "Defines the title field to be used for semantic ranking, captions, highlights, and answers. If you don't have a title field in your index, leave this blank."
},
"prioritizedContentFields": {
+ "x-ms-client-name": "contentFields",
"type": "array",
"items": {
"$ref": "#/definitions/SemanticField"
@@ -10689,6 +10825,7 @@
"description": "Defines the content fields to be used for semantic ranking, captions, highlights, and answers. For the best result, the selected fields should contain text in natural language form. The order of the fields in the array represents their priority. Fields with lower priority may get truncated if the content is long."
},
"prioritizedKeywordsFields": {
+ "x-ms-client-name": "keywordsFields",
"type": "array",
"items": {
"$ref": "#/definitions/SemanticField"
@@ -10709,6 +10846,9 @@
"x-nullable": false
}
},
+ "required": [
+ "fieldName"
+ ],
"description": "A field that is used as part of the semantic configuration."
}
},
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2023-11-01/search.json b/specification/search/resource-manager/Microsoft.Search/stable/2023-11-01/search.json
index aebddfc272c3..52cec4918d7d 100644
--- a/specification/search/resource-manager/Microsoft.Search/stable/2023-11-01/search.json
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2023-11-01/search.json
@@ -2,7 +2,7 @@
"swagger": "2.0",
"info": {
"title": "SearchManagementClient",
- "description": "Client that can be used to manage Azure Cognitive Search services and API keys.",
+ "description": "Client that can be used to manage search services and API keys.",
"version": "2023-11-01"
},
"host": "management.azure.com",
@@ -27,7 +27,7 @@
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "Azure Active Directory OAuth2 Flow",
+ "description": "Microsoft Entra ID OAuth2 authorization flow.",
"scopes": {
"user_impersonation": "impersonate your user account"
}
@@ -81,7 +81,7 @@
"$ref": "./examples/SearchGetAdminKeys.json"
}
},
- "description": "Gets the primary and secondary admin API keys for the specified Azure Cognitive Search service.",
+ "description": "Gets the primary and secondary admin API keys for the specified search service.",
"externalDocs": {
"url": "https://aka.ms/search-manage"
},
@@ -104,7 +104,7 @@
],
"responses": {
"200": {
- "description": "The admin keys were successfully retrieved and are in the response. You can use either the primary or secondary key as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform any operations on your search service, including privileged operations. Privileged operations include managing resources like indexes and data sources as well as uploading, modifying, or deleting data in your indexes.",
+ "description": "The admin keys were successfully retrieved and are in the response. You can use either the primary or secondary key as the value of the 'api-key' parameter in the data plane REST API or an Azure SDK to perform any operations on your search service, including privileged operations. Privileged operations include managing resources like indexes and data sources as well as uploading, modifying, or deleting data in your indexes.",
"schema": {
"$ref": "#/definitions/AdminKeyResult"
}
@@ -234,7 +234,7 @@
],
"responses": {
"200": {
- "description": "The query key was successfully created and is in the response. You can use the query key as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.",
+ "description": "The query key was successfully created and is in the response. You can use the query key as the value of the 'api-key' parameter in the data plane REST API or an Azure SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.",
"schema": {
"$ref": "#/definitions/QueryKey"
}
@@ -262,7 +262,7 @@
"$ref": "./examples/SearchListQueryKeysBySearchService.json"
}
},
- "description": "Returns the list of query API keys for the given Azure Cognitive Search service.",
+ "description": "Returns the list of query API keys for the given search service.",
"externalDocs": {
"url": "https://aka.ms/search-manage"
},
@@ -285,7 +285,7 @@
],
"responses": {
"200": {
- "description": "All query keys for the given search service were successfully retrieved and are in the response. You can use any of the query keys as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.",
+ "description": "All query keys for the given search service were successfully retrieved and are in the response. You can use any of the query keys as the value of the 'api-key' parameter in the data plane REST API or an Azure SDK to perform read-only operations on the documents collection of your search indexes such as querying and looking up documents by ID.",
"schema": {
"$ref": "#/definitions/ListQueryKeysResult"
}
@@ -402,7 +402,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the Azure Cognitive Search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net). You cannot change the service name after the service is created."
+ "description": "The name of the search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net). You cannot change the service name after the service is created."
},
{
"name": "service",
@@ -489,7 +489,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the Azure Cognitive Search service to update."
+ "description": "The name of the search service to update."
},
{
"name": "service",
@@ -1311,7 +1311,7 @@
"$ref": "./examples/GetQuotaUsage.json"
}
},
- "description": "Gets the quota usage for a search sku in the given subscription.",
+ "description": "Gets the quota usage for a search SKU in the given subscription.",
"externalDocs": {
"url": "https://aka.ms/search-manage"
},
@@ -1334,7 +1334,7 @@
],
"responses": {
"200": {
- "description": "The operation succeeded. The response contains the quota usage of a search service sku for the given subscription.",
+ "description": "The operation succeeded. The response contains the quota usage of a search service SKU for the given subscription.",
"schema": {
"$ref": "#/definitions/QuotaUsageResult"
}
@@ -1437,7 +1437,7 @@
"description": "The secondary admin API key of the search service."
}
},
- "description": "Response containing the primary and secondary admin API keys for a given Azure Cognitive Search service."
+ "description": "Response containing the primary and secondary admin API keys for a given search service."
},
"QueryKey": {
"properties": {
@@ -1452,7 +1452,7 @@
"description": "The value of the query API key."
}
},
- "description": "Describes an API key for a given Azure Cognitive Search service that has permissions for query operations only."
+ "description": "Describes an API key for a given search service that has permissions for query operations only."
},
"ListQueryKeysResult": {
"properties": {
@@ -1462,7 +1462,7 @@
"items": {
"$ref": "#/definitions/QueryKey"
},
- "description": "The query keys for the Azure Cognitive Search service."
+ "description": "The query keys for the search service."
},
"nextLink": {
"readOnly": true,
@@ -1470,7 +1470,7 @@
"description": "Request URL that can be used to query next page of query keys. Returned when the total number of requested query keys exceed maximum page size."
}
},
- "description": "Response containing the query API keys for a given Azure Cognitive Search service.",
+ "description": "Response containing the query API keys for a given search service.",
"x-ms-external": true
},
"Sku": {
@@ -1494,17 +1494,17 @@
{
"value": "free",
"name": "Free",
- "description": "Free tier, with no SLA guarantees and a subset of features offered to paid tiers."
+ "description": "Free tier, with no SLA guarantees and a subset of the features offered on billable tiers."
},
{
"value": "basic",
"name": "Basic",
- "description": "Paid tier dedicated service with up to 3 replicas."
+ "description": "Billable tier for a dedicated service having up to 3 replicas."
},
{
"value": "standard",
"name": "Standard",
- "description": "Paid tier dedicated service with up to 12 partitions and 12 replicas."
+ "description": "Billable tier for a dedicated service having up to 12 partitions and 12 replicas."
},
{
"value": "standard2",
@@ -1519,18 +1519,18 @@
{
"value": "storage_optimized_l1",
"name": "StorageOptimizedL1",
- "description": "Paid tier dedicated service that supports 1TB per partition, up to 12 partitions."
+ "description": "Billable tier for a dedicated service that supports 1TB per partition, up to 12 partitions."
},
{
"value": "storage_optimized_l2",
"name": "StorageOptimizedL2",
- "description": "Paid tier dedicated service that supports 2TB per partition, up to 12 partitions."
+ "description": "Billable tier for a dedicated service that supports 2TB per partition, up to 12 partitions."
}
]
}
}
},
- "description": "Defines the SKU of an Azure Cognitive Search Service, which determines price tier and capacity limits.",
+ "description": "Defines the SKU of a search service, which determines billing rate and capacity limits.",
"externalDocs": {
"url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/"
}
@@ -1541,21 +1541,21 @@
"apiKeyOnly": {
"type": "object",
"properties": {},
- "description": "Indicates that only the API key needs to be used for authentication."
+ "description": "Indicates that only the API key can be used for authentication."
},
"aadOrApiKey": {
"$ref": "#/definitions/DataPlaneAadOrApiKeyAuthOption",
- "description": "Indicates that either the API key or an access token from Azure Active Directory can be used for authentication."
+ "description": "Indicates that either the API key or an access token from a Microsoft Entra ID tenant can be used for authentication."
}
},
- "description": "Defines the options for how the data plane API of a Search service authenticates requests. This cannot be set if 'disableLocalAuth' is set to true."
+ "description": "Defines the options for how the search service authenticates a data plane request. This cannot be set if 'disableLocalAuth' is set to true."
},
"DataPlaneAadOrApiKeyAuthOption": {
"type": "object",
"properties": {
"aadAuthFailureMode": {
"type": "string",
- "description": "Describes what response the data plane API of a Search service would send for requests that failed authentication.",
+ "description": "Describes what response the data plane API of a search service would send for requests that failed authentication.",
"enum": [
"http403",
"http401WithBearerChallenge"
@@ -1578,13 +1578,13 @@
}
}
},
- "description": "Indicates that either the API key or an access token from Azure Active Directory can be used for authentication."
+ "description": "Indicates that either the API key or an access token from a Microsoft Entra ID tenant can be used for authentication."
},
"EncryptionWithCmk": {
"type": "object",
"properties": {
"enforcement": {
- "description": "Describes how a search service should enforce having one or more non customer encrypted resources.",
+ "description": "Describes how a search service should enforce having one or more non-customer-encrypted resources.",
"type": "string",
"enum": [
"Disabled",
@@ -1598,12 +1598,12 @@
{
"value": "Disabled",
"name": "Disabled",
- "description": "No enforcement will be made and the search service can have non customer encrypted resources."
+ "description": "No enforcement will be made and the search service can have non-customer-encrypted resources."
},
{
"value": "Enabled",
"name": "Enabled",
- "description": "Search service will be marked as non-compliant if there are one or more non customer encrypted resources."
+ "description": "Search service will be marked as non-compliant if there are one or more non-customer-encrypted resources."
},
{
"value": "Unspecified",
@@ -1615,7 +1615,7 @@
},
"encryptionComplianceStatus": {
"readOnly": true,
- "description": "Describes whether the search service is compliant or not with respect to having non customer encrypted resources. If a service has more than one non customer encrypted resource and 'Enforcement' is 'enabled' then the service will be marked as 'nonCompliant'.",
+ "description": "Describes whether the search service is compliant or not with respect to having non-customer-encrypted resources. If a service has more than one non-customer-encrypted resource and 'Enforcement' is 'enabled' then the service will be marked as 'nonCompliant'.",
"type": "string",
"enum": [
"Compliant",
@@ -1628,24 +1628,24 @@
{
"value": "Compliant",
"name": "Compliant",
- "description": "Indicates that the search service is compliant, either because number of non customer encrypted resources is zero or enforcement is disabled."
+ "description": "Indicates that the search service is compliant, either because number of non-customer-encrypted resources is zero or enforcement is disabled."
},
{
"value": "NonCompliant",
"name": "NonCompliant",
- "description": "Indicates that the search service has more than 1 non customer encrypted resources."
+ "description": "Indicates that the search service has more than one non-customer-encrypted resources."
}
]
}
}
},
- "description": "Describes a policy that determines how resources within the search service are to be encrypted with Customer Managed Keys."
+ "description": "Describes a policy that determines how resources within the search service are to be encrypted with customer=managed keys."
},
"PrivateEndpointConnection": {
"properties": {
"properties": {
"$ref": "#/definitions/PrivateEndpointConnectionProperties",
- "description": "Describes the properties of an existing Private Endpoint connection to the Azure Cognitive Search service."
+ "description": "Describes the properties of an existing private endpoint connection to the search service."
}
},
"allOf": [
@@ -1653,28 +1653,28 @@
"$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
}
],
- "description": "Describes an existing Private Endpoint connection to the Azure Cognitive Search service."
+ "description": "Describes an existing private endpoint connection to the search service."
},
"NetworkRuleSet": {
"properties": {
"ipRules": {
"type": "array",
- "description": "A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not allowed even with any public IP rules, and private endpoint connections would be the exclusive access method.",
+ "description": "A list of IP restriction rules used for an IP firewall. Any IPs that do not match the rules are blocked by the firewall. These rules are only applied when the 'publicNetworkAccess' of the search service is 'enabled'.",
"items": {
"$ref": "#/definitions/IpRule"
}
}
},
- "description": "Network specific rules that determine how the Azure Cognitive Search service may be reached."
+ "description": "Network-specific rules that determine how the search service can be reached."
},
"IpRule": {
"properties": {
"value": {
"type": "string",
- "description": "Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) to be allowed."
+ "description": "Value corresponding to a single IPv4 address (for example, 123.1.2.3) or an IP range in CIDR format (for example, 123.1.2.3/24) to be allowed."
}
},
- "description": "The IP restriction rule of the Azure Cognitive Search service."
+ "description": "The IP restriction rule of the search service."
},
"PrivateEndpointConnectionProperties": {
"properties": {
@@ -1692,7 +1692,7 @@
"properties": {
"status": {
"type": "string",
- "description": "Status of the the private link service connection. Can be Pending, Approved, Rejected, or Disconnected.",
+ "description": "Status of the the private link service connection. Valid values are Pending, Approved, Rejected, or Disconnected.",
"enum": [
"Pending",
"Approved",
@@ -1744,7 +1744,7 @@
},
"provisioningState": {
"type": "string",
- "description": "The provisioning state of the private link service connection. Can be Updating, Deleting, Failed, Succeeded, or Incomplete",
+ "description": "The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, or Incomplete",
"enum": [
"Updating",
"Deleting",
@@ -1791,7 +1791,7 @@
}
}
},
- "description": "Describes the properties of an existing Private Endpoint connection to the Azure Cognitive Search service."
+ "description": "Describes the properties of an existing Private Endpoint connection to the search service."
},
"PrivateEndpointConnectionListResult": {
"properties": {
@@ -1826,27 +1826,27 @@
{
"value": "disabled",
"name": "disabled",
- "description": "Indicates that semantic search is disabled for the search service."
+ "description": "Indicates that semantic ranking is disabled for the search service."
},
{
"value": "free",
"name": "free",
- "description": "Enables semantic search on a search service and indicates that it is to be used within the limits of the free tier. This would cap the volume of semantic search requests and is offered at no extra charge. This is the default for newly provisioned search services."
+ "description": "Enables semantic ranking on a search service and indicates that it is to be used within the limits of the free tier. This would cap the volume of semantic ranking requests and is offered at no extra charge. This is the default for newly provisioned search services."
},
{
"value": "standard",
"name": "standard",
- "description": "Enables semantic search on a search service as a billable feature, with higher throughput and volume of semantic search queries."
+ "description": "Enables semantic ranking on a search service as a billable feature, with higher throughput and volume of semantic ranking requests."
}
]
},
- "description": "Sets options that control the availability of semantic search. This configuration is only possible for certain Azure Cognitive Search SKUs in certain locations."
+ "description": "Sets options that control the availability of semantic ranking. This configuration is only possible for certain search SKUs in certain locations."
},
"SharedPrivateLinkResource": {
"properties": {
"properties": {
"$ref": "#/definitions/SharedPrivateLinkResourceProperties",
- "description": "Describes the properties of a Shared Private Link Resource managed by the Azure Cognitive Search service."
+ "description": "Describes the properties of a Shared Private Link Resource managed by the search service."
}
},
"allOf": [
@@ -1854,7 +1854,7 @@
"$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
}
],
- "description": "Describes a Shared Private Link Resource managed by the Azure Cognitive Search service."
+ "description": "Describes a Shared Private Link Resource managed by the search service."
},
"SharedPrivateLinkResourceProperties": {
"properties": {
@@ -1880,7 +1880,7 @@
},
"status": {
"type": "string",
- "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected or Disconnected.",
+ "description": "Status of the shared private link resource. Valid values are Pending, Approved, Rejected or Disconnected.",
"enum": [
"Pending",
"Approved",
@@ -1894,7 +1894,7 @@
},
"provisioningState": {
"type": "string",
- "description": "The provisioning state of the shared private link resource. Can be Updating, Deleting, Failed, Succeeded or Incomplete.",
+ "description": "The provisioning state of the shared private link resource. Valid values are Updating, Deleting, Failed, Succeeded or Incomplete.",
"enum": [
"Updating",
"Deleting",
@@ -1908,7 +1908,7 @@
}
}
},
- "description": "Describes the properties of an existing Shared Private Link Resource managed by the Azure Cognitive Search service."
+ "description": "Describes the properties of an existing Shared Private Link Resource managed by the search service."
},
"SharedPrivateLinkResourceListResult": {
"properties": {
@@ -1947,7 +1947,7 @@
"properties": {
"$ref": "#/definitions/PrivateLinkResourceProperties",
"readOnly": true,
- "description": "Describes the properties of a supported private link resource for the Azure Cognitive Search service."
+ "description": "Describes the properties of a supported private link resource for the search service."
}
},
"allOf": [
@@ -1955,7 +1955,7 @@
"$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
}
],
- "description": "Describes a supported private link resource for the Azure Cognitive Search service."
+ "description": "Describes a supported private link resource for the search service."
},
"PrivateLinkResourceProperties": {
"properties": {
@@ -1986,45 +1986,45 @@
"items": {
"$ref": "#/definitions/ShareablePrivateLinkResourceType"
},
- "description": "The list of resources that are onboarded to private link service, that are supported by Azure Cognitive Search."
+ "description": "The list of resources that are onboarded to private link service and that are supported by search."
}
},
- "description": "Describes the properties of a supported private link resource for the Azure Cognitive Search service. For a given API version, this represents the 'supported' groupIds when creating a shared private link resource."
+ "description": "Describes the properties of a supported private link resource for the search service. For a given API version, this represents the 'supported' groupIds when creating a shared private link resource."
},
"ShareablePrivateLinkResourceType": {
"properties": {
"name": {
"readOnly": true,
"type": "string",
- "description": "The name of the resource type that has been onboarded to private link service, supported by Azure Cognitive Search."
+ "description": "The name of the resource type that has been onboarded to private link service and that's supported by search."
},
"properties": {
"$ref": "#/definitions/ShareablePrivateLinkResourceProperties",
"readOnly": true,
- "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure Cognitive Search."
+ "description": "Describes the properties of a resource type that has been onboarded to private link service and that's supported by search."
}
},
- "description": "Describes an resource type that has been onboarded to private link service, supported by Azure Cognitive Search."
+ "description": "Describes a resource type that has been onboarded to private link service and that's supported by search."
},
"ShareablePrivateLinkResourceProperties": {
"properties": {
"type": {
"readOnly": true,
"type": "string",
- "description": "The resource provider type for the resource that has been onboarded to private link service, supported by Azure Cognitive Search."
+ "description": "The resource provider type for the resource that has been onboarded to private link service and that's supported by search."
},
"groupId": {
"readOnly": true,
"type": "string",
- "description": "The resource provider group id for the resource that has been onboarded to private link service, supported by Azure Cognitive Search."
+ "description": "The resource provider group id for the resource that has been onboarded to private link service and that's supported by search."
},
"description": {
"readOnly": true,
"type": "string",
- "description": "The description of the resource type that has been onboarded to private link service, supported by Azure Cognitive Search."
+ "description": "The description of the resource type that has been onboarded to private link service and that's supported by search."
}
},
- "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure Cognitive Search."
+ "description": "Describes the properties of a resource type that has been onboarded to private link service and that's supported by search."
},
"SearchService": {
"properties": {
@@ -2035,7 +2035,7 @@
},
"sku": {
"$ref": "#/definitions/Sku",
- "description": "The SKU of the Search Service, which determines price tier and capacity limits. This property is required when creating a new Search Service.",
+ "description": "The SKU of the search service, which determines billing rate and capacity limits. This property is required when creating a new search service.",
"externalDocs": {
"url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/"
}
@@ -2050,7 +2050,7 @@
"$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
}
],
- "description": "Describes an Azure Cognitive Search service and its current state."
+ "description": "Describes a search service and its current state."
},
"SearchServiceUpdate": {
"properties": {
@@ -2061,14 +2061,14 @@
},
"sku": {
"$ref": "#/definitions/Sku",
- "description": "The SKU of the Search Service, which determines price tier and capacity limits. This property is required when creating a new Search Service.",
+ "description": "The SKU of the search service, which determines the billing rate and capacity limits. This property is required when creating a new search service.",
"externalDocs": {
"url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/"
}
},
"location": {
"type": "string",
- "description": "The geographic location of the resource. This must be one of the supported and registered Azure Geo Regions (for example, West US, East US, Southeast Asia, and so forth). This property is required when creating a new resource.",
+ "description": "The geographic location of the resource. This must be one of the supported and registered Azure geo regions (for example, West US, East US, Southeast Asia, and so forth). This property is required when creating a new resource.",
"externalDocs": {
"url": "https://aka.ms/search-rp-info"
},
@@ -2094,7 +2094,7 @@
"$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
}
],
- "description": "The parameters used to update an Azure Cognitive Search service."
+ "description": "The parameters used to update a search service."
},
"SearchServiceProperties": {
"properties": {
@@ -2155,7 +2155,7 @@
"status": {
"readOnly": true,
"type": "string",
- "description": "The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. If your service is in the degraded, disabled, or error states, it means the Azure Cognitive Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned.",
+ "description": "The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. If your service is in the degraded, disabled, or error states, Microsoft is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned.",
"enum": [
"running",
"provisioning",
@@ -2239,7 +2239,7 @@
},
"networkRuleSet": {
"$ref": "#/definitions/NetworkRuleSet",
- "description": "Network specific rules that determine how the Azure Cognitive Search service may be reached."
+ "description": "Network-specific rules that determine how the search service may be reached."
},
"encryptionWithCmk": {
"$ref": "#/definitions/EncryptionWithCmk",
@@ -2260,12 +2260,12 @@
"items": {
"$ref": "#/definitions/PrivateEndpointConnection"
},
- "description": "The list of private endpoint connections to the Azure Cognitive Search service."
+ "description": "The list of private endpoint connections to the search service."
},
"semanticSearch": {
"$ref": "#/definitions/SemanticSearch",
"x-nullable": true,
- "description": "Sets options that control the availability of semantic search. This configuration is only possible for certain Azure Cognitive Search SKUs in certain locations."
+ "description": "Sets options that control the availability of semantic search. This configuration is only possible for certain search SKUs in certain locations."
},
"sharedPrivateLinkResources": {
"readOnly": true,
@@ -2273,7 +2273,7 @@
"items": {
"$ref": "#/definitions/SharedPrivateLinkResource"
},
- "description": "The list of shared private link resources managed by the Azure Cognitive Search service."
+ "description": "The list of shared private link resources managed by the search service."
}
},
"description": "Properties of the search service."
@@ -2286,7 +2286,7 @@
"items": {
"$ref": "#/definitions/SearchService"
},
- "description": "The list of Search services."
+ "description": "The list of search services."
},
"nextLink": {
"readOnly": true,
@@ -2294,7 +2294,7 @@
"description": "Request URL that can be used to query next page of search services. Returned when the total number of requested search services exceed maximum page size."
}
},
- "description": "Response containing a list of Azure Cognitive Search services.",
+ "description": "Response containing a list of search services.",
"x-ms-external": true
},
"AsyncOperationResult": {
@@ -2391,7 +2391,7 @@
}
},
"OperationListResult": {
- "description": "The result of the request to list REST API operations. It contains a list of operations and a URL to get the next set of results.",
+ "description": "The result of the request to list REST API operations. It contains a list of operations and a URL to get the next set of results.",
"properties": {
"value": {
"type": "array",
@@ -2447,7 +2447,7 @@
"items": {
"$ref": "#/definitions/QuotaUsageResult"
},
- "description": "The quota usages for the SKUs supported by Azure Cognitive Search."
+ "description": "The quota usages for the SKUs supported by Azure AI Search."
},
"nextLink": {
"readOnly": true,
@@ -2455,7 +2455,7 @@
"description": "Request URL that can be used to query next page of quota usages. Returned when the total number of requested quota usages exceed maximum page size."
}
},
- "description": "Response containing the quota usage information for all the supported skus of Azure Cognitive Search service.",
+ "description": "Response containing the quota usage information for all the supported SKUs of Azure AI Search.",
"x-ms-external": true
},
"QuotaUsageResult": {
@@ -2463,21 +2463,21 @@
"properties": {
"id": {
"type": "string",
- "description": "The resource id of the quota usage sku endpoint for Microsoft.Search provider."
+ "description": "The resource ID of the quota usage SKU endpoint for Microsoft.Search provider."
},
"unit": {
"type": "string",
- "description": "The unit of measurement for the search sku."
+ "description": "The unit of measurement for the search SKU."
},
"currentValue": {
"type": "integer",
"format": "int32",
- "description": "The currently used up value for the particular search sku."
+ "description": "The currently used up value for the particular search SKU."
},
"limit": {
"type": "integer",
"format": "int32",
- "description": "The quota limit for the particular search sku."
+ "description": "The quota limit for the particular search SKU."
},
"name": {
"readOnly": true,
@@ -2485,17 +2485,17 @@
"properties": {
"value": {
"type": "string",
- "description": "The sku name supported by Azure Cognitive Search."
+ "description": "The SKU name supported by Azure AI Search."
},
"localizedValue": {
"type": "string",
- "description": "The localized string value for the sku supported by Azure Cognitive Search."
+ "description": "The localized string value for the SKU name."
}
},
- "description": "The name of the sku supported by Azure Cognitive Search."
+ "description": "The name of the SKU supported by Azure AI Search."
}
},
- "description": "Describes the quota usage for a particular sku supported by Azure Cognitive Search."
+ "description": "Describes the quota usage for a particular SKU."
}
},
"parameters": {
@@ -2512,7 +2512,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the Azure Cognitive Search service associated with the specified resource group.",
+ "description": "The name of the search service associated with the specified resource group.",
"x-ms-parameter-location": "method"
},
"PrivateEndpointConnectionNameParameter": {
@@ -2520,7 +2520,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the private endpoint connection to the Azure Cognitive Search service with the specified resource group.",
+ "description": "The name of the private endpoint connection to the search service with the specified resource group.",
"x-ms-parameter-location": "method"
},
"SharedPrivateLinkResourceNameParameter": {
@@ -2528,7 +2528,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the shared private link resource managed by the Azure Cognitive Search service within the specified resource group.",
+ "description": "The name of the shared private link resource managed by the search service within the specified resource group.",
"x-ms-parameter-location": "method"
},
"OperationNameParameter": {
@@ -2558,7 +2558,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The unique identifier for a Microsoft Azure subscription. You can obtain this value from the Azure Resource Manager API or the portal."
+ "description": "The unique identifier for a Microsoft Azure subscription. You can obtain this value from the Azure Resource Manager API, command line tools, or the portal."
},
"ApiVersionParameter": {
"name": "api-version",
@@ -2580,7 +2580,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The unique search service sku name supported by Azure Cognitive Search.",
+ "description": "The unique SKU name that identifies a billable tier.",
"x-ms-parameter-location": "method"
}
}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2023-10-01-preview/examples/SecurityConnectors/DeleteSecurityConnector_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2023-10-01-preview/examples/SecurityConnectors/DeleteSecurityConnector_example.json
new file mode 100644
index 000000000000..40b48c2268eb
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2023-10-01-preview/examples/SecurityConnectors/DeleteSecurityConnector_example.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "myRg",
+ "securityConnectorName": "mySecurityConnectorName"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2023-10-01-preview/examples/SecurityConnectors/GetSecurityConnectorSingleResource_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2023-10-01-preview/examples/SecurityConnectors/GetSecurityConnectorSingleResource_example.json
new file mode 100644
index 000000000000..205600c76f68
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2023-10-01-preview/examples/SecurityConnectors/GetSecurityConnectorSingleResource_example.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5",
+ "resourceGroupName": "exampleResourceGroup",
+ "securityConnectorName": "exampleSecurityConnectorName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorName",
+ "name": "exampleSecurityConnectorName",
+ "type": "Microsoft.Security/securityConnectors",
+ "etag": "etag value",
+ "kind": "",
+ "location": "Central US",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-08-31T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-08-31T13:47:50.328Z"
+ },
+ "properties": {
+ "environmentData": {
+ "environmentType": "AwsAccount",
+ "scanInterval": 4
+ },
+ "hierarchyIdentifier": "exampleHierarchyId",
+ "environmentName": "AWS",
+ "offerings": [
+ {
+ "offeringType": "CspmMonitorAws",
+ "nativeCloudConnection": {
+ "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2023-10-01-preview/examples/SecurityConnectors/GetSecurityConnectorsResourceGroup_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2023-10-01-preview/examples/SecurityConnectors/GetSecurityConnectorsResourceGroup_example.json
new file mode 100644
index 000000000000..1dadf4c5197e
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2023-10-01-preview/examples/SecurityConnectors/GetSecurityConnectorsResourceGroup_example.json
@@ -0,0 +1,126 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5",
+ "resourceGroupName": "exampleResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorAws",
+ "name": "exampleSecurityConnectorAws",
+ "type": "Microsoft.Security/securityConnectors",
+ "etag": "etag value",
+ "kind": "",
+ "location": "Central US",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-08-31T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-08-31T13:47:50.328Z"
+ },
+ "properties": {
+ "hierarchyIdentifier": "exampleHierarchyId",
+ "environmentData": {
+ "environmentType": "AwsAccount",
+ "scanInterval": 4
+ },
+ "environmentName": "AWS",
+ "offerings": [
+ {
+ "offeringType": "CspmMonitorAws",
+ "nativeCloudConnection": {
+ "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorAwsOrganization",
+ "name": "exampleSecurityConnectorAwsOrganization",
+ "type": "Microsoft.Security/securityConnectors",
+ "etag": "etag value",
+ "kind": "",
+ "location": "Central US",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-12-15T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-12-15T13:47:50.328Z"
+ },
+ "properties": {
+ "hierarchyIdentifier": "exampleHierarchyId",
+ "environmentData": {
+ "environmentType": "AwsAccount",
+ "scanInterval": 4,
+ "organizationalData": {
+ "organizationMembershipType": "Organization",
+ "stacksetName": "myStackSetName",
+ "excludedAccountIds": [
+ "excludedAccountIdExample"
+ ]
+ }
+ },
+ "environmentName": "AWS",
+ "offerings": [
+ {
+ "offeringType": "CspmMonitorAws",
+ "nativeCloudConnection": {
+ "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorGcp",
+ "name": "exampleSecurityConnectorGcp",
+ "type": "Microsoft.Security/securityConnectors",
+ "etag": "etag value",
+ "kind": "",
+ "location": "Central US",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-12-15T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-12-15T13:47:50.328Z"
+ },
+ "properties": {
+ "hierarchyIdentifier": "exampleHierarchyId",
+ "environmentData": {
+ "environmentType": "GcpProject",
+ "projectDetails": {
+ "projectNumber": "exampleHierarchyId",
+ "projectId": "My-0GCP-Project",
+ "workloadIdentityPoolId": "My-workload-identity-federation-pool-id"
+ }
+ },
+ "environmentName": "GCP",
+ "offerings": [
+ {
+ "offeringType": "CspmMonitorGcp",
+ "nativeCloudConnection": {
+ "workloadIdentityProviderId": "My workload identity provider Id",
+ "serviceAccountEmailAddress": "capm@projectName.com"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2023-10-01-preview/examples/SecurityConnectors/GetSecurityConnectorsSubscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2023-10-01-preview/examples/SecurityConnectors/GetSecurityConnectorsSubscription_example.json
new file mode 100644
index 000000000000..085b6d61c329
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2023-10-01-preview/examples/SecurityConnectors/GetSecurityConnectorsSubscription_example.json
@@ -0,0 +1,183 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup1/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorAws",
+ "name": "exampleSecurityConnectorAws",
+ "type": "Microsoft.Security/securityConnectors",
+ "etag": "etag value",
+ "kind": "",
+ "location": "Central US",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-08-31T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-08-31T13:47:50.328Z"
+ },
+ "properties": {
+ "hierarchyIdentifier": "exampleHierarchyId",
+ "environmentData": {
+ "environmentType": "AwsAccount",
+ "scanInterval": 4
+ },
+ "environmentName": "AWS",
+ "offerings": [
+ {
+ "offeringType": "CspmMonitorAws",
+ "nativeCloudConnection": {
+ "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup2/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorAwsOrganization",
+ "name": "exampleSecurityConnectorAwsOrganization",
+ "type": "Microsoft.Security/securityConnectors",
+ "etag": "etag value",
+ "kind": "",
+ "location": "Central US",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-12-15T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-12-15T13:47:50.328Z"
+ },
+ "properties": {
+ "hierarchyIdentifier": "exampleHierarchyId",
+ "environmentData": {
+ "environmentType": "AwsAccount",
+ "scanInterval": 4,
+ "organizationalData": {
+ "organizationMembershipType": "Organization",
+ "stacksetName": "myStackSetName",
+ "excludedAccountIds": [
+ "excludedAccountIdExample"
+ ]
+ }
+ },
+ "environmentName": "AWS",
+ "offerings": [
+ {
+ "offeringType": "CspmMonitorAws",
+ "nativeCloudConnection": {
+ "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup3/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorGithub",
+ "name": "githubTest",
+ "etag": "etag value",
+ "type": "Microsoft.Security/securityconnectors",
+ "location": "centralus",
+ "kind": "",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-12-15T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-12-15T13:47:50.328Z"
+ },
+ "properties": {
+ "hierarchyIdentifier": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup3/providers/Microsoft.SecurityDevops/githubConnectors/exampleGithubConnector",
+ "environmentName": "Github",
+ "environmentData": {
+ "environmentType": "GithubScope"
+ },
+ "offerings": [
+ {
+ "offeringType": "CspmMonitorGithub"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup3/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorAzureDevOpsConnectors",
+ "name": "AzureDevOpsTest",
+ "etag": "etag value",
+ "type": "Microsoft.Security/securityconnectors",
+ "location": "centralus",
+ "kind": "",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-12-15T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-12-15T13:47:50.328Z"
+ },
+ "properties": {
+ "hierarchyIdentifier": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup3/providers/Microsoft.SecurityDevops/azureDevOpsConnectors/exampleAzureDevOpsConnector",
+ "environmentName": "Github",
+ "environmentData": {
+ "environmentType": "GithubScope"
+ },
+ "offerings": [
+ {
+ "offeringType": "CspmMonitorGithub"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup3/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorGcp",
+ "name": "exampleSecurityConnectorGcp",
+ "type": "Microsoft.Security/securityConnectors",
+ "etag": "etag value",
+ "kind": "",
+ "location": "Central US",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-12-15T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-12-15T13:47:50.328Z"
+ },
+ "properties": {
+ "hierarchyIdentifier": "exampleHierarchyId",
+ "environmentData": {
+ "environmentType": "GcpProject",
+ "projectDetails": {
+ "projectNumber": "exampleHierarchyId",
+ "projectId": "My-0GCP-Project",
+ "workloadIdentityPoolId": "6c78da41157548d3b1d8b3c72effdf8c"
+ }
+ },
+ "environmentName": "GCP",
+ "offerings": [
+ {
+ "offeringType": "CspmMonitorGcp",
+ "nativeCloudConnection": {
+ "workloadIdentityProviderId": "My workload identity provider Id",
+ "serviceAccountEmailAddress": "capm@projectName.com"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2023-10-01-preview/examples/SecurityConnectors/PatchSecurityConnector_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2023-10-01-preview/examples/SecurityConnectors/PatchSecurityConnector_example.json
new file mode 100644
index 000000000000..4d485de4ed82
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2023-10-01-preview/examples/SecurityConnectors/PatchSecurityConnector_example.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5",
+ "securityConnectorName": "exampleSecurityConnectorName",
+ "resourceGroupName": "exampleResourceGroup",
+ "securityConnector": {
+ "location": "Central US",
+ "etag": "etag value (must be supplied for update)",
+ "tags": {},
+ "properties": {
+ "hierarchyIdentifier": "exampleHierarchyId",
+ "environmentData": {
+ "environmentType": "AwsAccount"
+ },
+ "environmentName": "AWS",
+ "offerings": [
+ {
+ "offeringType": "CspmMonitorAws",
+ "nativeCloudConnection": {
+ "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorName",
+ "name": "exampleSecurityConnectorName",
+ "type": "Microsoft.Security/securityConnectors",
+ "location": "Central US",
+ "kind": "",
+ "etag": "etag value",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-08-31T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-08-31T13:47:50.328Z"
+ },
+ "properties": {
+ "hierarchyIdentifier": "exampleHierarchyId",
+ "environmentData": {
+ "environmentType": "AwsAccount"
+ },
+ "environmentName": "AWS",
+ "offerings": [
+ {
+ "offeringType": "CspmMonitorAws",
+ "nativeCloudConnection": {
+ "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2023-10-01-preview/examples/SecurityConnectors/PutSecurityConnector_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2023-10-01-preview/examples/SecurityConnectors/PutSecurityConnector_example.json
new file mode 100644
index 000000000000..b17031f8083d
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2023-10-01-preview/examples/SecurityConnectors/PutSecurityConnector_example.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5",
+ "securityConnectorName": "exampleSecurityConnectorName",
+ "resourceGroupName": "exampleResourceGroup",
+ "securityConnector": {
+ "location": "Central US",
+ "etag": "etag value (must be supplied for update)",
+ "tags": {},
+ "properties": {
+ "hierarchyIdentifier": "exampleHierarchyId",
+ "environmentName": "AWS",
+ "environmentData": {
+ "environmentType": "AwsAccount",
+ "scanInterval": 4
+ },
+ "offerings": [
+ {
+ "offeringType": "CspmMonitorAws",
+ "nativeCloudConnection": {
+ "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorName",
+ "name": "exampleSecurityConnectorName",
+ "type": "Microsoft.Security/securityConnectors",
+ "location": "Central US",
+ "kind": "",
+ "etag": "",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-08-31T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-08-31T13:47:50.328Z"
+ },
+ "properties": {
+ "hierarchyIdentifier": "exampleHierarchyId",
+ "environmentData": {
+ "environmentType": "AwsAccount"
+ },
+ "environmentName": "AWS",
+ "offerings": [
+ {
+ "offeringType": "CspmMonitorAws",
+ "nativeCloudConnection": {
+ "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorName",
+ "name": "exampleSecurityConnectorName",
+ "type": "Microsoft.Security/securityConnectors",
+ "location": "Central US",
+ "kind": "",
+ "etag": "",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-08-31T13:47:50.328Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-08-31T13:47:50.328Z"
+ },
+ "properties": {
+ "hierarchyIdentifier": "exampleHierarchyId",
+ "environmentData": {
+ "environmentType": "AwsAccount"
+ },
+ "environmentName": "AWS",
+ "offerings": [
+ {
+ "offeringType": "CspmMonitorAws",
+ "nativeCloudConnection": {
+ "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2023-10-01-preview/securityConnectors.json b/specification/security/resource-manager/Microsoft.Security/preview/2023-10-01-preview/securityConnectors.json
new file mode 100644
index 000000000000..5b9380bd300a
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2023-10-01-preview/securityConnectors.json
@@ -0,0 +1,1733 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Security Center",
+ "description": "API spec for Microsoft.Security (Azure Security Center) resource provider",
+ "version": "2023-10-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityConnectors": {
+ "get": {
+ "x-ms-examples": {
+ "List all security connectors of a specified subscription": {
+ "$ref": "./examples/SecurityConnectors/GetSecurityConnectorsSubscription_example.json"
+ }
+ },
+ "tags": [
+ "SecurityConnectors"
+ ],
+ "description": "Lists all the security connectors in the specified subscription. Use the 'nextLink' property in the response to get the next page of security connectors for the specified subscription.",
+ "operationId": "SecurityConnectors_List",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecurityConnectorsList"
+ }
+ },
+ "default": {
+ "description": "Error response that describes why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors": {
+ "get": {
+ "x-ms-examples": {
+ "List all security connectors of a specified resource group": {
+ "$ref": "./examples/SecurityConnectors/GetSecurityConnectorsResourceGroup_example.json"
+ }
+ },
+ "tags": [
+ "SecurityConnectors"
+ ],
+ "description": "Lists all the security connectors in the specified resource group. Use the 'nextLink' property in the response to get the next page of security connectors for the specified resource group.",
+ "operationId": "SecurityConnectors_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecurityConnectorsList"
+ }
+ },
+ "default": {
+ "description": "Error response that describes why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}": {
+ "get": {
+ "x-ms-examples": {
+ "Retrieve a security connector": {
+ "$ref": "./examples/SecurityConnectors/GetSecurityConnectorSingleResource_example.json"
+ }
+ },
+ "tags": [
+ "SecurityConnectors"
+ ],
+ "description": "Retrieves details of a specific security connector",
+ "operationId": "SecurityConnectors_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/securityConnectorName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecurityConnector"
+ }
+ },
+ "default": {
+ "description": "Error response that describes why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Create or update a security connector": {
+ "$ref": "./examples/SecurityConnectors/PutSecurityConnector_example.json"
+ }
+ },
+ "tags": [
+ "SecurityConnectors"
+ ],
+ "description": "Creates or updates a security connector. If a security connector is already created and a subsequent request is issued for the same security connector id, then it will be updated.",
+ "operationId": "SecurityConnectors_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/securityConnectorName"
+ },
+ {
+ "$ref": "#/parameters/securityConnectorInBody"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecurityConnector"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/SecurityConnector"
+ }
+ },
+ "default": {
+ "description": "Error response that describes why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "x-ms-examples": {
+ "Update a security connector": {
+ "$ref": "./examples/SecurityConnectors/PatchSecurityConnector_example.json"
+ }
+ },
+ "tags": [
+ "SecurityConnectors"
+ ],
+ "description": "Updates a security connector",
+ "operationId": "SecurityConnectors_Update",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/securityConnectorName"
+ },
+ {
+ "$ref": "#/parameters/securityConnectorInBody"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecurityConnector"
+ }
+ },
+ "default": {
+ "description": "Error response that describes why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Delete a security connector": {
+ "$ref": "./examples/SecurityConnectors/DeleteSecurityConnector_example.json"
+ }
+ },
+ "tags": [
+ "SecurityConnectors"
+ ],
+ "operationId": "SecurityConnectors_Delete",
+ "description": "Deletes a security connector.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/securityConnectorName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource was deleted successfully"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response that describes why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "SecurityConnectorsList": {
+ "type": "object",
+ "description": "List of security connectors response.",
+ "required": [
+ "value"
+ ],
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "The list of security connectors under the given scope.",
+ "items": {
+ "$ref": "#/definitions/SecurityConnector"
+ }
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI to fetch the next page."
+ }
+ }
+ },
+ "SecurityConnector": {
+ "type": "object",
+ "description": "The security connector resource.",
+ "properties": {
+ "systemData": {
+ "readOnly": true,
+ "type": "object",
+ "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Security connector data",
+ "$ref": "#/definitions/SecurityConnectorProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "SecurityConnectorProperties": {
+ "type": "object",
+ "description": "A set of properties that defines the security connector configuration.",
+ "properties": {
+ "hierarchyIdentifier": {
+ "type": "string",
+ "description": "The multi cloud resource identifier (account id in case of AWS connector, project number in case of GCP connector)."
+ },
+ "hierarchyIdentifierTrialEndDate": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The date on which the trial period will end, if applicable. Trial period exists for 30 days after upgrading to payed offerings."
+ },
+ "environmentName": {
+ "type": "string",
+ "description": "The multi cloud resource's cloud name.",
+ "enum": [
+ "Azure",
+ "AWS",
+ "GCP",
+ "Github",
+ "AzureDevOps",
+ "GitLab"
+ ],
+ "x-ms-enum": {
+ "name": "cloudName",
+ "modelAsString": true
+ }
+ },
+ "offerings": {
+ "type": "array",
+ "description": "A collection of offerings for the security connector.",
+ "items": {
+ "$ref": "#/definitions/cloudOffering"
+ },
+ "x-ms-identifiers": []
+ },
+ "environmentData": {
+ "type": "object",
+ "description": "The security connector environment data.",
+ "$ref": "#/definitions/EnvironmentData"
+ }
+ }
+ },
+ "EnvironmentData": {
+ "type": "object",
+ "description": "The security connector environment data.",
+ "discriminator": "environmentType",
+ "required": [
+ "environmentType"
+ ],
+ "properties": {
+ "environmentType": {
+ "type": "string",
+ "description": "The type of the environment data.",
+ "enum": [
+ "AwsAccount",
+ "GcpProject",
+ "GithubScope",
+ "AzureDevOpsScope",
+ "GitlabScope"
+ ],
+ "x-ms-enum": {
+ "name": "environmentType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "AwsEnvironmentData": {
+ "type": "object",
+ "description": "The AWS connector environment data",
+ "x-ms-discriminator-value": "AwsAccount",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnvironmentData"
+ }
+ ],
+ "properties": {
+ "organizationalData": {
+ "type": "object",
+ "description": "The AWS account's organizational data",
+ "$ref": "#/definitions/AwsOrganizationalData"
+ },
+ "regions": {
+ "type": "array",
+ "description": "list of regions to scan",
+ "items": {
+ "type": "string",
+ "description": "AWS regions names"
+ }
+ },
+ "accountName": {
+ "type": "string",
+ "description": "The AWS account name",
+ "readOnly": true
+ },
+ "scanInterval": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Scan interval in hours (value should be between 1-hour to 24-hours)"
+ }
+ }
+ },
+ "AwsOrganizationalData": {
+ "type": "object",
+ "description": "The AWS organization data",
+ "discriminator": "organizationMembershipType",
+ "required": [
+ "organizationMembershipType"
+ ],
+ "properties": {
+ "organizationMembershipType": {
+ "type": "string",
+ "description": "The multi cloud account's membership type in the organization",
+ "enum": [
+ "Member",
+ "Organization"
+ ],
+ "x-ms-enum": {
+ "name": "organizationMembershipType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "AwsOrganizationalDataMaster": {
+ "type": "object",
+ "description": "The AWS organization data for the master account",
+ "x-ms-discriminator-value": "Organization",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AwsOrganizationalData"
+ }
+ ],
+ "properties": {
+ "stacksetName": {
+ "type": "string",
+ "description": "If the multi cloud account is of membership type organization, this will be the name of the onboarding stackset"
+ },
+ "excludedAccountIds": {
+ "type": "array",
+ "description": "If the multi cloud account is of membership type organization, list of accounts excluded from offering",
+ "items": {
+ "type": "string",
+ "description": "account IDs"
+ }
+ }
+ }
+ },
+ "AwsOrganizationalDataMember": {
+ "type": "object",
+ "description": "The AWS organization data for the member account",
+ "x-ms-discriminator-value": "Member",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AwsOrganizationalData"
+ }
+ ],
+ "properties": {
+ "parentHierarchyId": {
+ "type": "string",
+ "description": "If the multi cloud account is not of membership type organization, this will be the ID of the account's parent"
+ }
+ }
+ },
+ "GcpProjectEnvironmentData": {
+ "type": "object",
+ "description": "The GCP project connector environment data",
+ "x-ms-discriminator-value": "GcpProject",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnvironmentData"
+ }
+ ],
+ "properties": {
+ "organizationalData": {
+ "type": "object",
+ "description": "The Gcp project's organizational data",
+ "$ref": "#/definitions/GcpOrganizationalData"
+ },
+ "projectDetails": {
+ "type": "object",
+ "description": "The Gcp project's details",
+ "$ref": "#/definitions/GcpProjectDetails"
+ },
+ "scanInterval": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Scan interval in hours (value should be between 1-hour to 24-hours)"
+ }
+ }
+ },
+ "GcpProjectDetails": {
+ "type": "object",
+ "description": "The details about the project represented by the security connector",
+ "properties": {
+ "projectNumber": {
+ "type": "string",
+ "description": "The unique GCP Project number"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "The GCP Project id"
+ },
+ "workloadIdentityPoolId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The GCP workload identity federation pool id"
+ },
+ "projectName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "GCP project name"
+ }
+ }
+ },
+ "GcpOrganizationalData": {
+ "type": "object",
+ "description": "The gcpOrganization data",
+ "discriminator": "organizationMembershipType",
+ "required": [
+ "organizationMembershipType"
+ ],
+ "properties": {
+ "organizationMembershipType": {
+ "type": "string",
+ "description": "The multi cloud account's membership type in the organization",
+ "enum": [
+ "Member",
+ "Organization"
+ ],
+ "x-ms-enum": {
+ "name": "organizationMembershipType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "GcpOrganizationalDataOrganization": {
+ "type": "object",
+ "description": "The gcpOrganization data for the parent account",
+ "x-ms-discriminator-value": "Organization",
+ "allOf": [
+ {
+ "$ref": "#/definitions/GcpOrganizationalData"
+ }
+ ],
+ "properties": {
+ "excludedProjectNumbers": {
+ "type": "array",
+ "description": "If the multi cloud account is of membership type organization, list of accounts excluded from offering",
+ "items": {
+ "type": "string",
+ "description": "account IDs"
+ }
+ },
+ "serviceAccountEmailAddress": {
+ "type": "string",
+ "description": "The service account email address which represents the organization level permissions container."
+ },
+ "workloadIdentityProviderId": {
+ "type": "string",
+ "description": "The GCP workload identity provider id which represents the permissions required to auto provision security connectors"
+ },
+ "organizationName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "GCP organization name"
+ }
+ }
+ },
+ "GcpOrganizationalDataMember": {
+ "type": "object",
+ "description": "The gcpOrganization data for the member account",
+ "x-ms-discriminator-value": "Member",
+ "allOf": [
+ {
+ "$ref": "#/definitions/GcpOrganizationalData"
+ }
+ ],
+ "properties": {
+ "parentHierarchyId": {
+ "type": "string",
+ "description": "If the multi cloud account is not of membership type organization, this will be the ID of the project's parent"
+ },
+ "managementProjectNumber": {
+ "type": "string",
+ "description": "The GCP management project number from organizational onboarding"
+ }
+ }
+ },
+ "GithubScopeEnvironmentData": {
+ "type": "object",
+ "description": "The github scope connector's environment data",
+ "x-ms-discriminator-value": "GithubScope",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnvironmentData"
+ }
+ ],
+ "properties": {}
+ },
+ "AzureDevOpsScopeEnvironmentData": {
+ "type": "object",
+ "description": "The AzureDevOps scope connector's environment data",
+ "x-ms-discriminator-value": "AzureDevOpsScope",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnvironmentData"
+ }
+ ],
+ "properties": {}
+ },
+ "GitlabScopeEnvironmentData": {
+ "type": "object",
+ "description": "The GitLab scope connector's environment data",
+ "x-ms-discriminator-value": "GitlabScope",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnvironmentData"
+ }
+ ],
+ "properties": {}
+ },
+ "cloudOffering": {
+ "type": "object",
+ "description": "The security offering details",
+ "discriminator": "offeringType",
+ "required": [
+ "offeringType"
+ ],
+ "properties": {
+ "offeringType": {
+ "type": "string",
+ "description": "The type of the security offering.",
+ "enum": [
+ "CspmMonitorAws",
+ "DefenderForContainersAws",
+ "DefenderForServersAws",
+ "DefenderForDatabasesAws",
+ "InformationProtectionAws",
+ "CspmMonitorGcp",
+ "CspmMonitorGithub",
+ "CspmMonitorAzureDevOps",
+ "DefenderForServersGcp",
+ "DefenderForContainersGcp",
+ "DefenderForDatabasesGcp",
+ "DefenderCspmAws",
+ "DefenderCspmGcp",
+ "DefenderForDevOpsGithub",
+ "DefenderForDevOpsAzureDevOps",
+ "CspmMonitorGitLab",
+ "DefenderForDevOpsGitLab"
+ ],
+ "x-ms-enum": {
+ "name": "offeringType",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "The offering description.",
+ "readOnly": true
+ }
+ }
+ },
+ "cspmMonitorAwsOffering": {
+ "type": "object",
+ "description": "The CSPM monitoring for AWS offering",
+ "x-ms-discriminator-value": "CspmMonitorAws",
+ "allOf": [
+ {
+ "$ref": "#/definitions/cloudOffering"
+ }
+ ],
+ "properties": {
+ "nativeCloudConnection": {
+ "type": "object",
+ "description": "The native cloud connection configuration",
+ "properties": {
+ "cloudRoleArn": {
+ "type": "string",
+ "description": "The cloud role ARN in AWS for this feature"
+ }
+ }
+ }
+ }
+ },
+ "defenderForContainersAwsOffering": {
+ "type": "object",
+ "description": "The Defender for Containers AWS offering",
+ "x-ms-discriminator-value": "DefenderForContainersAws",
+ "allOf": [
+ {
+ "$ref": "#/definitions/cloudOffering"
+ }
+ ],
+ "properties": {
+ "kubernetesService": {
+ "type": "object",
+ "description": "The kubernetes service connection configuration",
+ "properties": {
+ "cloudRoleArn": {
+ "type": "string",
+ "description": "The cloud role ARN in AWS for this feature used for provisioning resources"
+ }
+ }
+ },
+ "kubernetesScubaReader": {
+ "type": "object",
+ "description": "The kubernetes to scuba connection configuration",
+ "properties": {
+ "cloudRoleArn": {
+ "type": "string",
+ "description": "The cloud role ARN in AWS for this feature used for reading data"
+ }
+ }
+ },
+ "cloudWatchToKinesis": {
+ "type": "object",
+ "description": "The cloudwatch to kinesis connection configuration",
+ "properties": {
+ "cloudRoleArn": {
+ "type": "string",
+ "description": "The cloud role ARN in AWS used by CloudWatch to transfer data into Kinesis"
+ }
+ }
+ },
+ "kinesisToS3": {
+ "type": "object",
+ "description": "The kinesis to s3 connection configuration",
+ "properties": {
+ "cloudRoleArn": {
+ "type": "string",
+ "description": "The cloud role ARN in AWS used by Kinesis to transfer data into S3"
+ }
+ }
+ },
+ "containerVulnerabilityAssessment": {
+ "type": "object",
+ "description": "The container vulnerability assessment configuration",
+ "properties": {
+ "cloudRoleArn": {
+ "type": "string",
+ "description": "The cloud role ARN in AWS for this feature"
+ }
+ }
+ },
+ "containerVulnerabilityAssessmentTask": {
+ "type": "object",
+ "description": "The container vulnerability assessment task configuration",
+ "properties": {
+ "cloudRoleArn": {
+ "type": "string",
+ "description": "The cloud role ARN in AWS for this feature"
+ }
+ }
+ },
+ "enableContainerVulnerabilityAssessment": {
+ "type": "boolean",
+ "description": "Enable container vulnerability assessment feature"
+ },
+ "autoProvisioning": {
+ "type": "boolean",
+ "description": "Is audit logs pipeline auto provisioning enabled"
+ },
+ "kubeAuditRetentionTime": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The retention time in days of kube audit logs set on the CloudWatch log group"
+ },
+ "scubaExternalId": {
+ "type": "string",
+ "description": "The externalId used by the data reader to prevent the confused deputy attack"
+ },
+ "mdcContainersImageAssessment": {
+ "type": "object",
+ "description": "The Microsoft Defender container image assessment configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is Microsoft Defender container image assessment enabled"
+ },
+ "cloudRoleArn": {
+ "type": "string",
+ "description": "The cloud role ARN in AWS for this feature"
+ }
+ }
+ },
+ "mdcContainersAgentlessDiscoveryK8s": {
+ "type": "object",
+ "description": "The Microsoft Defender container agentless discovery K8s configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is Microsoft Defender container agentless discovery K8s enabled"
+ },
+ "cloudRoleArn": {
+ "type": "string",
+ "description": "The cloud role ARN in AWS for this feature"
+ }
+ }
+ }
+ }
+ },
+ "defenderForServersAwsOffering": {
+ "type": "object",
+ "description": "The Defender for Servers AWS offering",
+ "x-ms-discriminator-value": "DefenderForServersAws",
+ "allOf": [
+ {
+ "$ref": "#/definitions/cloudOffering"
+ }
+ ],
+ "properties": {
+ "defenderForServers": {
+ "type": "object",
+ "description": "The Defender for servers connection configuration",
+ "properties": {
+ "cloudRoleArn": {
+ "type": "string",
+ "description": "The cloud role ARN in AWS for this feature"
+ }
+ }
+ },
+ "arcAutoProvisioning": {
+ "type": "object",
+ "description": "The ARC autoprovisioning configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is arc auto provisioning enabled"
+ },
+ "cloudRoleArn": {
+ "type": "string",
+ "description": "The cloud role ARN in AWS for this feature"
+ },
+ "configuration": {
+ "type": "object",
+ "description": "Configuration for servers Arc auto provisioning",
+ "properties": {
+ "proxy": {
+ "type": "string",
+ "description": "Optional HTTP proxy endpoint to use for the Arc agent"
+ },
+ "privateLinkScope": {
+ "type": "string",
+ "description": "Optional Arc private link scope resource id to link the Arc agent"
+ }
+ }
+ }
+ }
+ },
+ "vaAutoProvisioning": {
+ "type": "object",
+ "description": "The Vulnerability Assessment autoprovisioning configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is Vulnerability Assessment auto provisioning enabled"
+ },
+ "configuration": {
+ "type": "object",
+ "description": "configuration for Vulnerability Assessment autoprovisioning",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The Vulnerability Assessment solution to be provisioned. Can be either 'TVM' or 'Qualys'",
+ "enum": [
+ "Qualys",
+ "TVM"
+ ],
+ "x-ms-enum": {
+ "name": "type",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "mdeAutoProvisioning": {
+ "type": "object",
+ "description": "The Microsoft Defender for Endpoint autoprovisioning configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is Microsoft Defender for Endpoint auto provisioning enabled"
+ },
+ "configuration": {
+ "type": "object",
+ "description": "configuration for Microsoft Defender for Endpoint autoprovisioning",
+ "properties": {}
+ }
+ }
+ },
+ "subPlan": {
+ "type": "object",
+ "description": "configuration for the servers offering subPlan",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The available sub plans",
+ "enum": [
+ "P1",
+ "P2"
+ ],
+ "x-ms-enum": {
+ "name": "subPlan",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "vmScanners": {
+ "type": "object",
+ "description": "The Microsoft Defender for Server VM scanning configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is Microsoft Defender for Server VM scanning enabled"
+ },
+ "configuration": {
+ "type": "object",
+ "description": "configuration for Microsoft Defender for Server VM scanning",
+ "properties": {
+ "cloudRoleArn": {
+ "type": "string",
+ "description": "The cloud role ARN in AWS for this feature"
+ },
+ "scanningMode": {
+ "type": "string",
+ "description": "The scanning mode for the VM scan.",
+ "enum": [
+ "Default"
+ ],
+ "x-ms-enum": {
+ "name": "scanningMode",
+ "modelAsString": true
+ }
+ },
+ "exclusionTags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "VM tags that indicates that VM should not be scanned"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "defenderFoDatabasesAwsOffering": {
+ "type": "object",
+ "description": "The Defender for Databases AWS offering",
+ "x-ms-discriminator-value": "DefenderForDatabasesAws",
+ "allOf": [
+ {
+ "$ref": "#/definitions/cloudOffering"
+ }
+ ],
+ "properties": {
+ "arcAutoProvisioning": {
+ "type": "object",
+ "description": "The ARC autoprovisioning configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is arc auto provisioning enabled"
+ },
+ "cloudRoleArn": {
+ "type": "string",
+ "description": "The cloud role ARN in AWS for this feature"
+ },
+ "configuration": {
+ "type": "object",
+ "description": "Configuration for servers Arc auto provisioning",
+ "properties": {
+ "proxy": {
+ "type": "string",
+ "description": "Optional http proxy endpoint to use for the Arc agent"
+ },
+ "privateLinkScope": {
+ "type": "string",
+ "description": "Optional Arc private link scope resource id to link the Arc agent"
+ }
+ }
+ }
+ }
+ },
+ "rds": {
+ "type": "object",
+ "description": "The RDS configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is RDS protection enabled"
+ },
+ "cloudRoleArn": {
+ "type": "string",
+ "description": "The cloud role ARN in AWS for this feature"
+ }
+ }
+ },
+ "databasesDspm": {
+ "type": "object",
+ "description": "The databases data security posture management (DSPM) configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is databases data security posture management (DSPM) protection enabled"
+ },
+ "cloudRoleArn": {
+ "type": "string",
+ "description": "The cloud role ARN in AWS for this feature"
+ }
+ }
+ }
+ }
+ },
+ "informationProtectionAwsOffering": {
+ "type": "object",
+ "description": "The information protection for AWS offering",
+ "x-ms-discriminator-value": "InformationProtectionAws",
+ "allOf": [
+ {
+ "$ref": "#/definitions/cloudOffering"
+ }
+ ],
+ "properties": {
+ "informationProtection": {
+ "type": "object",
+ "description": "The native cloud connection configuration",
+ "properties": {
+ "cloudRoleArn": {
+ "type": "string",
+ "description": "The cloud role ARN in AWS for this feature"
+ }
+ }
+ }
+ }
+ },
+ "cspmMonitorGcpOffering": {
+ "type": "object",
+ "description": "The CSPM monitoring for GCP offering",
+ "x-ms-discriminator-value": "CspmMonitorGcp",
+ "allOf": [
+ {
+ "$ref": "#/definitions/cloudOffering"
+ }
+ ],
+ "properties": {
+ "nativeCloudConnection": {
+ "type": "object",
+ "description": "The native cloud connection configuration",
+ "properties": {
+ "workloadIdentityProviderId": {
+ "type": "string",
+ "description": "The GCP workload identity provider id for the offering"
+ },
+ "serviceAccountEmailAddress": {
+ "type": "string",
+ "description": "The service account email address in GCP for this offering"
+ }
+ }
+ }
+ }
+ },
+ "defenderForServersGcpOffering": {
+ "type": "object",
+ "description": "The Defender for Servers GCP offering configurations",
+ "x-ms-discriminator-value": "DefenderForServersGcp",
+ "allOf": [
+ {
+ "$ref": "#/definitions/cloudOffering"
+ }
+ ],
+ "properties": {
+ "defenderForServers": {
+ "type": "object",
+ "description": "The Defender for servers connection configuration",
+ "properties": {
+ "workloadIdentityProviderId": {
+ "type": "string",
+ "description": "The workload identity provider id in GCP for this feature"
+ },
+ "serviceAccountEmailAddress": {
+ "type": "string",
+ "description": "The service account email address in GCP for this feature"
+ }
+ }
+ },
+ "arcAutoProvisioning": {
+ "type": "object",
+ "description": "The ARC autoprovisioning configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is arc auto provisioning enabled"
+ },
+ "configuration": {
+ "type": "object",
+ "description": "Configuration for servers Arc auto provisioning",
+ "properties": {
+ "proxy": {
+ "type": "string",
+ "description": "Optional HTTP proxy endpoint to use for the Arc agent"
+ },
+ "privateLinkScope": {
+ "type": "string",
+ "description": "Optional Arc private link scope resource id to link the Arc agent"
+ }
+ }
+ }
+ }
+ },
+ "vaAutoProvisioning": {
+ "type": "object",
+ "description": "The Vulnerability Assessment autoprovisioning configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is Vulnerability Assessment auto provisioning enabled"
+ },
+ "configuration": {
+ "type": "object",
+ "description": "configuration for Vulnerability Assessment autoprovisioning",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The Vulnerability Assessment solution to be provisioned. Can be either 'TVM' or 'Qualys'",
+ "enum": [
+ "Qualys",
+ "TVM"
+ ],
+ "x-ms-enum": {
+ "name": "type",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "mdeAutoProvisioning": {
+ "type": "object",
+ "description": "The Microsoft Defender for Endpoint autoprovisioning configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is Microsoft Defender for Endpoint auto provisioning enabled"
+ },
+ "configuration": {
+ "type": "object",
+ "description": "configuration for Microsoft Defender for Endpoint autoprovisioning",
+ "properties": {}
+ }
+ }
+ },
+ "subPlan": {
+ "type": "object",
+ "description": "configuration for the servers offering subPlan",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The available sub plans",
+ "enum": [
+ "P1",
+ "P2"
+ ],
+ "x-ms-enum": {
+ "name": "subPlan",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "vmScanners": {
+ "type": "object",
+ "description": "The Microsoft Defender for Server VM scanning configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is Microsoft Defender for Server VM scanning enabled"
+ },
+ "configuration": {
+ "type": "object",
+ "description": "configuration for Microsoft Defender for Server VM scanning",
+ "properties": {
+ "scanningMode": {
+ "type": "string",
+ "description": "The scanning mode for the VM scan.",
+ "enum": [
+ "Default"
+ ],
+ "x-ms-enum": {
+ "name": "scanningMode",
+ "modelAsString": true
+ }
+ },
+ "exclusionTags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "VM tags that indicate that VM should not be scanned"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "defenderForDatabasesGcpOffering": {
+ "type": "object",
+ "description": "The Defender for Databases GCP offering configurations",
+ "x-ms-discriminator-value": "DefenderForDatabasesGcp",
+ "allOf": [
+ {
+ "$ref": "#/definitions/cloudOffering"
+ }
+ ],
+ "properties": {
+ "arcAutoProvisioning": {
+ "type": "object",
+ "description": "The ARC autoprovisioning configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is arc auto provisioning enabled"
+ },
+ "configuration": {
+ "type": "object",
+ "description": "Configuration for servers Arc auto provisioning",
+ "properties": {
+ "proxy": {
+ "type": "string",
+ "description": "Optional http proxy endpoint to use for the Arc agent"
+ },
+ "privateLinkScope": {
+ "type": "string",
+ "description": "Optional Arc private link scope resource id to link the Arc agent"
+ }
+ }
+ }
+ }
+ },
+ "defenderForDatabasesArcAutoProvisioning": {
+ "type": "object",
+ "description": "The native cloud connection configuration",
+ "properties": {
+ "serviceAccountEmailAddress": {
+ "type": "string",
+ "description": "The service account email address in GCP for this offering"
+ },
+ "workloadIdentityProviderId": {
+ "type": "string",
+ "description": "The GCP workload identity provider id for this offering"
+ }
+ }
+ }
+ }
+ },
+ "defenderForContainersGcpOffering": {
+ "type": "object",
+ "description": "The containers GCP offering",
+ "x-ms-discriminator-value": "DefenderForContainersGcp",
+ "allOf": [
+ {
+ "$ref": "#/definitions/cloudOffering"
+ }
+ ],
+ "properties": {
+ "nativeCloudConnection": {
+ "type": "object",
+ "description": "The native cloud connection configuration",
+ "properties": {
+ "serviceAccountEmailAddress": {
+ "type": "string",
+ "description": "The service account email address in GCP for this offering"
+ },
+ "workloadIdentityProviderId": {
+ "type": "string",
+ "description": "The GCP workload identity provider id for this offering"
+ }
+ }
+ },
+ "dataPipelineNativeCloudConnection": {
+ "type": "object",
+ "description": "The native cloud connection configuration",
+ "properties": {
+ "serviceAccountEmailAddress": {
+ "type": "string",
+ "description": "The data collection service account email address in GCP for this offering"
+ },
+ "workloadIdentityProviderId": {
+ "type": "string",
+ "description": "The data collection GCP workload identity provider id for this offering"
+ }
+ }
+ },
+ "auditLogsAutoProvisioningFlag": {
+ "type": "boolean",
+ "description": "Is audit logs data collection enabled"
+ },
+ "defenderAgentAutoProvisioningFlag": {
+ "type": "boolean",
+ "description": "Is Microsoft Defender for Cloud Kubernetes agent auto provisioning enabled"
+ },
+ "policyAgentAutoProvisioningFlag": {
+ "type": "boolean",
+ "description": "Is Policy Kubernetes agent auto provisioning enabled"
+ },
+ "mdcContainersImageAssessment": {
+ "type": "object",
+ "description": "The Microsoft Defender Container image assessment configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is Microsoft Defender container image assessment enabled"
+ },
+ "workloadIdentityProviderId": {
+ "type": "string",
+ "description": "The workload identity provider id in GCP for this feature"
+ },
+ "serviceAccountEmailAddress": {
+ "type": "string",
+ "description": "The service account email address in GCP for this feature"
+ }
+ }
+ },
+ "mdcContainersAgentlessDiscoveryK8s": {
+ "type": "object",
+ "description": "The Microsoft Defender Container agentless discovery configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is Microsoft Defender container agentless discovery enabled"
+ },
+ "workloadIdentityProviderId": {
+ "type": "string",
+ "description": "The workload identity provider id in GCP for this feature"
+ },
+ "serviceAccountEmailAddress": {
+ "type": "string",
+ "description": "The service account email address in GCP for this feature"
+ }
+ }
+ }
+ }
+ },
+ "cspmMonitorGithubOffering": {
+ "type": "object",
+ "description": "The CSPM monitoring for github offering",
+ "x-ms-discriminator-value": "CspmMonitorGithub",
+ "allOf": [
+ {
+ "$ref": "#/definitions/cloudOffering"
+ }
+ ],
+ "properties": {}
+ },
+ "cspmMonitorAzureDevOpsOffering": {
+ "type": "object",
+ "description": "The CSPM monitoring for AzureDevOps offering",
+ "x-ms-discriminator-value": "CspmMonitorAzureDevOps",
+ "allOf": [
+ {
+ "$ref": "#/definitions/cloudOffering"
+ }
+ ],
+ "properties": {}
+ },
+ "defenderCspmAwsOffering": {
+ "type": "object",
+ "description": "The CSPM P1 for AWS offering",
+ "x-ms-discriminator-value": "DefenderCspmAws",
+ "allOf": [
+ {
+ "$ref": "#/definitions/cloudOffering"
+ }
+ ],
+ "properties": {
+ "vmScanners": {
+ "type": "object",
+ "description": "The Microsoft Defender for Server VM scanning configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is Microsoft Defender for Server VM scanning enabled"
+ },
+ "configuration": {
+ "type": "object",
+ "description": "configuration for Microsoft Defender for Server VM scanning",
+ "properties": {
+ "cloudRoleArn": {
+ "type": "string",
+ "description": "The cloud role ARN in AWS for this feature"
+ },
+ "scanningMode": {
+ "type": "string",
+ "description": "The scanning mode for the VM scan.",
+ "enum": [
+ "Default"
+ ],
+ "x-ms-enum": {
+ "name": "scanningMode",
+ "modelAsString": true
+ }
+ },
+ "exclusionTags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "VM tags that indicates that VM should not be scanned"
+ }
+ }
+ }
+ }
+ },
+ "dataSensitivityDiscovery": {
+ "type": "object",
+ "description": "The Microsoft Defender Data Sensitivity discovery configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is Microsoft Defender Data Sensitivity discovery enabled"
+ },
+ "cloudRoleArn": {
+ "type": "string",
+ "description": "The cloud role ARN in AWS for this feature"
+ }
+ }
+ },
+ "databasesDspm": {
+ "type": "object",
+ "description": "The databases DSPM configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is databases DSPM protection enabled"
+ },
+ "cloudRoleArn": {
+ "type": "string",
+ "description": "The cloud role ARN in AWS for this feature"
+ }
+ }
+ },
+ "ciem": {
+ "type": "object",
+ "description": "Defenders CSPM Cloud infrastructure entitlement management (CIEM) offering configurations",
+ "properties": {
+ "ciemDiscovery": {
+ "type": "object",
+ "description": "Defender CSPM CIEM discovery configuration",
+ "properties": {
+ "cloudRoleArn": {
+ "type": "string",
+ "description": "The cloud role ARN in AWS for CIEM discovery"
+ }
+ }
+ },
+ "ciemOidc": {
+ "type": "object",
+ "description": "Defender CSPM CIEM AWS OIDC (open id connect) configuration",
+ "properties": {
+ "cloudRoleArn": {
+ "type": "string",
+ "description": "The cloud role ARN in AWS for CIEM oidc connection"
+ },
+ "azureActiveDirectoryAppName": {
+ "type": "string",
+ "description": "the azure active directory app name used of authenticating against AWS"
+ }
+ }
+ }
+ }
+ },
+ "mdcContainersImageAssessment": {
+ "type": "object",
+ "description": "The Microsoft Defender container image assessment configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is Microsoft Defender container image assessment enabled"
+ },
+ "cloudRoleArn": {
+ "type": "string",
+ "description": "The cloud role ARN in AWS for this feature"
+ }
+ }
+ },
+ "mdcContainersAgentlessDiscoveryK8s": {
+ "type": "object",
+ "description": "The Microsoft Defender container agentless discovery K8s configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is Microsoft Defender container agentless discovery K8s enabled"
+ },
+ "cloudRoleArn": {
+ "type": "string",
+ "description": "The cloud role ARN in AWS for this feature"
+ }
+ }
+ }
+ }
+ },
+ "defenderCspmGcpOffering": {
+ "type": "object",
+ "description": "The CSPM P1 for GCP offering",
+ "x-ms-discriminator-value": "DefenderCspmGcp",
+ "allOf": [
+ {
+ "$ref": "#/definitions/cloudOffering"
+ }
+ ],
+ "properties": {
+ "ciemDiscovery": {
+ "type": "object",
+ "description": "GCP Defenders CSPM Cloud infrastructure entitlement management (CIEM) discovery offering configurations",
+ "properties": {
+ "workloadIdentityProviderId": {
+ "type": "string",
+ "description": "The GCP workload identity provider id for CIEM discovery offering"
+ },
+ "serviceAccountEmailAddress": {
+ "type": "string",
+ "description": "The service account email address in GCP for CIEM discovery offering"
+ },
+ "azureActiveDirectoryAppName": {
+ "type": "string",
+ "description": "the azure active directory app name used of authenticating against GCP workload identity federation"
+ }
+ }
+ },
+ "vmScanners": {
+ "type": "object",
+ "description": "The Microsoft Defender for Server VM scanning configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is Microsoft Defender for Server VM scanning enabled"
+ },
+ "configuration": {
+ "type": "object",
+ "description": "configuration for Microsoft Defender for Server VM scanning",
+ "properties": {
+ "scanningMode": {
+ "type": "string",
+ "description": "The scanning mode for the VM scan.",
+ "enum": [
+ "Default"
+ ],
+ "x-ms-enum": {
+ "name": "scanningMode",
+ "modelAsString": true
+ }
+ },
+ "exclusionTags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "VM tags that indicates that VM should not be scanned"
+ }
+ }
+ }
+ }
+ },
+ "dataSensitivityDiscovery": {
+ "type": "object",
+ "description": "The Microsoft Defender Data Sensitivity discovery configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is Microsoft Defender Data Sensitivity discovery enabled"
+ },
+ "workloadIdentityProviderId": {
+ "type": "string",
+ "description": "The workload identity provider id in GCP for this feature"
+ },
+ "serviceAccountEmailAddress": {
+ "type": "string",
+ "description": "The service account email address in GCP for this feature"
+ }
+ }
+ },
+ "mdcContainersImageAssessment": {
+ "type": "object",
+ "description": "The Microsoft Defender Container image assessment configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is Microsoft Defender container image assessment enabled"
+ },
+ "workloadIdentityProviderId": {
+ "type": "string",
+ "description": "The workload identity provider id in GCP for this feature"
+ },
+ "serviceAccountEmailAddress": {
+ "type": "string",
+ "description": "The service account email address in GCP for this feature"
+ }
+ }
+ },
+ "mdcContainersAgentlessDiscoveryK8s": {
+ "type": "object",
+ "description": "The Microsoft Defender Container agentless discovery configuration",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Is Microsoft Defender container agentless discovery enabled"
+ },
+ "workloadIdentityProviderId": {
+ "type": "string",
+ "description": "The workload identity provider id in GCP for this feature"
+ },
+ "serviceAccountEmailAddress": {
+ "type": "string",
+ "description": "The service account email address in GCP for this feature"
+ }
+ }
+ }
+ }
+ },
+ "defenderForDevOpsGithubOffering": {
+ "type": "object",
+ "description": "The Defender for DevOps for Github offering",
+ "x-ms-discriminator-value": "DefenderForDevOpsGithub",
+ "allOf": [
+ {
+ "$ref": "#/definitions/cloudOffering"
+ }
+ ],
+ "properties": {}
+ },
+ "defenderForDevOpsAzureDevOpsOffering": {
+ "type": "object",
+ "description": "The Defender for DevOps for Azure DevOps offering",
+ "x-ms-discriminator-value": "DefenderForDevOpsAzureDevOps",
+ "allOf": [
+ {
+ "$ref": "#/definitions/cloudOffering"
+ }
+ ],
+ "properties": {}
+ },
+ "cspmMonitorGitLabOffering": {
+ "type": "object",
+ "description": "The CSPM (Cloud security posture management) monitoring for gitlab offering",
+ "x-ms-discriminator-value": "CspmMonitorGitLab",
+ "allOf": [
+ {
+ "$ref": "#/definitions/cloudOffering"
+ }
+ ],
+ "properties": {}
+ },
+ "defenderForDevOpsGitLabOffering": {
+ "type": "object",
+ "description": "The Defender for DevOps for Gitlab offering",
+ "x-ms-discriminator-value": "DefenderForDevOpsGitLab",
+ "allOf": [
+ {
+ "$ref": "#/definitions/cloudOffering"
+ }
+ ],
+ "properties": {}
+ }
+ },
+ "parameters": {
+ "securityConnectorName": {
+ "name": "securityConnectorName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The security connector name.",
+ "x-ms-parameter-location": "method"
+ },
+ "securityConnectorInBody": {
+ "name": "securityConnector",
+ "in": "body",
+ "required": true,
+ "description": "The security connector resource",
+ "schema": {
+ "$ref": "#/definitions/SecurityConnector"
+ },
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/security/resource-manager/readme.md b/specification/security/resource-manager/readme.md
index ef0b9a4f6bfe..f5a80130ad09 100644
--- a/specification/security/resource-manager/readme.md
+++ b/specification/security/resource-manager/readme.md
@@ -86,7 +86,14 @@ These settings apply only when `--tag=package-2023-11-15` is specified on the co
input-file:
- Microsoft.Security/stable/2023-11-15/apiCollections.json
```
+### Tag: package-preview-2023-10
+These settings apply only when `--tag=package-preview-2023-10` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2023-10'
+input-file:
+ - Microsoft.Security/preview/2023-10-01-preview/securityConnectors.json
+```
### Tag: package-preview-2023-09
These settings apply only when `--tag=package-preview-2023-09` is specified on the command line.
@@ -116,6 +123,7 @@ These settings apply only when `--tag=package-preview-2023-05` is specified on t
input-file:
- Microsoft.Security/preview/2023-05-01-preview/healthReports.json
```
+
### Tag: package-preview-2023-03-only
These settings apply only when `--tag=package-preview-2023-03-only` is specified on the command line.
@@ -168,6 +176,7 @@ input-file:
- Microsoft.Security/preview/2023-02-01-preview/healthReports.json
- Microsoft.Security/preview/2023-02-15-preview/sensitivitySettings.json
```
+
### Tag: package-preview-2022-12
These settings apply only when `--tag=package-preview-2022-12` is specified on the command line.
@@ -177,7 +186,6 @@ input-file:
- Microsoft.Security/preview/2022-12-01-preview/defenderForStorageSettings.json
```
-
### Tag: package-preview-2022-11
These settings apply only when `--tag=package-preview-2022-11` is specified on the command line.
@@ -419,12 +427,12 @@ input-file:
- Microsoft.Security/preview/2023-02-01-preview/sqlVulnerabilityAssessmentsScanOperations.json
- Microsoft.Security/preview/2023-02-01-preview/sqlVulnerabilityAssessmentsScanResultsOperations.json
- Microsoft.Security/preview/2023-02-01-preview/sqlVulnerabilityAssessmentsBaselineRuleOperations.json
-- Microsoft.Security/preview/2023-03-01-preview/securityConnectors.json
- Microsoft.Security/preview/2023-01-01-preview/securityOperators.json
- Microsoft.Security/stable/2023-05-01/ServerVulnerabilityAssessmentsSettings.json
- Microsoft.Security/preview/2023-05-01-preview/healthReports.json
- Microsoft.Security/preview/2022-12-01-preview/defenderForStorageSettings.json
- Microsoft.Security/preview/2023-09-01-preview/securityConnectorsDevOps.json
+- Microsoft.Security/preview/2023-10-01-preview/securityConnectors.json
# Autorest suppressions
suppressions:
@@ -926,7 +934,7 @@ override-info:
These settings apply only when `--tag=package-2023-05` is specified on the command line.
-```yaml $(tag) == 'package-2023-05'
+``` yaml $(tag) == 'package-2023-05'
input-file:
- Microsoft.Security/stable/2023-05-01/ServerVulnerabilityAssessmentsSettings.json
```
diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/application.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/application.json
index efb034196642..afd569bad84e 100644
--- a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/application.json
+++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/application.json
@@ -201,6 +201,9 @@
"$ref": "#/parameters/api-version"
}
],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
"x-ms-examples": {
"Get a list of application type name resources": {
"$ref": "./examples/ApplicationTypeNameListOperation_example.json"
@@ -402,6 +405,9 @@
"$ref": "#/parameters/api-version"
}
],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
"x-ms-examples": {
"Get a list of application type version resources": {
"$ref": "./examples/ApplicationTypeVersionListOperation_example.json"
@@ -652,6 +658,9 @@
"$ref": "#/parameters/api-version"
}
],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
"x-ms-examples": {
"Get a list of application resources": {
"$ref": "./examples/ApplicationListOperation_example.json"
@@ -914,6 +923,9 @@
"$ref": "#/parameters/api-version"
}
],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
"x-ms-examples": {
"Get a list of service resources": {
"$ref": "./examples/ServiceListOperation_example.json"
diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/cluster.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/cluster.json
index ccc4dd40b5fb..40a532299b15 100644
--- a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/cluster.json
+++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/stable/2021-06-01/cluster.json
@@ -256,6 +256,9 @@
"tags": [
"Cluster"
],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
"x-ms-examples": {
"List cluster by resource group": {
"$ref": "./examples/ClusterListByResourceGroupOperation_example.json"
@@ -293,6 +296,9 @@
"tags": [
"Cluster"
],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
"x-ms-examples": {
"List clusters": {
"$ref": "./examples/ClusterListOperation_example.json"
diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/AssociationDelete.json b/specification/servicenetworking/ServiceNetworking.Management/examples/AssociationDelete.json
index 9aa802867a3f..8312f438ad35 100644
--- a/specification/servicenetworking/ServiceNetworking.Management/examples/AssociationDelete.json
+++ b/specification/servicenetworking/ServiceNetworking.Management/examples/AssociationDelete.json
@@ -2,7 +2,7 @@
"title": "Delete Association",
"operationId": "AssociationsInterface_Delete",
"parameters": {
- "api-version": "2023-05-01-preview",
+ "api-version": "2023-11-01",
"subscriptionId": "subid",
"resourceGroupName": "rg1",
"trafficControllerName": "tc1",
diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/AssociationGet.json b/specification/servicenetworking/ServiceNetworking.Management/examples/AssociationGet.json
index bec08807231b..f67a82d39724 100644
--- a/specification/servicenetworking/ServiceNetworking.Management/examples/AssociationGet.json
+++ b/specification/servicenetworking/ServiceNetworking.Management/examples/AssociationGet.json
@@ -2,7 +2,7 @@
"title": "Get Association",
"operationId": "AssociationsInterface_Get",
"parameters": {
- "api-version": "2023-05-01-preview",
+ "api-version": "2023-11-01",
"subscriptionId": "subid",
"resourceGroupName": "rg1",
"trafficControllerName": "tc1",
diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/AssociationPatch.json b/specification/servicenetworking/ServiceNetworking.Management/examples/AssociationPatch.json
index 4279813b0c5d..d6cbba4578cb 100644
--- a/specification/servicenetworking/ServiceNetworking.Management/examples/AssociationPatch.json
+++ b/specification/servicenetworking/ServiceNetworking.Management/examples/AssociationPatch.json
@@ -2,7 +2,7 @@
"title": "Update Association",
"operationId": "AssociationsInterface_Update",
"parameters": {
- "api-version": "2023-05-01-preview",
+ "api-version": "2023-11-01",
"subscriptionId": "subid",
"resourceGroupName": "rg1",
"trafficControllerName": "tc1",
diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/AssociationPut.json b/specification/servicenetworking/ServiceNetworking.Management/examples/AssociationPut.json
index 0b6879d2dcc8..3f9776f48c9b 100644
--- a/specification/servicenetworking/ServiceNetworking.Management/examples/AssociationPut.json
+++ b/specification/servicenetworking/ServiceNetworking.Management/examples/AssociationPut.json
@@ -2,7 +2,7 @@
"title": "Put Association",
"operationId": "AssociationsInterface_CreateOrUpdate",
"parameters": {
- "api-version": "2023-05-01-preview",
+ "api-version": "2023-11-01",
"subscriptionId": "subid",
"resourceGroupName": "rg1",
"trafficControllerName": "tc1",
diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/AssociationsGet.json b/specification/servicenetworking/ServiceNetworking.Management/examples/AssociationsGet.json
index 34216f1bdd28..0ce9360d8eea 100644
--- a/specification/servicenetworking/ServiceNetworking.Management/examples/AssociationsGet.json
+++ b/specification/servicenetworking/ServiceNetworking.Management/examples/AssociationsGet.json
@@ -2,7 +2,7 @@
"title": "Get Associations",
"operationId": "AssociationsInterface_ListByTrafficController",
"parameters": {
- "api-version": "2023-05-01-preview",
+ "api-version": "2023-11-01",
"subscriptionId": "subid",
"resourceGroupName": "rg1",
"trafficControllerName": "tc1"
diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/FrontendDelete.json b/specification/servicenetworking/ServiceNetworking.Management/examples/FrontendDelete.json
index 213bc478ac1b..16d61ab94ec1 100644
--- a/specification/servicenetworking/ServiceNetworking.Management/examples/FrontendDelete.json
+++ b/specification/servicenetworking/ServiceNetworking.Management/examples/FrontendDelete.json
@@ -2,7 +2,7 @@
"title": "Delete Frontend",
"operationId": "FrontendsInterface_Delete",
"parameters": {
- "api-version": "2023-05-01-preview",
+ "api-version": "2023-11-01",
"subscriptionId": "subid",
"resourceGroupName": "rg1",
"trafficControllerName": "tc1",
diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/FrontendGet.json b/specification/servicenetworking/ServiceNetworking.Management/examples/FrontendGet.json
index 24851d868291..89c63abe81dd 100644
--- a/specification/servicenetworking/ServiceNetworking.Management/examples/FrontendGet.json
+++ b/specification/servicenetworking/ServiceNetworking.Management/examples/FrontendGet.json
@@ -2,7 +2,7 @@
"title": "Get Frontend",
"operationId": "FrontendsInterface_Get",
"parameters": {
- "api-version": "2023-05-01-preview",
+ "api-version": "2023-11-01",
"subscriptionId": "subid",
"resourceGroupName": "rg1",
"trafficControllerName": "tc1",
diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/FrontendPatch.json b/specification/servicenetworking/ServiceNetworking.Management/examples/FrontendPatch.json
index 60653be79c5a..251cf906d1f7 100644
--- a/specification/servicenetworking/ServiceNetworking.Management/examples/FrontendPatch.json
+++ b/specification/servicenetworking/ServiceNetworking.Management/examples/FrontendPatch.json
@@ -2,7 +2,7 @@
"title": "Update Frontend",
"operationId": "FrontendsInterface_Update",
"parameters": {
- "api-version": "2023-05-01-preview",
+ "api-version": "2023-11-01",
"subscriptionId": "subid",
"resourceGroupName": "rg1",
"trafficControllerName": "tc1",
diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/FrontendPut.json b/specification/servicenetworking/ServiceNetworking.Management/examples/FrontendPut.json
index 92fb63c73884..d56c9b449952 100644
--- a/specification/servicenetworking/ServiceNetworking.Management/examples/FrontendPut.json
+++ b/specification/servicenetworking/ServiceNetworking.Management/examples/FrontendPut.json
@@ -2,7 +2,7 @@
"title": "Put Frontend",
"operationId": "FrontendsInterface_CreateOrUpdate",
"parameters": {
- "api-version": "2023-05-01-preview",
+ "api-version": "2023-11-01",
"subscriptionId": "subid",
"resourceGroupName": "rg1",
"trafficControllerName": "tc1",
diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/FrontendsGet.json b/specification/servicenetworking/ServiceNetworking.Management/examples/FrontendsGet.json
index 2fcdb0f7f166..08dbeb11007a 100644
--- a/specification/servicenetworking/ServiceNetworking.Management/examples/FrontendsGet.json
+++ b/specification/servicenetworking/ServiceNetworking.Management/examples/FrontendsGet.json
@@ -2,7 +2,7 @@
"title": "Get Frontends",
"operationId": "FrontendsInterface_ListByTrafficController",
"parameters": {
- "api-version": "2023-05-01-preview",
+ "api-version": "2023-11-01",
"subscriptionId": "subid",
"resourceGroupName": "rg1",
"trafficControllerName": "tc1"
diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/OperationsList.json b/specification/servicenetworking/ServiceNetworking.Management/examples/OperationsList.json
index ae78237331ab..89f43a23b602 100644
--- a/specification/servicenetworking/ServiceNetworking.Management/examples/OperationsList.json
+++ b/specification/servicenetworking/ServiceNetworking.Management/examples/OperationsList.json
@@ -2,7 +2,7 @@
"title": "Get Operations List",
"operationId": "Operations_List",
"parameters": {
- "api-version": "2023-05-01-preview"
+ "api-version": "2023-11-01"
},
"responses": {
"200": {
diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllerDelete.json b/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllerDelete.json
index 93471e93c64d..add4d98ca164 100644
--- a/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllerDelete.json
+++ b/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllerDelete.json
@@ -2,7 +2,7 @@
"title": "Delete Traffic Controller",
"operationId": "TrafficControllerInterface_Delete",
"parameters": {
- "api-version": "2023-05-01-preview",
+ "api-version": "2023-11-01",
"subscriptionId": "subid",
"resourceGroupName": "rg1",
"trafficControllerName": "tc1"
diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllerGet.json b/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllerGet.json
index e0aa98194210..25ec6b5db8c0 100644
--- a/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllerGet.json
+++ b/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllerGet.json
@@ -2,7 +2,7 @@
"operationId": "TrafficControllerInterface_Get",
"title": "Get Traffic Controller",
"parameters": {
- "api-version": "2023-05-01-preview",
+ "api-version": "2023-11-01",
"subscriptionId": "subid",
"resourceGroupName": "rg1",
"trafficControllerName": "tc1"
diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllerPatch.json b/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllerPatch.json
index f6687c01f6af..2dba4c176ac4 100644
--- a/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllerPatch.json
+++ b/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllerPatch.json
@@ -2,7 +2,7 @@
"operationId": "TrafficControllerInterface_Update",
"title": "Patch Traffic Controller",
"parameters": {
- "api-version": "2023-05-01-preview",
+ "api-version": "2023-11-01",
"subscriptionId": "subid",
"resourceGroupName": "rg1",
"trafficControllerName": "tc1",
diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllerPut.json b/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllerPut.json
index e22b7a096d44..269c1516ca52 100644
--- a/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllerPut.json
+++ b/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllerPut.json
@@ -2,7 +2,7 @@
"operationId": "TrafficControllerInterface_CreateOrUpdate",
"title": "Put Traffic Controller",
"parameters": {
- "api-version": "2023-05-01-preview",
+ "api-version": "2023-11-01",
"subscriptionId": "subid",
"resourceGroupName": "rg1",
"trafficControllerName": "tc1",
diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllersGet.json b/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllersGet.json
index cb92b349fe9f..5639436de0cd 100644
--- a/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllersGet.json
+++ b/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllersGet.json
@@ -2,7 +2,7 @@
"operationId": "TrafficControllerInterface_ListByResourceGroup",
"title": "Get Traffic Controllers",
"parameters": {
- "api-version": "2023-05-01-preview",
+ "api-version": "2023-11-01",
"subscriptionId": "subid",
"resourceGroupName": "rg1"
},
diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllersGetList.json b/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllersGetList.json
index bb9b767ed59d..eba2c88502fd 100644
--- a/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllersGetList.json
+++ b/specification/servicenetworking/ServiceNetworking.Management/examples/TrafficControllersGetList.json
@@ -2,7 +2,7 @@
"operationId": "TrafficControllerInterface_ListBySubscription",
"title": "Get Traffic Controllers List",
"parameters": {
- "api-version": "2023-05-01-preview",
+ "api-version": "2023-11-01",
"subscriptionId": "subid"
},
"responses": {
diff --git a/specification/servicenetworking/ServiceNetworking.Management/main.tsp b/specification/servicenetworking/ServiceNetworking.Management/main.tsp
index 63bcfb073153..15b4c3b5c564 100644
--- a/specification/servicenetworking/ServiceNetworking.Management/main.tsp
+++ b/specification/servicenetworking/ServiceNetworking.Management/main.tsp
@@ -8,7 +8,7 @@ import "@azure-tools/typespec-azure-resource-manager";
@armProviderNamespace
@service({
title: "TrafficController",
- version: "2023-05-01-preview",
+ version: "2023-11-01",
})
@doc("Traffic Controller Provider management API.")
@useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1)
diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/TrafficController.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/TrafficController.json
new file mode 100644
index 000000000000..7d609af89916
--- /dev/null
+++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/TrafficController.json
@@ -0,0 +1,1361 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "TrafficController",
+ "version": "2023-11-01",
+ "description": "Traffic Controller Provider management API.",
+ "x-typespec-generated": [
+ {
+ "emitter": "@azure-tools/typespec-autorest"
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "host": "management.azure.com",
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "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"
+ }
+ }
+ },
+ "tags": [
+ {
+ "name": "AssociationsInterface"
+ },
+ {
+ "name": "FrontendsInterface"
+ },
+ {
+ "name": "TrafficControllerInterface"
+ },
+ {
+ "name": "Operations"
+ }
+ ],
+ "paths": {
+ "/providers/Microsoft.ServiceNetworking/operations": {
+ "get": {
+ "operationId": "Operations_List",
+ "tags": [
+ "Operations"
+ ],
+ "description": "List the operations for the provider",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Operations List": {
+ "$ref": "./examples/OperationsList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceNetworking/trafficControllers": {
+ "get": {
+ "operationId": "TrafficControllerInterface_ListBySubscription",
+ "tags": [
+ "TrafficControllerInterface"
+ ],
+ "description": "List TrafficController resources by subscription ID",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/TrafficControllerListResult"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Traffic Controllers List": {
+ "$ref": "./examples/TrafficControllersGetList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers": {
+ "get": {
+ "operationId": "TrafficControllerInterface_ListByResourceGroup",
+ "tags": [
+ "TrafficControllerInterface"
+ ],
+ "description": "List TrafficController resources by resource group",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/TrafficControllerListResult"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Traffic Controllers": {
+ "$ref": "./examples/TrafficControllersGet.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}": {
+ "get": {
+ "operationId": "TrafficControllerInterface_Get",
+ "tags": [
+ "TrafficControllerInterface"
+ ],
+ "description": "Get a TrafficController",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "trafficControllerName",
+ "in": "path",
+ "description": "traffic controller name for path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/TrafficController"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Traffic Controller": {
+ "$ref": "./examples/TrafficControllerGet.json"
+ }
+ }
+ },
+ "put": {
+ "operationId": "TrafficControllerInterface_CreateOrUpdate",
+ "tags": [
+ "TrafficControllerInterface"
+ ],
+ "description": "Create a TrafficController",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "trafficControllerName",
+ "in": "path",
+ "description": "traffic controller name for path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$"
+ },
+ {
+ "name": "resource",
+ "in": "body",
+ "description": "Resource create parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TrafficController"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resource 'TrafficController' update operation succeeded",
+ "schema": {
+ "$ref": "#/definitions/TrafficController"
+ }
+ },
+ "201": {
+ "description": "Resource 'TrafficController' create operation succeeded",
+ "schema": {
+ "$ref": "#/definitions/TrafficController"
+ },
+ "headers": {
+ "Retry-After": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
+ }
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Put Traffic Controller": {
+ "$ref": "./examples/TrafficControllerPut.json"
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "operationId": "TrafficControllerInterface_Update",
+ "tags": [
+ "TrafficControllerInterface"
+ ],
+ "description": "Update a TrafficController",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "trafficControllerName",
+ "in": "path",
+ "description": "traffic controller name for path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$"
+ },
+ {
+ "name": "properties",
+ "in": "body",
+ "description": "The resource properties to be updated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TrafficControllerUpdate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/TrafficController"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Patch Traffic Controller": {
+ "$ref": "./examples/TrafficControllerPatch.json"
+ }
+ }
+ },
+ "delete": {
+ "operationId": "TrafficControllerInterface_Delete",
+ "tags": [
+ "TrafficControllerInterface"
+ ],
+ "description": "Delete a TrafficController",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "trafficControllerName",
+ "in": "path",
+ "description": "traffic controller name for path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resource deleted successfully."
+ },
+ "202": {
+ "description": "Resource deletion accepted.",
+ "headers": {
+ "Retry-After": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
+ },
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ }
+ }
+ },
+ "204": {
+ "description": "Resource deleted successfully."
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Traffic Controller": {
+ "$ref": "./examples/TrafficControllerDelete.json"
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/associations": {
+ "get": {
+ "operationId": "AssociationsInterface_ListByTrafficController",
+ "tags": [
+ "AssociationsInterface"
+ ],
+ "description": "List Association resources by TrafficController",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "trafficControllerName",
+ "in": "path",
+ "description": "traffic controller name for path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/AssociationListResult"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Associations": {
+ "$ref": "./examples/AssociationsGet.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/associations/{associationName}": {
+ "get": {
+ "operationId": "AssociationsInterface_Get",
+ "tags": [
+ "AssociationsInterface"
+ ],
+ "description": "Get a Association",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "trafficControllerName",
+ "in": "path",
+ "description": "traffic controller name for path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$"
+ },
+ {
+ "name": "associationName",
+ "in": "path",
+ "description": "Name of Association",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/Association"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Association": {
+ "$ref": "./examples/AssociationGet.json"
+ }
+ }
+ },
+ "put": {
+ "operationId": "AssociationsInterface_CreateOrUpdate",
+ "tags": [
+ "AssociationsInterface"
+ ],
+ "description": "Create a Association",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "trafficControllerName",
+ "in": "path",
+ "description": "traffic controller name for path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$"
+ },
+ {
+ "name": "associationName",
+ "in": "path",
+ "description": "Name of Association",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$"
+ },
+ {
+ "name": "resource",
+ "in": "body",
+ "description": "Resource create parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Association"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resource 'Association' update operation succeeded",
+ "schema": {
+ "$ref": "#/definitions/Association"
+ }
+ },
+ "201": {
+ "description": "Resource 'Association' create operation succeeded",
+ "schema": {
+ "$ref": "#/definitions/Association"
+ },
+ "headers": {
+ "Retry-After": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
+ }
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Put Association": {
+ "$ref": "./examples/AssociationPut.json"
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "operationId": "AssociationsInterface_Update",
+ "tags": [
+ "AssociationsInterface"
+ ],
+ "description": "Update a Association",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "trafficControllerName",
+ "in": "path",
+ "description": "traffic controller name for path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$"
+ },
+ {
+ "name": "associationName",
+ "in": "path",
+ "description": "Name of Association",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$"
+ },
+ {
+ "name": "properties",
+ "in": "body",
+ "description": "The resource properties to be updated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AssociationUpdate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/Association"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Association": {
+ "$ref": "./examples/AssociationPatch.json"
+ }
+ }
+ },
+ "delete": {
+ "operationId": "AssociationsInterface_Delete",
+ "tags": [
+ "AssociationsInterface"
+ ],
+ "description": "Delete a Association",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "trafficControllerName",
+ "in": "path",
+ "description": "traffic controller name for path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$"
+ },
+ {
+ "name": "associationName",
+ "in": "path",
+ "description": "Name of Association",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resource deleted successfully."
+ },
+ "202": {
+ "description": "Resource deletion accepted.",
+ "headers": {
+ "Retry-After": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
+ },
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ }
+ }
+ },
+ "204": {
+ "description": "Resource deleted successfully."
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Association": {
+ "$ref": "./examples/AssociationDelete.json"
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/frontends": {
+ "get": {
+ "operationId": "FrontendsInterface_ListByTrafficController",
+ "tags": [
+ "FrontendsInterface"
+ ],
+ "description": "List Frontend resources by TrafficController",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "trafficControllerName",
+ "in": "path",
+ "description": "traffic controller name for path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/FrontendListResult"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Frontends": {
+ "$ref": "./examples/FrontendsGet.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/frontends/{frontendName}": {
+ "get": {
+ "operationId": "FrontendsInterface_Get",
+ "tags": [
+ "FrontendsInterface"
+ ],
+ "description": "Get a Frontend",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "trafficControllerName",
+ "in": "path",
+ "description": "traffic controller name for path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$"
+ },
+ {
+ "name": "frontendName",
+ "in": "path",
+ "description": "Frontends",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/Frontend"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Frontend": {
+ "$ref": "./examples/FrontendGet.json"
+ }
+ }
+ },
+ "put": {
+ "operationId": "FrontendsInterface_CreateOrUpdate",
+ "tags": [
+ "FrontendsInterface"
+ ],
+ "description": "Create a Frontend",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "trafficControllerName",
+ "in": "path",
+ "description": "traffic controller name for path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$"
+ },
+ {
+ "name": "frontendName",
+ "in": "path",
+ "description": "Frontends",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$"
+ },
+ {
+ "name": "resource",
+ "in": "body",
+ "description": "Resource create parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Frontend"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resource 'Frontend' update operation succeeded",
+ "schema": {
+ "$ref": "#/definitions/Frontend"
+ }
+ },
+ "201": {
+ "description": "Resource 'Frontend' create operation succeeded",
+ "schema": {
+ "$ref": "#/definitions/Frontend"
+ },
+ "headers": {
+ "Retry-After": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
+ }
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Put Frontend": {
+ "$ref": "./examples/FrontendPut.json"
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "operationId": "FrontendsInterface_Update",
+ "tags": [
+ "FrontendsInterface"
+ ],
+ "description": "Update a Frontend",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "trafficControllerName",
+ "in": "path",
+ "description": "traffic controller name for path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$"
+ },
+ {
+ "name": "frontendName",
+ "in": "path",
+ "description": "Frontends",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$"
+ },
+ {
+ "name": "properties",
+ "in": "body",
+ "description": "The resource properties to be updated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FrontendUpdate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/Frontend"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Frontend": {
+ "$ref": "./examples/FrontendPatch.json"
+ }
+ }
+ },
+ "delete": {
+ "operationId": "FrontendsInterface_Delete",
+ "tags": [
+ "FrontendsInterface"
+ ],
+ "description": "Delete a Frontend",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "trafficControllerName",
+ "in": "path",
+ "description": "traffic controller name for path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$"
+ },
+ {
+ "name": "frontendName",
+ "in": "path",
+ "description": "Frontends",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resource deleted successfully."
+ },
+ "202": {
+ "description": "Resource deletion accepted.",
+ "headers": {
+ "Retry-After": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
+ },
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ }
+ }
+ },
+ "204": {
+ "description": "Resource deleted successfully."
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Frontend": {
+ "$ref": "./examples/FrontendDelete.json"
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-long-running-operation": true
+ }
+ }
+ },
+ "definitions": {
+ "Association": {
+ "type": "object",
+ "description": "Association Subresource of Traffic Controller",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AssociationProperties",
+ "description": "The resource-specific properties for this resource.",
+ "x-ms-client-flatten": true,
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "AssociationListResult": {
+ "type": "object",
+ "description": "The response of a Association list operation.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "The Association items on this page",
+ "items": {
+ "$ref": "#/definitions/Association"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "format": "uri",
+ "description": "The link to the next page of items"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "AssociationProperties": {
+ "type": "object",
+ "description": "Association Properties.",
+ "properties": {
+ "associationType": {
+ "$ref": "#/definitions/AssociationType",
+ "description": "Association Type"
+ },
+ "subnet": {
+ "$ref": "#/definitions/AssociationSubnet",
+ "description": "Association Subnet"
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState",
+ "description": "Provisioning State of Traffic Controller Association Resource",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "associationType"
+ ]
+ },
+ "AssociationSubnet": {
+ "type": "object",
+ "description": "Association Subnet.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Association ID."
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "AssociationSubnetUpdate": {
+ "type": "object",
+ "description": "Association Subnet.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Association ID."
+ }
+ }
+ },
+ "AssociationType": {
+ "type": "string",
+ "enum": [
+ "subnets"
+ ],
+ "x-ms-enum": {
+ "name": "AssociationType",
+ "modelAsString": true
+ }
+ },
+ "AssociationUpdate": {
+ "type": "object",
+ "description": "The type used for update operations of the Association.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "description": "Resource tags.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "$ref": "#/definitions/AssociationUpdateProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "AssociationUpdateProperties": {
+ "type": "object",
+ "description": "The updatable properties of the Association.",
+ "properties": {
+ "associationType": {
+ "$ref": "#/definitions/AssociationType",
+ "description": "Association Type"
+ },
+ "subnet": {
+ "$ref": "#/definitions/AssociationSubnetUpdate",
+ "description": "Association Subnet"
+ }
+ }
+ },
+ "Frontend": {
+ "type": "object",
+ "description": "Frontend Subresource of Traffic Controller.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FrontendProperties",
+ "description": "The resource-specific properties for this resource.",
+ "x-ms-client-flatten": true,
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "FrontendListResult": {
+ "type": "object",
+ "description": "The response of a Frontend list operation.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "The Frontend items on this page",
+ "items": {
+ "$ref": "#/definitions/Frontend"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "format": "uri",
+ "description": "The link to the next page of items"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "FrontendProperties": {
+ "type": "object",
+ "description": "Frontend Properties.",
+ "properties": {
+ "fqdn": {
+ "type": "string",
+ "description": "The Fully Qualified Domain Name of the DNS record associated to a Traffic Controller frontend.",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState",
+ "description": "Provisioning State of Traffic Controller Frontend Resource",
+ "readOnly": true
+ }
+ }
+ },
+ "FrontendUpdate": {
+ "type": "object",
+ "description": "The type used for update operations of the Frontend.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "description": "Resource tags.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ProvisioningState": {
+ "type": "string",
+ "enum": [
+ "Provisioning",
+ "Updating",
+ "Deleting",
+ "Accepted",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "ResourceId": {
+ "type": "object",
+ "description": "Resource ID definition used by parent to reference child resources.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource ID of child resource."
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "TrafficController": {
+ "type": "object",
+ "description": "Concrete tracked resource types can be created by aliasing this type using a specific property type.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TrafficControllerProperties",
+ "description": "The resource-specific properties for this resource.",
+ "x-ms-client-flatten": true,
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "TrafficControllerListResult": {
+ "type": "object",
+ "description": "The response of a TrafficController list operation.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "The TrafficController items on this page",
+ "items": {
+ "$ref": "#/definitions/TrafficController"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "format": "uri",
+ "description": "The link to the next page of items"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "TrafficControllerProperties": {
+ "type": "object",
+ "description": "Traffic Controller Properties.",
+ "properties": {
+ "configurationEndpoints": {
+ "type": "array",
+ "description": "Configuration Endpoints.",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "frontends": {
+ "type": "array",
+ "description": "Frontends References List",
+ "items": {
+ "$ref": "#/definitions/ResourceId"
+ },
+ "readOnly": true
+ },
+ "associations": {
+ "type": "array",
+ "description": "Associations References List",
+ "items": {
+ "$ref": "#/definitions/ResourceId"
+ },
+ "readOnly": true
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState",
+ "description": "The status of the last operation.",
+ "readOnly": true
+ }
+ }
+ },
+ "TrafficControllerUpdate": {
+ "type": "object",
+ "description": "The type used for update operations of the TrafficController.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "description": "Resource tags.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/AssociationDelete.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/AssociationDelete.json
new file mode 100644
index 000000000000..8312f438ad35
--- /dev/null
+++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/AssociationDelete.json
@@ -0,0 +1,21 @@
+{
+ "title": "Delete Association",
+ "operationId": "AssociationsInterface_Delete",
+ "parameters": {
+ "api-version": "2023-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "trafficControllerName": "tc1",
+ "associationName": "as1"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Retry-After": 3,
+ "location": "https://blobLocation.com"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/AssociationGet.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/AssociationGet.json
new file mode 100644
index 000000000000..f67a82d39724
--- /dev/null
+++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/AssociationGet.json
@@ -0,0 +1,28 @@
+{
+ "title": "Get Association",
+ "operationId": "AssociationsInterface_Get",
+ "parameters": {
+ "api-version": "2023-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "trafficControllerName": "tc1",
+ "associationName": "as1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "as1",
+ "type": "Microsoft.ServiceNetworking/trafficControllers/associations",
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/associations/as1",
+ "location": "NorthCentralUS",
+ "properties": {
+ "associationType": "subnets",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet-tc/subnets/tc-subnet"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/AssociationPatch.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/AssociationPatch.json
new file mode 100644
index 000000000000..d6cbba4578cb
--- /dev/null
+++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/AssociationPatch.json
@@ -0,0 +1,35 @@
+{
+ "title": "Update Association",
+ "operationId": "AssociationsInterface_Update",
+ "parameters": {
+ "api-version": "2023-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "trafficControllerName": "tc1",
+ "associationName": "as1",
+ "properties": {
+ "properties": {
+ "associationType": "subnets",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet-tc/subnets/tc-subnet"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "as1",
+ "type": "Microsoft.ServiceNetworking/trafficControllers/associations",
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/associations/as1",
+ "location": "NorthCentralUS",
+ "properties": {
+ "associationType": "subnets",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet-tc/subnets/tc-subnet"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/AssociationPut.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/AssociationPut.json
new file mode 100644
index 000000000000..3f9776f48c9b
--- /dev/null
+++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/AssociationPut.json
@@ -0,0 +1,51 @@
+{
+ "title": "Put Association",
+ "operationId": "AssociationsInterface_CreateOrUpdate",
+ "parameters": {
+ "api-version": "2023-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "trafficControllerName": "tc1",
+ "associationName": "as1",
+ "resource": {
+ "location": "NorthCentralUS",
+ "properties": {
+ "associationType": "subnets",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet-tc/subnets/tc-subnet"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "associatedvnet-1",
+ "type": "Microsoft.ServiceNetworking/trafficControllers/associations",
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/associations/as1",
+ "location": "NorthCentralUS",
+ "properties": {
+ "associationType": "subnets",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet-tc/subnets/tc-subnet"
+ },
+ "provisioningState": "Accepted"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "associatedvnet-1",
+ "type": "Microsoft.ServiceNetworking/trafficControllers/associations",
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/associations/as1",
+ "location": "NorthCentralUS",
+ "properties": {
+ "associationType": "subnets",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet-tc/subnets/tc-subnet"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/AssociationsGet.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/AssociationsGet.json
new file mode 100644
index 000000000000..0ce9360d8eea
--- /dev/null
+++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/AssociationsGet.json
@@ -0,0 +1,31 @@
+{
+ "title": "Get Associations",
+ "operationId": "AssociationsInterface_ListByTrafficController",
+ "parameters": {
+ "api-version": "2023-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "trafficControllerName": "tc1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "as1",
+ "type": "Microsoft.ServiceNetworking/trafficControllers/associations",
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/associations/as1",
+ "location": "NorthCentralUS",
+ "properties": {
+ "associationType": "subnets",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet-tc/subnets/tc-subnet"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/FrontendDelete.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/FrontendDelete.json
new file mode 100644
index 000000000000..16d61ab94ec1
--- /dev/null
+++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/FrontendDelete.json
@@ -0,0 +1,21 @@
+{
+ "title": "Delete Frontend",
+ "operationId": "FrontendsInterface_Delete",
+ "parameters": {
+ "api-version": "2023-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "trafficControllerName": "tc1",
+ "frontendName": "fe1"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Retry-After": 3,
+ "location": "https://blobLocation.com"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/FrontendGet.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/FrontendGet.json
new file mode 100644
index 000000000000..89c63abe81dd
--- /dev/null
+++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/FrontendGet.json
@@ -0,0 +1,25 @@
+{
+ "title": "Get Frontend",
+ "operationId": "FrontendsInterface_Get",
+ "parameters": {
+ "api-version": "2023-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "trafficControllerName": "tc1",
+ "frontendName": "fe1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "fe1",
+ "location": "NorthCentralUS",
+ "type": "Microsoft.ServiceNetworking/trafficControllers/frontends",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1",
+ "properties": {
+ "fqdn": "test.net",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/FrontendPatch.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/FrontendPatch.json
new file mode 100644
index 000000000000..251cf906d1f7
--- /dev/null
+++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/FrontendPatch.json
@@ -0,0 +1,26 @@
+{
+ "title": "Update Frontend",
+ "operationId": "FrontendsInterface_Update",
+ "parameters": {
+ "api-version": "2023-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "trafficControllerName": "tc1",
+ "frontendName": "fe1",
+ "properties": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "fe1",
+ "location": "NorthCentralUS",
+ "type": "Microsoft.ServiceNetworking/trafficControllers/frontends",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1",
+ "properties": {
+ "fqdn": "test.net",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/FrontendPut.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/FrontendPut.json
new file mode 100644
index 000000000000..d56c9b449952
--- /dev/null
+++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/FrontendPut.json
@@ -0,0 +1,41 @@
+{
+ "title": "Put Frontend",
+ "operationId": "FrontendsInterface_CreateOrUpdate",
+ "parameters": {
+ "api-version": "2023-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "trafficControllerName": "tc1",
+ "frontendName": "fe1",
+ "resource": {
+ "location": "NorthCentralUS",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "fe1",
+ "location": "NorthCentralUS",
+ "type": "Microsoft.ServiceNetworking/trafficControllers/frontends",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1",
+ "properties": {
+ "fqdn": "test.net",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "fe1",
+ "location": "NorthCentralUS",
+ "type": "Microsoft.ServiceNetworking/trafficControllers/frontends",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1",
+ "properties": {
+ "fqdn": "test.net",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/FrontendsGet.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/FrontendsGet.json
new file mode 100644
index 000000000000..08dbeb11007a
--- /dev/null
+++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/FrontendsGet.json
@@ -0,0 +1,28 @@
+{
+ "title": "Get Frontends",
+ "operationId": "FrontendsInterface_ListByTrafficController",
+ "parameters": {
+ "api-version": "2023-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "trafficControllerName": "tc1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "fe1",
+ "location": "NorthCentralUS",
+ "type": "Microsoft.ServiceNetworking/trafficControllers/frontends",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1",
+ "properties": {
+ "fqdn": "test.net",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/OperationsList.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/OperationsList.json
new file mode 100644
index 000000000000..89f43a23b602
--- /dev/null
+++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/OperationsList.json
@@ -0,0 +1,26 @@
+{
+ "title": "Get Operations List",
+ "operationId": "Operations_List",
+ "parameters": {
+ "api-version": "2023-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.ServiceNetworking/trafficControllers/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Service Networking",
+ "resource": "Traffic Controller",
+ "operation": "Get Traffic Controller configuration",
+ "description": "Traffic Controller is a L7 Load Balancing solution for a Multi Cluster setup"
+ },
+ "origin": "user,system"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/TrafficControllerDelete.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/TrafficControllerDelete.json
new file mode 100644
index 000000000000..add4d98ca164
--- /dev/null
+++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/TrafficControllerDelete.json
@@ -0,0 +1,20 @@
+{
+ "title": "Delete Traffic Controller",
+ "operationId": "TrafficControllerInterface_Delete",
+ "parameters": {
+ "api-version": "2023-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "trafficControllerName": "tc1"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Retry-After": 3,
+ "location": "https://blobLocation.com"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/TrafficControllerGet.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/TrafficControllerGet.json
new file mode 100644
index 000000000000..25ec6b5db8c0
--- /dev/null
+++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/TrafficControllerGet.json
@@ -0,0 +1,39 @@
+{
+ "operationId": "TrafficControllerInterface_Get",
+ "title": "Get Traffic Controller",
+ "parameters": {
+ "api-version": "2023-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "trafficControllerName": "tc1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "tc1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1",
+ "type": "Microsoft.ServiceNetworking/trafficControllers",
+ "location": "NorthCentralUS",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "configurationEndpoints": [
+ "abc.trafficcontroller.azure.net"
+ ],
+ "frontends": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1"
+ }
+ ],
+ "associations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/association/as1"
+ }
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/TrafficControllerPatch.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/TrafficControllerPatch.json
new file mode 100644
index 000000000000..2dba4c176ac4
--- /dev/null
+++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/TrafficControllerPatch.json
@@ -0,0 +1,44 @@
+{
+ "operationId": "TrafficControllerInterface_Update",
+ "title": "Patch Traffic Controller",
+ "parameters": {
+ "api-version": "2023-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "trafficControllerName": "tc1",
+ "properties": {
+ "tags": {
+ "key1": "value1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "tc1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1",
+ "type": "Microsoft.ServiceNetworking/trafficControllers",
+ "location": "NorthCentralUS",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "configurationEndpoints": [
+ "abc.trafficcontroller.azure.net"
+ ],
+ "frontends": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1"
+ }
+ ],
+ "associations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/association/as1"
+ }
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/TrafficControllerPut.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/TrafficControllerPut.json
new file mode 100644
index 000000000000..269c1516ca52
--- /dev/null
+++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/TrafficControllerPut.json
@@ -0,0 +1,72 @@
+{
+ "operationId": "TrafficControllerInterface_CreateOrUpdate",
+ "title": "Put Traffic Controller",
+ "parameters": {
+ "api-version": "2023-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "trafficControllerName": "tc1",
+ "resource": {
+ "location": "NorthCentralUS",
+ "tags": {
+ "key1": "value1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "tc1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1",
+ "type": "Microsoft.ServiceNetworking/trafficControllers",
+ "location": "NorthCentralUS",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "configurationEndpoints": [
+ "abc.trafficcontroller.azure.net"
+ ],
+ "frontends": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1"
+ }
+ ],
+ "associations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/association/as1"
+ }
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "tc1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1",
+ "type": "Microsoft.ServiceNetworking/trafficControllers",
+ "location": "NorthCentralUS",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "configurationEndpoints": [
+ "abc.trafficcontroller.azure.net"
+ ],
+ "frontends": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1"
+ }
+ ],
+ "associations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/association/as1"
+ }
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/TrafficControllersGet.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/TrafficControllersGet.json
new file mode 100644
index 000000000000..5639436de0cd
--- /dev/null
+++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/TrafficControllersGet.json
@@ -0,0 +1,42 @@
+{
+ "operationId": "TrafficControllerInterface_ListByResourceGroup",
+ "title": "Get Traffic Controllers",
+ "parameters": {
+ "api-version": "2023-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "tc1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1",
+ "type": "Microsoft.ServiceNetworking/trafficControllers",
+ "location": "NorthCentralUS",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "configurationEndpoints": [
+ "abc.trafficcontroller.azure.net"
+ ],
+ "frontends": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1"
+ }
+ ],
+ "associations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/association/as1"
+ }
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/TrafficControllersGetList.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/TrafficControllersGetList.json
new file mode 100644
index 000000000000..eba2c88502fd
--- /dev/null
+++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/TrafficControllersGetList.json
@@ -0,0 +1,41 @@
+{
+ "operationId": "TrafficControllerInterface_ListBySubscription",
+ "title": "Get Traffic Controllers List",
+ "parameters": {
+ "api-version": "2023-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "tc1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1",
+ "type": "Microsoft.ServiceNetworking/trafficControllers",
+ "location": "NorthCentralUS",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "configurationEndpoints": [
+ "abc.trafficcontroller.azure.net"
+ ],
+ "frontends": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1"
+ }
+ ],
+ "associations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/association/as1"
+ }
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicenetworking/resource-manager/readme.md b/specification/servicenetworking/resource-manager/readme.md
index 1ef67b2f3ffe..91c7575a1f18 100644
--- a/specification/servicenetworking/resource-manager/readme.md
+++ b/specification/servicenetworking/resource-manager/readme.md
@@ -24,10 +24,20 @@ For other options on installation see [Installing AutoRest](https://aka.ms/autor
These are the global settings for the servicenetworking.
-
```yaml
openapi-type: arm
-tag: package-2023-05-01-preview
+tag: package-2023-11-01
+```
+
+### Tag: package-2023-11-01
+
+These settings apply only when `--tag=package-2023-11-01` is specified on the command line.
+
+```yaml $(tag) == 'package-2023-11-01'
+input-file:
+ - Microsoft.ServiceNetworking/stable/2023-11-01/TrafficController.json
+openapi-type: arm
+tag: package-2023-11-01
```
### Tag: package-2023-05-01-preview
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/IPv6FirewallRules.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/IPv6FirewallRules.json
index 01f92c0b0a77..1ecdb136d85a 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/IPv6FirewallRules.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/IPv6FirewallRules.json
@@ -48,7 +48,7 @@
"200": {
"description": "Successfully retrieved the specified IPv6 firewall rule.",
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
},
"default": {
@@ -87,7 +87,7 @@
"description": "The required parameters for creating or updating an IPv6 firewall rule.",
"required": true,
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
},
{
@@ -101,7 +101,7 @@
"200": {
"description": "Successfully updated the IPv6 firewall rule.",
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
},
"default": {
@@ -110,7 +110,7 @@
"201": {
"description": "Successfully created the IPv6 firewall rule.",
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
}
},
@@ -257,7 +257,7 @@
],
"properties": {}
},
- "IPv6 FirewallRule": {
+ "IPv6FirewallRule": {
"description": "An IPv6 server firewall rule.",
"type": "object",
"allOf": [
@@ -281,7 +281,7 @@
"description": "Array of results.",
"type": "array",
"items": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
},
"readOnly": true
},
@@ -299,7 +299,7 @@
"values": {
"type": "array",
"items": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
}
}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/IPv6FirewallRules.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/IPv6FirewallRules.json
index b836d51943bb..5622766ba6d5 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/IPv6FirewallRules.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/IPv6FirewallRules.json
@@ -90,7 +90,7 @@
"200": {
"description": "Successfully retrieved the specified IPv6 firewall rule.",
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
},
"default": {
@@ -129,7 +129,7 @@
"description": "The required parameters for creating or updating an IPv6 firewall rule.",
"required": true,
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
},
{
@@ -143,7 +143,7 @@
"200": {
"description": "Successfully updated the IPv6 firewall rule.",
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
},
"default": {
@@ -152,7 +152,7 @@
"201": {
"description": "Successfully created the IPv6 firewall rule.",
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
}
},
@@ -212,7 +212,7 @@
}
},
"definitions": {
- "IPv6 FirewallRule": {
+ "IPv6FirewallRule": {
"description": "An IPv6 server firewall rule.",
"type": "object",
"allOf": [
@@ -236,7 +236,7 @@
"description": "Array of results.",
"type": "array",
"items": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
},
"readOnly": true
},
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2022-02-01-preview/IPv6FirewallRules.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2022-02-01-preview/IPv6FirewallRules.json
index 9d135976e3b5..7a10df4e66ef 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2022-02-01-preview/IPv6FirewallRules.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2022-02-01-preview/IPv6FirewallRules.json
@@ -90,7 +90,7 @@
"200": {
"description": "Successfully retrieved the specified IPv6 firewall rule.",
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
},
"default": {
@@ -129,7 +129,7 @@
"description": "The required parameters for creating or updating an IPv6 firewall rule.",
"required": true,
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
},
{
@@ -143,7 +143,7 @@
"200": {
"description": "Successfully updated the IPv6 firewall rule.",
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
},
"default": {
@@ -152,7 +152,7 @@
"201": {
"description": "Successfully created the IPv6 firewall rule.",
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
}
},
@@ -212,7 +212,7 @@
}
},
"definitions": {
- "IPv6 FirewallRule": {
+ "IPv6FirewallRule": {
"description": "An IPv6 server firewall rule.",
"type": "object",
"allOf": [
@@ -236,7 +236,7 @@
"description": "Array of results.",
"type": "array",
"items": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
},
"readOnly": true
},
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/IPv6FirewallRules.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/IPv6FirewallRules.json
index dc70b4360256..1d657652da00 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/IPv6FirewallRules.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/IPv6FirewallRules.json
@@ -90,7 +90,7 @@
"200": {
"description": "Successfully retrieved the specified IPv6 firewall rule.",
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
},
"default": {
@@ -129,7 +129,7 @@
"description": "The required parameters for creating or updating an IPv6 firewall rule.",
"required": true,
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
},
{
@@ -143,7 +143,7 @@
"200": {
"description": "Successfully updated the IPv6 firewall rule.",
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
},
"default": {
@@ -152,7 +152,7 @@
"201": {
"description": "Successfully created the IPv6 firewall rule.",
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
}
},
@@ -212,7 +212,7 @@
}
},
"definitions": {
- "IPv6 FirewallRule": {
+ "IPv6FirewallRule": {
"description": "An IPv6 server firewall rule.",
"type": "object",
"allOf": [
@@ -236,7 +236,7 @@
"description": "Array of results.",
"type": "array",
"items": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
},
"readOnly": true
},
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/IPv6FirewallRules.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/IPv6FirewallRules.json
index 528ce866f957..1a8a9b3786b9 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/IPv6FirewallRules.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/IPv6FirewallRules.json
@@ -90,7 +90,7 @@
"200": {
"description": "Successfully retrieved the specified IPv6 firewall rule.",
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
},
"default": {
@@ -129,7 +129,7 @@
"description": "The required parameters for creating or updating an IPv6 firewall rule.",
"required": true,
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
},
{
@@ -143,7 +143,7 @@
"200": {
"description": "Successfully updated the IPv6 firewall rule.",
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
},
"default": {
@@ -152,7 +152,7 @@
"201": {
"description": "Successfully created the IPv6 firewall rule.",
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
}
},
@@ -212,7 +212,7 @@
}
},
"definitions": {
- "IPv6 FirewallRule": {
+ "IPv6FirewallRule": {
"description": "An IPv6 server firewall rule.",
"type": "object",
"allOf": [
@@ -236,7 +236,7 @@
"description": "Array of results.",
"type": "array",
"items": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
},
"readOnly": true
},
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/IPv6FirewallRules.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/IPv6FirewallRules.json
index 92029e93fd7c..4a1d016843b1 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/IPv6FirewallRules.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/IPv6FirewallRules.json
@@ -90,7 +90,7 @@
"200": {
"description": "Successfully retrieved the specified IPv6 firewall rule.",
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
},
"default": {
@@ -129,7 +129,7 @@
"description": "The required parameters for creating or updating an IPv6 firewall rule.",
"required": true,
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
},
{
@@ -143,7 +143,7 @@
"200": {
"description": "Successfully updated the IPv6 firewall rule.",
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
},
"default": {
@@ -152,7 +152,7 @@
"201": {
"description": "Successfully created the IPv6 firewall rule.",
"schema": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
}
}
},
@@ -212,7 +212,7 @@
}
},
"definitions": {
- "IPv6 FirewallRule": {
+ "IPv6FirewallRule": {
"description": "An IPv6 server firewall rule.",
"type": "object",
"allOf": [
@@ -236,7 +236,7 @@
"description": "Array of results.",
"type": "array",
"items": {
- "$ref": "#/definitions/IPv6 FirewallRule"
+ "$ref": "#/definitions/IPv6FirewallRule"
},
"readOnly": true
},
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2023-05-01-preview/BackupShortTermRetentionPolicies.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2023-05-01-preview/BackupShortTermRetentionPolicies.json
new file mode 100644
index 000000000000..c83e6aea1702
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2023-05-01-preview/BackupShortTermRetentionPolicies.json
@@ -0,0 +1,345 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-05-01-preview",
+ "title": "SqlManagementClient",
+ "description": "The Azure SQL Database management API provides a RESTful set of web APIs that interact with Azure SQL Database services to manage your databases. The API enables users to create, retrieve, update, and delete databases, servers, and other entities."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies": {
+ "get": {
+ "tags": [
+ "BackupShortTermRetentionPolicies"
+ ],
+ "description": "Gets a database's short term retention policy.",
+ "operationId": "BackupShortTermRetentionPolicies_ListByDatabase",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the policy.",
+ "schema": {
+ "$ref": "#/definitions/BackupShortTermRetentionPolicyListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 ManagedInstanceStoppingOrStopped - Conflicting operation submitted while instance is in stopping/stopped state\n\n * 400 ManagedInstanceStarting - Conflicting operation submitted while instance is in starting state\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get the short term retention policy for the database.": {
+ "$ref": "./examples/ListShortTermRetentionPoliciesByDatabase.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}": {
+ "get": {
+ "tags": [
+ "BackupShortTermRetentionPolicies"
+ ],
+ "description": "Gets a database's short term retention policy.",
+ "operationId": "BackupShortTermRetentionPolicies_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "The policy name. Should always be \"default\".",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "default"
+ ],
+ "x-ms-enum": {
+ "name": "ShortTermRetentionPolicyName",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the policy.",
+ "schema": {
+ "$ref": "#/definitions/BackupShortTermRetentionPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 ManagedInstanceStoppingOrStopped - Conflicting operation submitted while instance is in stopping/stopped state\n\n * 400 ManagedInstanceStarting - Conflicting operation submitted while instance is in starting state\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found."
+ }
+ },
+ "x-ms-examples": {
+ "Get the short term retention policy for the database.": {
+ "$ref": "./examples/GetShortTermRetentionPolicy.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BackupShortTermRetentionPolicies"
+ ],
+ "description": "Updates a database's short term retention policy.",
+ "operationId": "BackupShortTermRetentionPolicies_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "The policy name. Should always be \"default\".",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "default"
+ ],
+ "x-ms-enum": {
+ "name": "ShortTermRetentionPolicyName",
+ "modelAsString": true
+ }
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The short term retention policy info.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupShortTermRetentionPolicy"
+ }
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the policy.",
+ "schema": {
+ "$ref": "#/definitions/BackupShortTermRetentionPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 ManagedInstanceStoppingOrStopped - Conflicting operation submitted while instance is in stopping/stopped state\n\n * 400 ManagedInstanceStarting - Conflicting operation submitted while instance is in starting state\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidDiffBackupIntervalHours - The differential backup interval hours of {0} is not a valid configuration. Valid differential backup interval must be {1} hours.\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 FeatureIsNotAvailableForServiceTier - {0} is not available for {1} service tier.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout."
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update the short term retention policy for the database.": {
+ "$ref": "./examples/UpdateShortTermRetentionPolicy.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "BackupShortTermRetentionPolicies"
+ ],
+ "description": "Updates a database's short term retention policy.",
+ "operationId": "BackupShortTermRetentionPolicies_Update",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "The policy name. Should always be \"default\".",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "default"
+ ],
+ "x-ms-enum": {
+ "name": "ShortTermRetentionPolicyName",
+ "modelAsString": true
+ }
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The short term retention policy info.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupShortTermRetentionPolicy"
+ }
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the policy.",
+ "schema": {
+ "$ref": "#/definitions/BackupShortTermRetentionPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 ManagedInstanceStoppingOrStopped - Conflicting operation submitted while instance is in stopping/stopped state\n\n * 400 ManagedInstanceStarting - Conflicting operation submitted while instance is in starting state\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidDiffBackupIntervalHours - The differential backup interval hours of {0} is not a valid configuration. Valid differential backup interval must be {1} hours.\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 FeatureIsNotAvailableForServiceTier - {0} is not available for {1} service tier.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout."
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update the short term retention policy for the database.": {
+ "$ref": "./examples/UpdateShortTermRetentionPolicy.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "BackupShortTermRetentionPolicy": {
+ "description": "A short term retention policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupShortTermRetentionPolicyProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "BackupShortTermRetentionPolicyListResult": {
+ "description": "A list of short term retention policies.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BackupShortTermRetentionPolicy"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "BackupShortTermRetentionPolicyProperties": {
+ "description": "Properties of a short term retention policy",
+ "type": "object",
+ "properties": {
+ "retentionDays": {
+ "format": "int32",
+ "description": "The backup retention period in days. This is how many days Point-in-Time Restore will be supported.",
+ "type": "integer"
+ },
+ "diffBackupIntervalInHours": {
+ "format": "int32",
+ "description": "The differential backup interval in hours. This is how many interval hours between each differential backup will be supported. This is only applicable to live databases but not dropped databases.",
+ "enum": [
+ "12",
+ "24"
+ ],
+ "type": "integer",
+ "x-ms-enum": {
+ "name": "DiffBackupIntervalInHours",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "DatabaseNameParameter": {
+ "name": "databaseName",
+ "in": "path",
+ "description": "The name of the database.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ServerNameParameter": {
+ "name": "serverName",
+ "in": "path",
+ "description": "The name of the server.",
+ "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/sql/resource-manager/Microsoft.Sql/preview/2023-05-01-preview/BlobAuditing.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2023-05-01-preview/BlobAuditing.json
new file mode 100644
index 000000000000..d5617158a0b9
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2023-05-01-preview/BlobAuditing.json
@@ -0,0 +1,1087 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2023-05-01-preview",
+ "title": "SqlManagementClient",
+ "description": "The Azure SQL Database management API provides a RESTful set of web APIs that interact with Azure SQL Database services to manage your databases. The API enables users to create, retrieve, update, and delete databases, servers, and other entities."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingSettings": {
+ "get": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Lists auditing settings of a server.",
+ "operationId": "ServerBlobAuditingPolicies_ListByServer",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved server auditing settings.",
+ "schema": {
+ "$ref": "#/definitions/ServerBlobAuditingPolicyListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 ManagedInstanceStoppingOrStopped - Conflicting operation submitted while instance is in stopping/stopped state\n\n * 400 ManagedInstanceStarting - Conflicting operation submitted while instance is in starting state\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List auditing settings of a server": {
+ "$ref": "./examples/ServerAuditingSettingsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingSettings/{blobAuditingPolicyName}": {
+ "get": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Gets a server's blob auditing policy.",
+ "operationId": "ServerBlobAuditingPolicies_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BlobAuditingPolicyNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the server blob auditing policy.",
+ "schema": {
+ "$ref": "#/definitions/ServerBlobAuditingPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 ManagedInstanceStoppingOrStopped - Conflicting operation submitted while instance is in stopping/stopped state\n\n * 400 ManagedInstanceStarting - Conflicting operation submitted while instance is in starting state\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription."
+ }
+ },
+ "x-ms-examples": {
+ "Get a server's blob auditing policy": {
+ "$ref": "./examples/ServerBlobAuditingGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Creates or updates a server's blob auditing policy.",
+ "operationId": "ServerBlobAuditingPolicies_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BlobAuditingPolicyNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Properties of blob auditing policy",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServerBlobAuditingPolicy"
+ }
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the auditing settings.",
+ "schema": {
+ "$ref": "#/definitions/ServerBlobAuditingPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 ManagedInstanceStoppingOrStopped - Conflicting operation submitted while instance is in stopping/stopped state\n\n * 400 ManagedInstanceStarting - Conflicting operation submitted while instance is in starting state\n\n * 400 InvalidServerBlobAuditingPolicyCreateRequest - The create server blob auditing policy request does not exist or has no properties object.\n\n * 400 InvalidBlobAuditActionsAndGroups - Invalid audit actions or action groups.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 BlobAuditingInvalidStorageAccountCredentials - The provided storage account or access key is not valid.\n\n * 400 InvalidBlobAuditActionsAndGroups - Invalid audit actions or action groups.\n\n * 400 BlobAuditingStorageOutboundFirewallNotAllowed - Storage account is not in the list of allowed FQDNs, and, therefore, the outbound firewall rules will block the request.\n\n * 400 BlobAuditingNetworkSecurityPerimeterNotAllowed - Network Security Perimeter blocked outbound request to Storage Account\n\n * 400 InsufficientDiskSpaceForAuditing - Insufficient disk space to save auditing metadata in the database\n\n * 400 InvalidBlobAuditActions - Invalid audit action\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 ServerBlobAuditingPolicyInProgress - Set server blob auditing is already in progress.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources."
+ },
+ "202": {
+ "description": "Updating the auditing settings is in progress."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a server's blob auditing policy with minimal parameters": {
+ "$ref": "./examples/ServerBlobAuditingCreateMin.json"
+ },
+ "Update a server's blob auditing policy with all parameters": {
+ "$ref": "./examples/ServerBlobAuditingCreateMax.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings": {
+ "get": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Lists auditing settings of a database.",
+ "operationId": "DatabaseBlobAuditingPolicies_ListByDatabase",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved database auditing settings.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseBlobAuditingPolicyListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 BlobAuditingIsNotSupportedOnResourceType - Blob Auditing is currently not supported for this resource type.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List audit settings of a database": {
+ "$ref": "./examples/DatabaseAuditingSettingsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/{blobAuditingPolicyName}": {
+ "get": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Gets a database's blob auditing policy.",
+ "operationId": "DatabaseBlobAuditingPolicies_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BlobAuditingPolicyNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the database blob auditing policy.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseBlobAuditingPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 BlobAuditingIsNotSupportedOnResourceType - Blob Auditing is currently not supported for this resource type.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later."
+ }
+ },
+ "x-ms-examples": {
+ "Get a database's blob auditing policy": {
+ "$ref": "./examples/DatabaseBlobAuditingGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Creates or updates a database's blob auditing policy.",
+ "operationId": "DatabaseBlobAuditingPolicies_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BlobAuditingPolicyNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The database blob auditing policy.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabaseBlobAuditingPolicy"
+ }
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully set the database blob auditing policy.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseBlobAuditingPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 BlobAuditingIsNotSupportedOnResourceType - Blob Auditing is currently not supported for this resource type.\n\n * 400 InvalidDatabaseBlobAuditingPolicyCreateRequest - The create database blob auditing policy request does not exist or has no properties object.\n\n * 400 InvalidBlobAuditActionsAndGroups - Invalid audit actions or action groups.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 BlobAuditingInsufficientStorageAccountPermissions - Insufficient read or write permissions on the provided storage account.\n\n * 400 BlobAuditingStorageAccountIsDisabled - The provided storage account is disabled.\n\n * 400 BlobAuditingNoServerIdentity - The server identity is not correctly configured.\n\n * 400 BlobAuditingStorageOutboundFirewallNotAllowed - Storage account is not in the list of allowed FQDNs, and, therefore, the outbound firewall rules will block the request.\n\n * 400 InvalidBlobAuditActionsAndGroupsForDW - Unsupported audit actions or action groups for DW.\n\n * 400 BlobAuditingAdalTokenError - The operation could not get access token for the storage account because an Azure Active Directory error was encountered.\n\n * 400 BlobAuditingInvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 BlobAuditingInvalidStorageAccountCredentials - The provided storage account or access key is not valid.\n\n * 400 BlobAuditingIsNotSupportedOnGeoDr - Blob auditing can be configured on primary databases only.\n\n * 400 InsufficientDiskSpaceForAuditing - Insufficient disk space to save auditing metadata in the database\n\n * 400 InvalidBlobAuditActions - Invalid audit action\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later."
+ },
+ "201": {
+ "description": "Successfully created the database blob auditing policy.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseBlobAuditingPolicy"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a database's blob auditing policy with minimal parameters": {
+ "$ref": "./examples/DatabaseBlobAuditingCreateMin.json"
+ },
+ "Create or update a database's blob auditing policy with all parameters": {
+ "$ref": "./examples/DatabaseBlobAuditingCreateMax.json"
+ },
+ "Create or update a database's azure monitor auditing policy with minimal parameters": {
+ "$ref": "./examples/DatabaseAzureMonitorAuditingCreateMin.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extendedAuditingSettings": {
+ "get": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Lists extended auditing settings of a database.",
+ "operationId": "ExtendedDatabaseBlobAuditingPolicies_ListByDatabase",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the database extended auditing settings.",
+ "schema": {
+ "$ref": "#/definitions/ExtendedDatabaseBlobAuditingPolicyListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 BlobAuditingIsNotSupportedOnResourceType - Blob Auditing is currently not supported for this resource type.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List extended auditing settings of a database": {
+ "$ref": "./examples/DatabaseExtendedAuditingSettingsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extendedAuditingSettings/{blobAuditingPolicyName}": {
+ "get": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Gets an extended database's blob auditing policy.",
+ "operationId": "ExtendedDatabaseBlobAuditingPolicies_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BlobAuditingPolicyNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the extended database blob auditing policy.",
+ "schema": {
+ "$ref": "#/definitions/ExtendedDatabaseBlobAuditingPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 BlobAuditingIsNotSupportedOnResourceType - Blob Auditing is currently not supported for this resource type.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later."
+ }
+ },
+ "x-ms-examples": {
+ "Get an extended database's blob auditing policy": {
+ "$ref": "./examples/ExtendedDatabaseBlobAuditingGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Creates or updates an extended database's blob auditing policy.",
+ "operationId": "ExtendedDatabaseBlobAuditingPolicies_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BlobAuditingPolicyNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The extended database blob auditing policy.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExtendedDatabaseBlobAuditingPolicy"
+ }
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully set the extended database blob auditing policy.",
+ "schema": {
+ "$ref": "#/definitions/ExtendedDatabaseBlobAuditingPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 BlobAuditingIsNotSupportedOnResourceType - Blob Auditing is currently not supported for this resource type.\n\n * 400 BlobAuditingPredicateExpressionSyntaxError - Invalid value of parameter 'predicateExpression'.\n\n * 400 InvalidDatabaseBlobAuditingPolicyCreateRequest - The create database blob auditing policy request does not exist or has no properties object.\n\n * 400 InvalidBlobAuditActionsAndGroups - Invalid audit actions or action groups.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 BlobAuditingPredicateExpressionEmpty - Invalid parameter 'predicateExpression', value can not be empty.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 BlobAuditingInsufficientStorageAccountPermissions - Insufficient read or write permissions on the provided storage account.\n\n * 400 BlobAuditingStorageAccountIsDisabled - The provided storage account is disabled.\n\n * 400 BlobAuditingNoServerIdentity - The server identity is not correctly configured.\n\n * 400 BlobAuditingStorageOutboundFirewallNotAllowed - Storage account is not in the list of allowed FQDNs, and, therefore, the outbound firewall rules will block the request.\n\n * 400 InvalidBlobAuditActionsAndGroupsForDW - Unsupported audit actions or action groups for DW.\n\n * 400 BlobAuditingAdalTokenError - The operation could not get access token for the storage account because an Azure Active Directory error was encountered.\n\n * 400 BlobAuditingInvalidStorageAccountName - The provided storage account is not valid or does not exist.\n\n * 400 BlobAuditingInvalidStorageAccountCredentials - The provided storage account or access key is not valid.\n\n * 400 BlobAuditingIsNotSupportedOnGeoDr - Blob auditing can be configured on primary databases only.\n\n * 400 InsufficientDiskSpaceForAuditing - Insufficient disk space to save auditing metadata in the database\n\n * 400 InvalidBlobAuditActions - Invalid audit action\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later."
+ },
+ "201": {
+ "description": "Successfully created the extended database blob auditing policy.",
+ "schema": {
+ "$ref": "#/definitions/ExtendedDatabaseBlobAuditingPolicy"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update an extended database's blob auditing policy with minimal parameters": {
+ "$ref": "./examples/ExtendedDatabaseBlobAuditingCreateMin.json"
+ },
+ "Create or update an extended database's blob auditing policy with all parameters": {
+ "$ref": "./examples/ExtendedDatabaseBlobAuditingCreateMax.json"
+ },
+ "Create or update an extended database's azure monitor auditing policy with minimal parameters": {
+ "$ref": "./examples/ExtendedDatabaseAzureMonitorAuditingCreateMin.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/extendedAuditingSettings": {
+ "get": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Lists extended auditing settings of a server.",
+ "operationId": "ExtendedServerBlobAuditingPolicies_ListByServer",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved extended server auditing settings.",
+ "schema": {
+ "$ref": "#/definitions/ExtendedServerBlobAuditingPolicyListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 ManagedInstanceStoppingOrStopped - Conflicting operation submitted while instance is in stopping/stopped state\n\n * 400 ManagedInstanceStarting - Conflicting operation submitted while instance is in starting state\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List extended auditing settings of a server": {
+ "$ref": "./examples/ServerExtendedAuditingSettingsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/extendedAuditingSettings/{blobAuditingPolicyName}": {
+ "get": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Gets an extended server's blob auditing policy.",
+ "operationId": "ExtendedServerBlobAuditingPolicies_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BlobAuditingPolicyNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the extended server blob auditing policy.",
+ "schema": {
+ "$ref": "#/definitions/ExtendedServerBlobAuditingPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 ManagedInstanceStoppingOrStopped - Conflicting operation submitted while instance is in stopping/stopped state\n\n * 400 ManagedInstanceStarting - Conflicting operation submitted while instance is in starting state\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription."
+ }
+ },
+ "x-ms-examples": {
+ "Get a server's blob extended auditing policy": {
+ "$ref": "./examples/ExtendedServerBlobAuditingGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BlobAuditing"
+ ],
+ "description": "Creates or updates an extended server's blob auditing policy.",
+ "operationId": "ExtendedServerBlobAuditingPolicies_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BlobAuditingPolicyNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Properties of extended blob auditing policy",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExtendedServerBlobAuditingPolicy"
+ }
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the extended auditing settings.",
+ "schema": {
+ "$ref": "#/definitions/ExtendedServerBlobAuditingPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidServerBlobAuditingPolicyCreateRequest - The create server blob auditing policy request does not exist or has no properties object.\n\n * 400 InvalidBlobAuditActionsAndGroups - Invalid audit actions or action groups.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 BlobAuditingPredicateExpressionEmpty - Invalid parameter 'predicateExpression', value can not be empty.\n\n * 400 ManagedInstanceStoppingOrStopped - Conflicting operation submitted while instance is in stopping/stopped state\n\n * 400 ManagedInstanceStarting - Conflicting operation submitted while instance is in starting state\n\n * 400 BlobAuditingInvalidStorageAccountCredentials - The provided storage account or access key is not valid.\n\n * 400 InvalidBlobAuditActionsAndGroups - Invalid audit actions or action groups.\n\n * 400 BlobAuditingStorageOutboundFirewallNotAllowed - Storage account is not in the list of allowed FQDNs, and, therefore, the outbound firewall rules will block the request.\n\n * 400 BlobAuditingNetworkSecurityPerimeterNotAllowed - Network Security Perimeter blocked outbound request to Storage Account\n\n * 400 InsufficientDiskSpaceForAuditing - Insufficient disk space to save auditing metadata in the database\n\n * 400 InvalidBlobAuditActions - Invalid audit action\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 ServerBlobAuditingPolicyInProgress - Set server blob auditing is already in progress.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources."
+ },
+ "202": {
+ "description": "Updating the extended auditing settings is in progress."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a server's extended blob auditing policy with minimal parameters": {
+ "$ref": "./examples/ExtendedServerBlobAuditingCreateMin.json"
+ },
+ "Update a server's extended blob auditing policy with all parameters": {
+ "$ref": "./examples/ExtendedServerBlobAuditingCreateMax.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DatabaseBlobAuditingPolicy": {
+ "description": "A database blob auditing policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "description": "Resource kind.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/DatabaseBlobAuditingPolicyProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DatabaseBlobAuditingPolicyListResult": {
+ "description": "A list of database auditing settings.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabaseBlobAuditingPolicy"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DatabaseBlobAuditingPolicyProperties": {
+ "description": "Properties of a database blob auditing policy.",
+ "required": [
+ "state"
+ ],
+ "type": "object",
+ "properties": {
+ "retentionDays": {
+ "format": "int32",
+ "description": "Specifies the number of days to keep in the audit logs in the storage account.",
+ "type": "integer"
+ },
+ "auditActionsAndGroups": {
+ "description": "Specifies the Actions-Groups and Actions to audit.\r\n\r\nThe recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins:\r\n\r\nBATCH_COMPLETED_GROUP,\r\nSUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,\r\nFAILED_DATABASE_AUTHENTICATION_GROUP.\r\n\r\nThis above combination is also the set that is configured by default when enabling auditing from the Azure portal.\r\n\r\nThe supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records):\r\n\r\nAPPLICATION_ROLE_CHANGE_PASSWORD_GROUP\r\nBACKUP_RESTORE_GROUP\r\nDATABASE_LOGOUT_GROUP\r\nDATABASE_OBJECT_CHANGE_GROUP\r\nDATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP\r\nDATABASE_OBJECT_PERMISSION_CHANGE_GROUP\r\nDATABASE_OPERATION_GROUP\r\nDATABASE_PERMISSION_CHANGE_GROUP\r\nDATABASE_PRINCIPAL_CHANGE_GROUP\r\nDATABASE_PRINCIPAL_IMPERSONATION_GROUP\r\nDATABASE_ROLE_MEMBER_CHANGE_GROUP\r\nFAILED_DATABASE_AUTHENTICATION_GROUP\r\nSCHEMA_OBJECT_ACCESS_GROUP\r\nSCHEMA_OBJECT_CHANGE_GROUP\r\nSCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP\r\nSCHEMA_OBJECT_PERMISSION_CHANGE_GROUP\r\nSUCCESSFUL_DATABASE_AUTHENTICATION_GROUP\r\nUSER_CHANGE_PASSWORD_GROUP\r\nBATCH_STARTED_GROUP\r\nBATCH_COMPLETED_GROUP\r\nDBCC_GROUP\r\nDATABASE_OWNERSHIP_CHANGE_GROUP\r\nDATABASE_CHANGE_GROUP\r\nLEDGER_OPERATION_GROUP\r\n\r\nThese are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs.\r\n\r\nFor more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups).\r\n\r\nFor Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are:\r\nSELECT\r\nUPDATE\r\nINSERT\r\nDELETE\r\nEXECUTE\r\nRECEIVE\r\nREFERENCES\r\n\r\nThe general form for defining an action to be audited is:\r\n{action} ON {object} BY {principal}\r\n\r\nNote that